
最近因为某些原因Breakwa11已经停更并删除所有ShadowsocksR代码,姑且不论那些“某些原因”,这么优秀的项目消失掉实在太可惜,特别是在破娃新协议auth_chain_b发布不到几小时。破娃删代码后找到网友Fork的代码一份,Fork到了自己的Github里。
而且因为破娃删掉了所有代码,因此以前那些一键包或者教程估计都失效了,也有必要整理一下。
写在前面
代码是我自己fork的,而且不是从Breakwa11的Github,中间不知道转了多少次,所以不保证不被加了什么其他东西,阴谋论,后门论,被迫害妄想患者绕道。
服务端版本
3.4.0 2017-07-27
– add auth_chain_b
– add initmudbjson.sh
– allow set speed limit in runtime
– fix bugs & mem leak
理论上适用Centos6+,Debian7+,Ubuntu12+
服务端配置
本文不涉及防火墙配置,请根据自己的VPS及系统配置防火墙或者彻底关闭
默认安装目录位于/home/
1.1 基本库安装
Centos
yum install -y python-setuptools && easy_install pip
yum install -y git
Debian/Ubuntu
apt-get install -y python-setuptools && easy_install pip
apt-get install -y git
1.2编译Libsodium
Centos
yum -y groupinstall "Development Tools"
wget https://github.com/jedisct1/libsodium/releases/download/1.0.13/libsodium-1.0.13.tar.gz
tar xf libsodium-1.0.13.tar.gz && cd libsodium-1.0.13
./configure && make -j2 && make install
echo /usr/local/lib > /etc/ld.so.conf.d/usr_local_lib.conf
ldconfig
Debian/Ubuntu
apt-get install build-essential
wget https://github.com/jedisct1/libsodium/releases/download/1.0.13/libsodium-1.0.13.tar.gz
tar xf libsodium-1.0.13.tar.gz && cd libsodium-1.0.13
./configure && make -j2 && make install
ldconfig
1.3 获取源码
cd /home/
git clone -b manyuser https://github.com/silentstage/shadowsocksr.git
cd /home/shadowsocksr
bash initcfg.sh
1.4 修改配置
推荐使用mudbjson模式,修改userapiconfig.py中的用户接口和服务器IP
vi /home/shadowsocksr/userapiconfig.py
API_INTERFACE 改为mudbjson
SERVER_PUB_ADDR 改为VPS的IP或者域名
修改完 :wq 保存退出
利用mujson_mgr.py生成连接信息,这里以1080端口为例
python /home/shadowsocksr/mujson_mgr.py -a -p 1080
执行完命令就会自动配置并生成对应的链接,复制进客户端就可以完成配置
当然,这样配置相对简单,也可以通过命令行或者编辑mudb.json来详细配置
编辑mudb.json可以参考从零开始部署FanWa11梯子指南(五)ShadowsocksR进阶:单端口多用户。
使用python mujson_mgr.py可以查看使用说明
例如我们想修改1080端口配置
协议:auth_chain_b
加密:none
混淆:tls1.2_ticket_fastauth
密码:ssr340
那么指令为
python /home/shadowsocksr/mujson_mgr.py -e -p 1080 -k ssr340 -m none -O auth_chain_b -o tls1.2_ticket_fastauth
mudbjson模式允许一个端口多IP连接,好像默认是64用户,现在没官方文档可以查阅。更复杂的配置,需要编辑mudb.json来完成,前文有讲解
1.5 启动SSR
配置完成后,我们就可以启动服务了
默认命令是
python server.py
当然SSR本身提供了后台运行命令
带日志运行
./logrun.sh
不带日志运行
./run.sh
查看日志
./tail.sh
停止服务
./stop.sh
1.6 Supervisor进程守护
这里我更推荐用Supervisor进程守护来启动SSR,前文也有讲解,Centos系统可以参考这篇
从零开始部署FanWa11梯子指南(七)进程守护神器Supervisor
这里我写下Debian/Ubuntu的安装,安装指令
apt-get install -y supervisor
安装好后,配置文件为
/etc/supervisor/supervisord.conf
同时会生成/etc/supervisor/conf.d目录,里面放每个进程的配置文件
默认supervisord.conf文件不需要修改,只需要在conf.d目录里建个单独的SSR进程配置
vi /etc/supervisor/conf.d/ssr.conf
粘贴以下代码并保存退出
[program:SSR]
command=python /home/shadowsocksr/server.py
directory=/home/shadowsocksr
autorestart=true
startsecs=10
startretries=36
redirect_stderr=true
user=root
log_stdout=true
log_stderr=true
logfile=/var/log/SSR.log
重启Supervisor服务
systemctl restart supervisor
或者
service supervisor restart
至此SSR的配置基本完成,我们只需要把之前生成的ssr://链接复制进客户端就可以连接了
客户端
下载地址:
再次申明,下载链接来自我Fork的第三方Github,来源不是破娃Github,请第一时间检查病毒木马之类的
iOS 推荐ShadowRocket,最新TF版火箭已经支持auth_chain_b协议,商店版应该很快。另外Quantumult,Potatso2对SSR支持也不错