本文结论来源于综合网上多篇文章,博主亲自测试,由于之前是记在笔记上的,所以具体来源已不可考,亦无法列出来源,但依然感谢他们!
Shadowsocks 本身提供了多种加密方式,比如 aes-256-cfb、rc4-md5、chacha20 或 salsa20 等,选择一多就会有选择困难,到底哪一个更适合?
增加加密方式的根本原因在于对传输数据的保护,但在当下这个大环境下,没有一种加密能保证绝对安全,就算现在破解不了,十年后,百年后,更久以后呢?这一点大家需要先明确。
在选择加密方式时,有的人喜欢加解密速度快的,但相应加密强度就会有点欠缺;有的人喜欢加密强度高的,同样的相应的加解密速度就会慢一些,下面这个是其他网友实测的速度对比:
aes-128-cfb 0.368462085724s
aes-192-cfb 0.452577829361s
aes-256-cfb 0.418514966965s
cast5-cfb 0.859935045242s
cast5-ofb 0.911785125732s
chacha20 0.429271936417s
rc4 0.154517173767s
rc4-md5 0.169504165649s
salsa20 0.44139790535s
一般比较推荐的是兼顾速度与强度,参照上面数据可知 chacha20 是首选的加密方式,但是系统默认是不支持 chacha20,需要额外安装 libsodium。
博主的服务端环境:Cent OS 6 x86,Shadowsocks-Python。
1、编译并安装libsodium。
下载 libsodium 源码,其官方下载页面是 https://download.libsodium.org/libsodium/releases/,最新版本固定下载链接是 https://download.libsodium.org/libsodium/releases/LATEST.tar.gz,项目主页是 https://github.com/jedisct1/libsodium/ 。
运行以下命令从官方下载:
cd /root
wget https://download.libsodium.org/libsodium/releases/LATEST.tar.gz //下载慢
tar zxf LATEST.tar.gz
编译安装:
cd libsodium-stable/ && \
./configure && \
make && make install
注:若 configure 配置失败,可能是未安装 gcc 编译器。
运行以下命令安装 :
yum install gcc
对于 ubuntu 是 :
apt-get install gcc-multilib make
2、修复动态链接库。
运行命令:
echo /usr/local/lib >> /etc/ld.so.conf.d/usrlib.conf
重新加载 lib 库:
ldconfig
删除编译文件(可选):
cd .. && rm -rf libsodium*
3、修改 Shadowsocks 的配置文件。把加密方式(method)改为 "chacha20" 或着你想要的加密方式,记得客户端的加密方式也要一并改成一样的。
你可能还需要: