很多人都知道安装 libsodium 就能用 Chacha20/Chacha20-ietf 加密方式了,ShadowsocksR得 Wiki 写的也有,但是我网站除了在手动安装ShadowsocksR教程里提到过Debian/Ubuntu的安装步骤以外,其他地方都没有写,所以我把 Github Wiki的 libsodium安装教程给转载过来凑数了。
本教程转载自:https://github.com/breakwa11/shadowsocks-rss/wiki/libsodium
libsodium Github项目:https://github.com/jedisct1/libsodium
libsodium 一键安装脚本:应一些逗比要求 单独写了个 libsodium 一键安装脚本 (Chacha20 / Chacha20-ietf 等)
注意:ShadowsocksR以及其他分支客户端/服务端,欲使用chacha20系列加密方式,只需要服务端 安装libsodium支持库,C#客户端使用这系列加密方式时不需要 安装libsodium支持库,但是Python版客户端(和服务端在一起)则需要安装libsodium支持库!
CentOS 安装步骤
CentOS有两种安装方式:一种是 通过包管理器来安装,但不是最新版本。一种是 通过编译安装。
首先请更新包管理器列表:
yum update
包管理器 安装(非最新版本)
点击展开 查看步骤
yum install epel-release -y
yum install libsodium -y
注意到这里 包管理器方式安装就完毕了,不要继续下面的 源码编译方式 重复安装!
源码编译 安装(推荐)
点击展开 查看步骤
安装 编译所需组件包:
yum -y groupinstall "Development Tools"
获取 libsodium最新版本:
Libsodiumr_ver=$(wget -qO- "https://github.com/jedisct1/libsodium/tags"|grep "/jedisct1/libsodium/releases/tag/"|head -1|sed -r 's/.*tag\/(.+)\">.*/\1/') && echo "${Libsodiumr_ver}"
如果上面的自动获取最新版本代码获取失败(正常情况下应该返回 x.x.xx 格式版本号,如果不是则代表失败),那么请前往 Github 手动查看最新版本,例如 1.0.15
,然后执行 Libsodiumr_ver="1.0.15"
即可继续下面的步骤。
下载最新 libsodium版本编译文件:
wget --no-check-certificate -N "https://github.com/jedisct1/libsodium/releases/download/${Libsodiumr_ver}/libsodium-${Libsodiumr_ver}.tar.gz"
tar -xzf libsodium-${Libsodiumr_ver}.tar.gz && cd libsodium-${Libsodiumr_ver}
./configure --disable-maintainer-mode && make -j2 && make install
echo /usr/local/lib > /etc/ld.so.conf.d/usr_local_lib.conf
ldconfig
编译安装完毕后,就可以删除刚才下载和解压的文件了。
cd .. && rm -rf libsodium-${Libsodiumr_ver}.tar.gz && rm -rf libsodium-${Libsodiumr_ver}
Debian/Ubuntu 安装步骤
Debian/Ubuntu有两种安装方式:一种是 通过包管理器来安装,但不是最新版本。一种是 通过编译安装。
首先请更新包管理器列表:
apt-get update
包管理器 安装(非最新版本)
点击展开 查看步骤
apt-get install libsodium-dev
注意到这里 包管理器方式安装就完毕了,不要继续下面的 源码编译方式 重复安装!
源码编译 安装(推荐)
点击展开 查看步骤
安装 编译所需组件包:
apt-get install -y build-essential
获取 libsodium最新版本:
Libsodiumr_ver=$(wget -qO- "https://github.com/jedisct1/libsodium/tags"|grep "/jedisct1/libsodium/releases/tag/"|head -1|sed -r 's/.*tag\/(.+)\">.*/\1/') && echo "${Libsodiumr_ver}"
如果上面的自动获取最新版本代码获取失败(正常情况下应该返回 x.x.xx 格式版本号,如果不是则代表失败),那么请前往 Github 手动查看最新版本,例如 1.0.15
,然后执行 Libsodiumr_ver="1.0.15"
即可继续下面的步骤。
下载最新 libsodium版本编译文件:
wget --no-check-certificate -N "https://github.com/jedisct1/libsodium/releases/download/${Libsodiumr_ver}/libsodium-${Libsodiumr_ver}.tar.gz"
tar -xzf libsodium-${Libsodiumr_ver}.tar.gz && cd libsodium-${Libsodiumr_ver}
./configure --disable-maintainer-mode && make -j2 && make install
ldconfig
编译安装完毕后,就可以删除刚才下载和解压的文件了。
cd .. && rm -rf libsodium-${Libsodiumr_ver}.tar.gz && rm -rf libsodium-${Libsodiumr_ver}
注意事项
如果要升级libsodium,只需要重复以上安装步骤即可更新到最新版,只有v1.0.4以上版本才支持 Chacha20-ietf 加密方式
Chacha20系列加密方式,并没有什么黑科技、特殊加成,不要迷信这些。
加密方式的速度取决于,加解密时间,而加解密时间取决于设备性能和加密算法复杂程度等等。
而 手机和路由器 等性能不足的设备,使用Chacha20等加密方式可能会稍微快一点,当然如果你不在意加密安全性,只追求速度,那么为什么不用 rc4-md5 呢?
编译安装,内存不足问题
使用编译安装,需要注意的是如果VPS内存过小,可能会导致编译安装内存不足 安装失败,所以如果不是OpenVZ虚拟化构架,那么可以手动添加 虚拟内存 SWAP。
转载请超链接注明:逗比根据地 » ShadowsocksR 安装libsodium 以支持 Chacha20/Chacha20-ietf 加密方式
责任声明:本站一切资源仅用作交流学习,请勿用作商业或违法行为!如造成任何后果,本站概不负责!
目前无法查看版本号。
新加密方式不清楚。
ps -ef
查看是是否存着 apt-get xxxx 的进程在运行(多半是以前安装程序出现了中断情况,导致进程运行假死)。有的话就结束掉进程 kill -9 PID数字(ps -ef 的结果第二列)。"fast_open": false
,把false
改为true
,然后重启ShadowsocksR即可。这条参数主要是针对 基于Linux的比如安卓和路由器设备用的 快速打开TCP。