安装ss5
apt-get install gcc make
下载源码包
1 | wget http://120.52.73.44/jaist.dl.sourceforge.net/project/ss5/ss5/3.8.9-8/ss5-3.8.9-8.tar.gz |
报错:configure: error: *** Some of the headers weren't found ***
安装libpam0g-dev解决: apt-get install libpam0g-dev
make报错:
1 | SS5OpenLdap.c:29:18: fatal error: ldap.h: No such file or directory |
解决:apt-get install libcurl4-openssl-dev
主要问题是官方发布的版本没有for ubuntu的, 所以下载fedora版本, 安装完成后, 再修改一些默认脚本,
使之适应 ubuntu
##ubuntu 下的 ss5 安装 (和附加包 安装):
1, tar -zxvf ss5-3.8.9-1.tar.gz
./configre
发现很多包没有安装, 所以下面挨个安装
1 | sudo apt-get install dpkg-dev |
1 | aptitude search pam | grep dev |
1 | sudo apt-get install openssl |
有可能要先安装apt功能:
1 | sudo apt-get install apt-file |
未出现下述问题 可忽略
./configure
make 发现编译二进制.o 都通过了, 但在最终链接时候报错, 说MD5_xxx 几个函数没有定义.
vi src/Makefile 加入 -lcrypto 库链接
LIBS = -lpthread -rdynamic -ldl -lssl -lcrypto -lldap -lpam -lpam_misc
这时候vfork.h还是没有, 但没有关系,
可以编译和安装ss5了:
1 | ./configure |
备注: Makefile中, 相应的安装路径:
1 | S["trc_path_base"]="/var/log/ss5" |
然后要对ss5的启动脚本进行修正:
因为安装包是for fedora的, 直接安装在unbuntu中, 有两个问题, 要修改:
- 安装的默认启动脚本, 目录不对
- 启动脚本中, 用到了两个fedora平台的启动子脚本, unbuntu里没有, 所以要禁用.
- 对启动脚本做一些其它的小修正
首先
将安装到fedora系统默认目录下的启动脚本, copy 到 unbuntu 默认启动目录里面,cp /etc/rc.d/init.d/ss5 /etc/init.d/ss5
然后
改动成下面脚本,
或者直接copy 或者 upload 我修改过的脚本到/etc/init.d/ss5:
1 |
|
对ss5进行配置:
修改/etc/opt/ss5 目录下的两个文件: ss5.conf and ss5.passwd
修改配置文件:
/etc/opt/ss5/ss5.conf
修改:
auth 0.0.0.0/0 – -
改成:
auth 0.0.0.0/0 – u
修改:
permit – 0.0.0.0/0 – 0.0.0.0/0 – – – – -
改成:
permit u 0.0.0.0/0 – 0.0.0.0/0 – – – – -
修改配置文件 (这一步也可以省略, 我改的启动脚本中已经带这个参数):
/etc/sysconfig/ss5
打开:SS5_OPTS=” -u root”
然后在/etc/opt/ss5/ss5.passwd中, 一行一个用户+密码
1 | cat ss5.passwd` |
最后启动ss5, 可能第一次运行时候, 需要手动建立pid目录:
可能需要修改脚本权限:
ls -la /etc/init.d/
chmod 700 /etc/init.d/ss5
然后启动, 停止下测试:
1 | # /etc/init.d/ss5 start |
再重启下看看:
1 | # /etc/rc.d/init.d/ss5 restart |
没问题了, 你就可以使用服务器的IP, 端口1080, 用户test, 密码123456
来测试你的socks5服务器了, 更多高级应用, 参看ss5.conf, 里面有详细的说明.