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/LATEST.tar.gz
tar zxf LATEST.tar.gz
cd libsodium*
./configure
make && make install
ldconfig
之后更改shadowsocks的加密方式vi /etc/shadowsocks/config.json
把"method"
由"aes-256-cfb"
改为"chacha20"
就可以了。
之后重启shadowsocks/etc/init.d/shadowsocks restart
注意客户端也要相应更改加密方式。