由于在网上搜索了一圈,发现都是使用Python直接安装ShadowSocks服务,但是目前python支持的版本为ShadowSocks 2.8,非常老旧的版本。首先为了安装Python 3.10也花了不少时间,主要是遇到了openssl的问题。所以本文分两个部分:第一部分为安装Python3.10,主要是要说明那个pip报SSL错误的大坑;第二部分为安装shadowsocks-libev。
在CentOS 7.9中安装Python 3.10.10
本来以为可以非常轻松的安装,结果发现还是有大坑。具体使用的命令和步骤如下:
curl https://www.python.org/ftp/python/3.10.10/Python-3.10.10.tgz -o python-3.10.tgz
tar -zxvf python-3.10.tgz
cd Python-3.10.10/
yum -y groupinstall "Development tools"
yum install -y ncurses-devel gdbm-devel xz-devel sqlite-devel tk-devel uuid-devel readline-devel bzip2-devel libffi-devel
yum install -y openssl-devel openssl11 openssl11-devel
# 巨坑在这里,不处理这个问题,后面pip无法安装任何包
sed -i 's/PKG_CONFIG openssl /PKG_CONFIG openssl11 /g' configure
./configure --enable-optimizations
make altinstall
cd /usr/bin/
ln -s /usr/local/bin/python3.10 python3
以上命令执行完毕以后,python3和pip就算是安装成功了。具体大坑参考:Python3 OpenSSL 11
在CentOS 7.9中安装Shadowsocks
在百度搜索中大概率搜到的结构都是使用pip安装shadowsocks。不是不能装,只不过python版本的shadowsocks是旧版本2.8,最新的加密方法都用不了。目前python版本早已不维护了,所以要使用新版本,需要安装shadowsocks-libev。官方页面提供了详细的安装说明。最简单的安装方法是使用snap core安装。以下是所有用过的命令:
# 安装环境,如果使用snap安装可能不需要
export LIBSODIUM_VER=1.0.16
wget https://download.libsodium.org/libsodium/releases/old/libsodium-$LIBSODIUM_VER.tar.gz
tar xvf libsodium-$LIBSODIUM_VER.tar.gz
pushd libsodium-$LIBSODIUM_VER
./configure --prefix=/usr && make
sudo make install
popd
sudo ldconfig
export MBEDTLS_VER=2.6.0
wget https://github.com/Mbed-TLS/mbedtls/archive/refs/tags/mbedtls-$MBEDTLS_VER.tar.gz
tar xvf mbedtls-$MBEDTLS_VER.tar.gz
pushd mbedtls-$MBEDTLS_VER
mv mbedtls-mbedtls-2.6.0 mbedtls-2.6.0 # 这儿有个bug
pushd mbedtls-$MBEDTLS_VER
make SHARED=1 CFLAGS="-O2 -fPIC"
sudo make DESTDIR=/usr install
popd
sudo ldconfig
使用snap安装shadowsocks:
yum install snapd
sudo systemctl enable --now snapd.socket
sudo ln -s /var/lib/snapd/snap /snap
# 这里需要退出重新登录,然后执行
sudo snap install core
启动ShadowSocks
检查发现使用snap安装的ShadowSocks可执行文件比较奇怪,但是后面可以做软链接优化。使用简单的配置文件:
{
"server":"0.0.0.0",
"server_port":33033,
"local_port":1080,
"password":"Cuicuixiang123",
"method":"chacha20-ietf-poly1305"
}
随后执行命令启动服务:
nohup shadowsocks-libev.ss-server -c ss.conf >> ss.log 2>&1 &
相关文章:
ShadowSocks客户端
目前我使用的是Shadowsocks-4.4.1.0。按照自己服务的配置信息进行配置即可。目前没有使用V2Ray插件,如需使用,具体参考网上教程。

扫码联系船长