Sign inSign up

szyhf/shadowsocks-rss

By szyhf

•Updated about 4 years ago

Python port of Shadowsocks-RSS.

Image
1

1.1K

szyhf/shadowsocks-rss repository overview

⁠ShadowsocksR 服务端安装教程

⁠说明

不建议使用一键脚本安装,除非你自己能维护其功能,否则安装时若出了问题很难查,而且现在有不少不明来历的一键脚本内嵌后门程序。 此教程为单用户版,适合个人用户。如果你是站长,请查看多用户版教程: 数据库多用户教程⁠ json版多用户教程⁠(仅一台服务器适用)

⁠基本库安装

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

centos:

yum install git

ubuntu/debian:

apt-get install git

⁠获取源代码

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

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

根目录即 ./shadowsocksr

子目录即 ./shadowsocksr/shadowsocks

⁠服务端配置

进入根目录初始化配置(假设根目录在~/shadowsocksr,如果不是,命令需要适当调整):

cd ~/shadowsocksr
bash initcfg.sh

以下步骤要进入子目录:

cd ~/shadowsocksr/shadowsocks
⁠快速运行
python server.py -p 443 -k password -m aes-256-cfb -O auth_sha1_v4 -o http_simple

#说明:-p 端口 -k 密码  -m 加密方式 -O 协议插件 -o 混淆插件

如果要后台运行:

python server.py -p 443 -k password -m aes-256-cfb -O auth_sha1_v4 -o http_simple -d start

如果要停止/重启:

python server.py -d stop/restart

查看日志:

tail -f /var/log/shadowsocksr.log

用 -h 查看所有参数

⁠使用配置文件运行

如果你的ss目录是~/shadowsocksr,进入这里 修改user-config.json中的server_port,password等字段,具体可参见: https://github.com/breakwa11/shadowsocks-rss/wiki/config.json⁠

运行子目录内的server.py:

python server.py

如果要在后台运行:

python server.py -d start

如果要停止/重启:

python server.py -d stop/restart

查看日志:

tail -f /var/log/shadowsocksr.log
⁠更新源代码

如果代码有更新可用本命令更新代码

进入shadowsocksr目录 cd shadowsocksr 执行 git pull 成功后重启ssr服务

⁠自启动

System startup script⁠

⁠客户端

注:以下客户端中有: windows客户端和python版客户端,ShadowsocksX-NG(macOS客户端之一), Android客户端,Shadowrocket(iOS客户端之一,iTunes售价$3美元/¥18人民币), 可以使用SSR特性,

其他原版客户端只能以兼容的方式连接SSR服务器(SSR可兼容SS客户端)。

OSX上可使用GoAgentX的SSR插件。在你本地的 PC 或手机上使用图形客户端。具体使用参见它们的使用说明。

也可以直接使用 Python⁠ 版客户端(命令行)。

⁠其它加密支持

安装libsodium⁠即可支持 salsa20, chacha20, chacha20-ietf 加密(暂不支持AEAD⁠)

⁠其它异常

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

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

⁠配置文件各项说明

各选项说明(注意,你应该修改使用initcfg.sh脚本初始化后的user-config.json):

NameExplanation中文说明
serverthe address your server listens监听地址
server_ipv6the ipv6 address your server listensipv6地址
server_portserver port监听端口
local_addressthe address your local listens本地地址
local_portlocal port本地端口
passwordpassword used for encryption密码
timeoutin seconds超时时间
udp_timeoutin secondsUDP链超时时间
udp_cachecache sizeUDP链缓冲区大小
methoddefault: "aes-256-cfb", see Encryption加密方式
protocoldefault:"origin"协议插件,默认"origin"
protocol_paramdefault:""协议插件参数,默认""
obfsdefault:"tls1.2_ticket_auth_compatible"混淆插件,默认"tls1.2_ticket_auth_compatible"
obfs_paramdefault:""混淆插件参数,默认""
redirectdefault:""重定向参数,默认""
dns_ipv6default:false是否优先使用IPv6地址,有IPv6时可开启
fast_openuse TCP_FASTOPEN, true / false快速打开(仅限linux客户端)
workersnumber of workers, available on Unix/Linux线程(仅限linux客户端)
verbosedisplay verbose debug info显示调试信息
connect_verbose_infodisplay connection verbose info显示连接信息
forbidden_ipforbidden IP set for outbound阻止连接到此IP列表
forbidden_portforbidden port set for outbound阻止连接到此端口列表
ignore_bindnot bind the IP set不绑定的IP列表
out_bindforce bind this IPv4 IP强制绑定此IPv4地址
out_bindv6force bind this IPv6 IP强制绑定此IPv6地址
additional_portsadditional ports for multiuser mode多用户模式下配置额外端口
speed_limit_per_conrate limit for each connection单连接限速,单位KB
speed_limit_per_userrate limit for each user单用户限速,单位KB

其中各protocol与obfs介绍参见:混淆插件说明⁠

注:客户端的protocol和obfs配置必须与服务端的一致,除非服务端配置为兼容插件。

redirect参数说明:

值为空字符串或一个列表,若为列表示例如 "redirect":["bing.com", "cloudflare.com:443"], 作用是在连接方的数据不正确的时候,把数据重定向到列表中的其中一个地址和端口(不写端口则视为80),以伪装为目标服务器。

dns_ipv6参数说明:

为true则指定服务器优先使用IPv6地址。仅当服务器能访问IPv6地址时可以用,否则会导致有IPv6地址的网站无法打开。

一般情况下,只需要修改以下五项即可:

"server_port":8388,        //端口
"password":"password",     //密码
"protocol":"origin",       //协议插件
"obfs":"http_simple",      //混淆插件
"method":"aes-256-cfb",    //加密方式

⁠多端口配置

如果要多个用户一起使用的话,请写入以下配置:

{
    "server":"0.0.0.0",
    "server_ipv6": "[::]",
    "local_address":"127.0.0.1",
    "local_port":1080,
    "port_password":{
        "80":"password1",
        "443":"password2"
    },
    "timeout":300,
    "method":"aes-256-cfb",
    "protocol": "auth_sha1_compatible",
    "protocol_param": "",
    "obfs": "http_simple_compatible",
    "obfs_param": "",
    "redirect": "",
    "dns_ipv6": false,
    "fast_open": false,
    "workers": 1
}

按照格式修改端口和密码:

    "port_password":{
        "80":"password1",       //端口和密码1
        "443":"password2"       //端口和密码2
    },

如果要为每个端口配置不同的混淆协议,请写入以下配置:

{
    "server":"0.0.0.0",
    "server_ipv6":"::",
    "local_address":"127.0.0.1",
    "local_port":1080,
    "port_password":{
        "8388":{"protocol":"auth_simple", "password":"abcde", "obfs":"http_simple", "obfs_param":""},
        "8389":{"protocol":"origin", "password":"abcde"}
    },
    "timeout":300,
    "method":"aes-256-cfb",
    "protocol": "auth_sha1_compatible",
    "protocol_param": "",
    "obfs": "http_simple_compatible",
    "obfs_param": "",
    "redirect": "",
    "dns_ipv6": false,
    "fast_open": false,
    "workers": 1
}

按格式修改端口、密码以及混淆协议。也可以和以前的格式混合使用,如果某个端口不配置混淆协议,则会使用下面的默认"obfs"配置。

Tag summary

Content type

Image

Digest

sha256:d039753fe…

Size

13.4 MB

Last updated

about 4 years ago

docker pull szyhf/shadowsocks-rss