ss5 官网:http://ss5.sourceforge.net/
下载地址:https://sourceforge.net/projects/ss5/files/
系统环境:
Rocky Linux 8, RHEL 8 等环境
安装编译环境:
dnf install pam-devel openldap-devel openssl-devel
编译安装 ss5
解压缩 ss5-3.8.9-8.tar.gz 后进入目录
./configure
make
RHEL 8 默认编译是失败的,失败提示如下:
SS5Supa.c: In function ‘ss5_secure_dh_compute_key’:
SS5Supa.c:208:5: error: dereferencing pointer to incomplete type ‘DH’ {aka ‘struct dh_st’}
ss->p = BN_bin2bn ((pippo->p), pippo->lenp, NULL);
失败原理和解决方案往下看
失败原因:
ss5 很久没有维护了,而且现在很多操作系统的 openssl 版本过高,需要降级 openssl
以下是正常编译的过程,可以根据自己的需要修改
1.编译安装 openssl 1.0.2
下载地址:https://www.openssl.org/source/old/1.0.2/openssl-1.0.2u.tar.gz
编译安装步骤
./config shared --prefix=/opt/openssl
make
make install
2.编译安装 ss5
原版的ss5 源码在 RHEL8 系统中因为gcc版本的问题会出现 inline 等函数未定义的提示,需要将一些函数的 inline 给删除了,可以根据提示来修改源码
另外这个socks5服务器的 configure 文件是有问题的,默认安装不影响
也可以直接下载我修改好的版本: https://download.csdn.net/download/weixin_43838755/84089371
export CPPFLAGS='-I/opt/openssl/include/'
export LDFLAGS='-L/opt/openssl/lib'
./configure
make
make install
以上就是所有的过程了,应该是全网第一个公开解决ss5编译的解决方案了