ShadowsocksR 多用户版安装教程

shadowsocks-rss是一款ss的升级软件,他能够好的突破封锁和QOS限速。 注:建议需配合 ss-panel 等前端使用。 搭建教程参考:Debian 7使用安装配置ss-panel

配置术语说明:

  1. TCP over UDP 打钩则把TCP包以UDP隧道发送,协议还在完善中,需要和相应的服务端配合使用。目前协议的设计是优化下载和看视频(打开网页不见得比原来的TCP好),但如果在封锁UDP严重的地区,效果会比直接使用TCP更差。建议不要过度使用以免IP被盯上。如果服务器不支持,打钩此选项会导致网页无法打开。
  2. UDP over TCP 不打钩即以UDP方式发送UDP包,打钩则把UDP包在TCP里发送。以TCP方式发送UDP包在封锁UDP的网络环境下特别有用,如无此需求就不必打钩。 如果在发送UDP数据失败,可能是服务器不支持。此选项不会影响浏览网页(TCP)
  3. 重连次数 目标服务器连接失败时选择其它服务器再次尝试连接,仅当没有发送接收任何有效数据时进行(即出现密码错误或加密方式错误时可能不能重连)
  4. 超时秒数(TTL) TTL为Time to Live的缩写,表示连接超过多久没有再发送或接收数据时断开(服务端默认值为300),时间单位是秒,较小的值可减少浏览器出现卡顿时的时间,但同时在网络连接不佳时可能会导致部分页面元素或整个页面随机性下载失败。一般网页浏览建议设置为10~30,下载或看视频或SSH时建议直接设置为0或30以上。设置为0表示不使用TTL设置(实际TTL值由服务端及客户端较小的一方控制)。

服务端配置教程:Wiki (含单用户和多用户) ShadowsocksR 多用户版安装教程

以下命令均以root用户执行,或sudo方式执行

基本库安装

centos:

yum install python-setuptools && easy_install pip
yum install git

ubuntu/debian:

apt-get install python-pip
apt-get install git

安装cymysql

建议先更新pip版本:

pip install --upgrade pip

pip install cymysql

获取源代码

git clone -b manyuser https://github.com/shadowsocksr/shadowsocksr.git

执行完毕后此目录会新建一个shadowsocksr目录,其中根目录的是多用户版(即数据库版),子目录中的是单用户版。

根目录即 ./shadowsocksr

子目录即 ./shadowsocksr/shadowsocks 服务端配置

shadowsocksr目录内,把apiconfig.py复制为userapiconfig.py后,对userapiconfig.py里以上内容进行相应修改:

API_INTERFACE = ‘sspanelv2’ //修改接口类型

根据你的数据库类型,需正确选择使用sspanelv2, sspanelv3, sspanelv3ssr之一

然后把mysql.json复制为usermysql.json,并修改里面的内容:

{
    "host": "127.0.0.1",
    "port": 3306,
    "user": "ss",
    "password": "pass",
    "db": "shadowsocks",
    "node_id": 1,
    "transfer_mul": 1.0,
    "ssl_enable": 0,
    "ssl_ca": "",
    "ssl_cert": "",
    "ssl_key": ""
}

以上包括(按次序):数据库服务器地址,端口,数据库登陆用户名,密码,数据库表,节点ID(sspanelv3支持),流量比率,开启mysql的SSL连接等等

要注意sspanelv3必须正确填写node_id才能正常使用,并且在填写该ID前,必须在面板上已经添加好该节点,以确定节点ID后,再在此处填写。

文件config.json复制一份到user-config.json,然后编辑:

"method":"aes-256-cfb",                   //修改成您要的加密方式的名称
"protocol": "auth_sha1_compatible",       //修改成您要的协议插件名称
"obfs": "http_simple_compatible", //修改成您要的混淆插件名称

update:最新的版本当中提供了脚本复制这些文件,可以在目录下使用

bash initcfg.sh

脚本为:

#!/bin/bash

chmod +x *.sh
chmod +x shadowsocks/*.sh
cp -n apiconfig.py userapiconfig.py
cp -n config.json user-config.json
cp -n mysql.json usermysql.json

服务端运行与停止 进入根目录:

cd shadowsocksr

运行:

python server.py

这时可查看有运行情况,检查有没有错误。如果服务端没有错误,而连接不上,需要检查iptables或firewall(centos7)的防火墙配置

通过脚本运行

增加脚本可执行权限

chmod +x *.sh

后台运行(无log,ssh窗口关闭后也继续运行)

./run.sh

后台运行(输出log,ssh窗口关闭后也继续运行)

./logrun.sh

后台运行时查看运行情况

./tail.sh

停止运行

./stop.sh

注:通过脚本运行默认日志会保存在根目录的ssserver.log,可手动查看。

推荐:《ShadowsocksR 注册成服务开机启动》 更新源代码 如果代码有更新可用本命令更新代码

进入shadowsocksr目录

cd shadowsocksr

执行

git pull

成功后重启ss服务

其它异常

如果你的服务端python版本在2.6以下,那么必须更新python到2.6.x或2.7.x版本

如果连接数据库遇到这个错误:Can’t get hostname for your address,请在数据库服务器的 my.cnf 里 mysqld 添加如下设置

skip-name-resolve

然后重启数据库。

其它参见 https://github.com/breakwa11/shadowsocks-rss/wiki/ulimit

Licensed under CC BY-NC-SA 4.0
最后更新于 Apr 25, 2017 16:07 UTC