标签 shadowsocks 下的文章

ss老是不定时挂掉 写个简单的进程守护

博客搬家进这个之前专门跑shadowsocks的vps后,原来在此VPS上跑得很稳的的shadowsocks老是不定时挂掉,查找日志也找不出什么原因,都是突然进程就被杀了。shadowsocks开启详细日志模式也找不出原因,折腾一段时间实在找不出什么原因导致进程被杀,先把进程被杀这件事解决先,进程被杀原因以后慢慢找。
写了个简单的进程守护脚本,有同样需要的朋友可参考

#!/bin/sh

while true;do
count=`ps -ef|grep ss-server|grep -v grep`
if [ "$?" != "0" ]; then
echo "`date` no ss-server, run it" >> /var/log/ssguardian.log
/etc/init.d/shadowsocks start
else
echo "`date` OK" >> /var/log/ssguardian.log
fi
sleep 10
done

这个脚本的作用是 通过ps命令判断shadowsocks的进程是否存在,不在就重新启动它,存在就不作任何操作。这是个循环操作,执行完之后休眠10秒,再次运行,如此往复。
用nohup命令把它丢在后台运行

nohup sh ssguardian.sh 2>&1 &

运行日志通过以下命令查看

tail -f /var/log/ssguardian.log

ps:此脚本可以把倒数第四第五行注释掉,以免日志增加过快。

为shadowsocks开启chacha20加密

shadowsocks现在主流的加密方式有两种:aes-256-cfb和rc4-md5 前者加密强度高(指的并不是安全性高而是更难被GFW检测出来)但系统开销会更大一点,它是很多一键包默认的加密方式,后者加密解密速度比前者快得多,但安全性不够,虽目前使用还算正常,但已经不能保证通信内容肯定不会被GFW检测出来了。

加密强度高会增加一些额外的系统开销,现在的电脑手机之类的设备性能已经很强了,增加的这个负担在日常使用中基本很难察觉。所以如果你的ss只是在电脑或一些性能较强的手机平板之类设备上使用,我推荐使用aes-256-cfb。

但如果是用在路由器上,因为很多路由器CPU速度都在500MHz以下,性能并不强,使用aes-256-cfb多出来的那点性能开销在路由器上可能会构成一个影响性能的大问题,所以,之前使用在路由器上的加密方式一般都选rc4-md5。

因为在路由器等性能不强的设备上使用aes加密方式会影响性能,使用rc4-md5又加密强度不够,所以人们创造了Salsa20这个加密算法,它比前辈rc加密算法速度更快而加密强度更高,后来,Google又在这个算法的基础上开发了chacha20这个更快加密更强的算法。基本上,它现在算是性能不强的设备使用最佳的算法了。

我在家里的路由器上使用shadowsocks实现了自动翻墙,之前使用的加密算法是rc4-md5,了解到有chacha20这么个逆天的算法后,果断把加密算法改成这个。

服务器上的shadowsocks服务端为go版,自身不带这个算法,需要安装libsodium,让系统支持这个算法。
libsodium官网上的稳定版本已经更新到1.0.10,网上很多教程写的都是1.0.3或1.0.8版本,本着装新不装旧的原则,安装最新版的
系统为debian7 安装命令如下
apt-get install build-essential
wget https://download.libsodium.org/libsodium/releases/libsodium-1.0.10.tar.gz
tar zxvf libsodium-1.0.10.tar.gz
cd libsodium-1.0.10
./configure
make && make install
ldconfig
之后更改shadowsocks的加密方式
vi /etc/shadowsocks/config.json
"method""aes-256-cfb"改为"chacha20"就可以了。
之后重启shadowsocks
/etc/init.d/shadowsocks restart
注意客户端也要相应更改加密方式。

新入手一个便宜的KVM架构VPS Virmach家的7.5刀年付机器

Virmach家上线于2014年,主打低价VPS,两年来口碑还算可以,上了7个数据中心,短期内也看不到跑路的可能。

购买这个机器主要为搭建一个免费ss公共服务器方便大家,顺便测试下其服务器速度怎么样,网上虽有很多评测,但看看就好,还是自己上手才能看出其好不好。| 放一个测速链接--chrome浏览器离线安装包(官方原版 50.8Mb),大家进行下载速度测试,可作为是否购买的参考依据,达400kb/s可流畅观看youtube 720P, 600kb/s以上可看youtube 1080P。

我买的是其10美元/年的128M KVM套餐,用了终身7.5折优惠码WHT25,实付7.5美元,这个价格买到KVM架构的VPS,即使其内存只有128MB,还是很超值的。

购买时没有仔细看,数据中心选择了默认的达拉斯,这是美国中部城市,地理位置摆在那,连接大陆的速度肯定不如更靠近西海岸的凤凰城(Phoenix),测试了下,ping值基本都得250ms以上,这个延迟比起西岸一众VPS200ms以下的延迟,真的不够看。

然后我就发TK要求帮我转移到凤凰城了,其回复很快,一两分钟就回复了(时间23:30,那时应该刚好是美国上班时间),答说要转移可以,要另外付3美元的转移费用。

我之前买过别家,不提DigitaloceanVultrLinode这些高大上的VPS,就是搬瓦工PZEA也提供免费更换数据中心的服务的,这家怎么这么抠?不怎么想付这个钱,于是就回复说我在别家买VPS都提供免费转移服务,怎么你们这个还要收费?我这个vps刚建立,也不需要保留数据,你直接删除这个在Phoenix重建一个,是否还要收费?

果然回复说如果是这样的话,那当然是免费的,请问是否确认删除所有数据并在Phoenix节点重建VPS,我回复YES后,等了十多个小时,总算转移过来了。

就我这段接触来看,其服务还算良好,回复速度也算OK,感觉还不错。

转移到Phoenix之后先看ping值
ping.png
可以看到基本都在220ms以下了,最低接近200ms,比达拉斯有所改善。丢包率10%,测试时是上网晚高峰,这丢包率还可以接受(毕竟不是高价的线路优化的VPS,手里有个走CN2线路的VPS,99元/月,其同期ping值如下图)
ping1.png
延迟和丢包率都好看,速度飞快,不过一个月的价钱够买Virmach128M KVM两年了。

买KVM架构就是为了可以安装锐速以优化连接速度,接下来就是安装锐速了。

锐速是什么?简单的说就是一个网络加速软件,只安装在服务端就能显著提高服务器访问速度,在远距离、丢包率高、网络拥堵的情况,提高访问速度&单线程连接带宽效果特别明显,可谓shadowsocks的最佳搭档!详情请点击下载锐速官方说明文件了解。

锐速官方于几个月前停止了其免费账户的申请,本来其最初曾承诺过20M以下带宽的锐速永久免费,那时网上很难找到破解版锐速,因为很多个人用户用免费版本也满足要求了,有需要的人再买商用版本(提供更高的加速带宽)。现在自食其言,不再提供免费版,导致很多黑客看不过去,纷纷放出破解安装包,以帮其兑现其永久免费的诺言!

这里面安装最简便的应该属91Yun的一键安装包了,只要发行版和内核适配,一条命令就能安装好锐速无限宽带版本。

经测试,Virmach的KVM系统模板Debian7 32bit能直接安装,详细如下图,大家可在购买时选择这个版本。
Debian7.png

VPS开通拿到root帐户信息后,登陆上去,先更改下系统源(其默认有一点问题,把CD源也加进去了,先把这个注释掉)

vi /etc/apt/sources.list #把开头为 deb cdrom: 在其行首加个#注释掉

之后运行apt-get update更新下,会看到如下错误

There is no public key available for the following key IDs: xxxxxxxxxxxxxxxx

可运行如下命令修复

aptitude install debian-keyring debian-archive-keyring

完成之后再运行apt-get update就不会再看到错误了。

系统搞好之后,使用91Yun的一键安装包安装锐速,一行命令就可以了

wget -N --no-check-certificate https://raw.githubusercontent.com/91yun/serverspeeder/master/serverspeeder-all.sh && bash serverspeeder-all.sh

正常安装后你会看到如下信息
test3.jpg
此时锐速已经运行,我要测试下有开锐速和没开锐速的速度会相差多少。先把锐速停止,用如下命令

/serverspeeder/bin/serverSpeeder.sh stop

创建一个100MB的测试下载文件并用python开一个简单http服务器进行下载测速

mkdir ~/test && cd ~/test
dd if=/dev/zero of=100mb.bin count=100 bs=1M
python -m SimpleHTTPServer 8080

本地打开测试器访问VPSIP:8080下载100mb.bin测试看看
test2.jpg
速度基本在30-50kb/s之间波动(博主宽带为电信6M),很慢。
打开锐速

/serverspeeder/bin/serverSpeeder.sh start

再下载测试看看
test1.jpg

速度提高了10倍还不止,测试时家里的电视正在占用宽带,可以认为是跑满带宽了,效果非常明显!

接下来安装shadowsocks,用得是秋水逸冰shadowsocks-go一键包,命令如下

wget --no-check-certificate https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks-go.sh
chmod +x shadowsocks-go.sh
./shadowsocks-go.sh 2>&1 | tee shadowsocks-go.log

ss install success.jpg

Done!这台服务器是用来供大家免费测试用的,现在已经很晚了,博主要睡觉了!等有时间再做一些shadowsocks公共节点必要的限制(防止别有用心的人拿来干坏事!)再共享出来,敬请期待!

昨天安装好之后太晚了,没有测试一下大家都喜闻乐见的Youtube 1080P的表现,今天补上^-^
youtube-1080p-test.png
测试时间10:50,不是上网高峰,结论:无压力,流畅得一B!今天晚高峰时再测试看看。

2016-6-12更新
选在晚高峰时测试了下,家里是6M电信宽带,看1080P还是比较吃力的,需要一定时间进行缓冲才能流畅观看。不过720P是没问题的,基本上即点即看!
test4.jpg
实际分享出去肯定要做一些限制的(限速限连接数&禁止BT),要不肯定没几天就让某些MJJ搞完500G流量,之后大家都没得玩「不高兴脸」

Shadowsock翻墙系列教程 <一> 前言:Shadowsocks的前世今生&来世

因为博主为Google脑残粉,自从几年前Google被墙后日子比较难过,度娘真的是没法满足搜索方面的需求!搜索英文网页用百度的话,出来的结果是灾难性的。

所以博主花了很多精力研究怎么翻过这段横亘在中国网民和世界互联网的高墙--长城防火墙 Great Fire Wall 简称GFW,从最开始的VPN、Tor到GoAgent和Softether,看着这些工具一个个失效,亲眼见证了这段高墙一点一点加高的过程。

党的某位先贤曾有言:人民群众的智慧是无限的!我们在见证着墙加高的同时,墙的筑造者同时也在见证着这句话,这绝对是一个讽刺!

Shadowsocks(缩写ss),中文名“影梭”,一个快速安全的Socks5代理,是在上述工具失效后由国内大神程序员@clowwindy于2013年开发出来的,发布到Github后因为其快速、高效,穿墙稳定而受到欢迎!最初只有Python版并且只有Linux系统能用,因其优点,各路大神为其添砖加瓦,目前已经发展到各主流平台全覆盖(Windows/Linux/Mac OS X/Android/IOS/Openwrt),是目前最好用的翻墙方案。

因其造成的影响太大,clowwindy于2015年8月被警察找上门要求其停止开发Shadowsocks并删除所有已发布的代码。clowwindy别无选择,选择妥协,于其后删除了代码,但因为这个项目是完全开源的,之后就有shadowsocksR 作者 @breakwa11宣布会继续开发新版本,项目并不会因为创始人的离去而中断!

虽然clowwindy已经不再开发维护Shadowsocks,但我们还是要记住clowwindy这个名字!

即使以后shadowsocks被高墙找到有效封杀的办法,我们相信也会有别的工具不断涌现,只要国内还有人对自由的互联网的渴求。

我们最终还是希望这堵高墙能像横亘在东德西德间的那道柏林墙一样轰然倒塌!

博主去年发过一篇博文 目前最好的翻墙方式 && shadowsocks翻墙傻瓜教程,帮助到了一些网友,很高兴!现在再以审视的目光看待它,平心而论,写的还是比较混乱的,又历经了多次更新,现在看起来可读性比较差,在这里挖个坑,博主要写一个系列教程,系统的整理下目前博主掌握的这方面的知识。

知识若不分享,实在没有意义! 博主很赞同这句话,分享知识时要进行系统的整理,学得一些知识和把这些知识分享给别人,是两件完全不同的事,分享知识比学得知识更难,但会巩固你已学得的知识,整理成文字也方便自己日后查找,何乐而不为?
下篇预告:Shadowsock翻墙系列教程 <二> 选择合适自己的境外服务器