ssr config - month-time/shadowsocksr GitHub Wiki

ShadowsocksR 配置文件说明


ShadowsocksR 的配置文件一般位于 /etc/shadowsocks.json

各选项说明

选项 说明
server 监听地址
server_ipv6 ipv6地址
server_port 监听端口
local_address 本地地址
local_port 本地端口
password 密码
timeout 超时时间
udp_timeout UDP链超时时间
udp_cache UDP链缓冲区大小
method 加密方式
protocol 协议插件,默认"origin"
protocol_param 协议插件参数,默认""
obfs 混淆插件,默认"tls1.2_ticket_auth_compatible"
obfs_param 混淆插件参数,默认""
redirect 重定向参数,默认""
dns_ipv6 是否优先使用ipv6地址,有ipv6时可开启
fast_open 快速打开(仅限linux客户端)
workers 线程(仅限linux客户端)
verbose 显示调试信息
connect_verbose_info 显示连接信息
forbidden_ip 阻止连接到此ip列表
forbidden_port 阻止连接到此端口列表
ignore_bind 不绑定的ip列表
out_bind 强制绑定此ipv4地址
out_bindv6 强制绑定此ipv6地址
additional_ports 多用户模式下配置额外端口
speed_limit_per_con 单连接限速,单位KB
speed_limit_per_user 单用户限速,单位KB

注 1:其中各 Protocol 和 obfs 的具体说明参见协议插件文档

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

redirect 参数说明

值为空字符串或一个列表,列表示例如下:

"redirect":["bing.com", "cloudflare.com:443"]

作用是在连接方的数据不正确的时候,把数据重定向到列表中的其中一个地址和端口(不写端口则视为 80),以伪装为目标服务器。

dns_ipv6 参数说明

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

配置修改说明

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

"server_port":30000,          //服务器端口
"password":"password",        //密码
"method":"none",              //加密方式
"protocol":"auth_chain_a",    //协议插件
"obfs":"plain",               //混淆插件

多用户配置示例

单端口多用户

{
    "server":"0.0.0.0",
    "server_ipv6":"[::]",
    "server_port":443,
    "local_address":"127.0.0.1",
    "local_port":1080,
    "password":"password",
    "timeout":120,
    "method":"none",
    "protocol":"auth_chain_a",
    "protocol_param":"3#1000:password1, 1001:password2",
    "obfs":"plain",
    "obfs_param":"",
    "redirect":"",
    "dns_ipv6":false,
    "fast_open":false,
    "workers":1
}

单端口多用户在在配置时修改protocol_param这一项,#前面数值表示每个用户的最大客户端数,这个数值可以不填,但必须有#号,默认为64。在#后,以,分隔用户,:前面是用户的 id(1 ~ 2147483647),后面的是用户的密码,密码不能有特殊符号,建议仅使用数字和大小写字母。

客户端的配置如使用用户 id 为 1000 的连接,那么在客户端的协议参数里面填写1000:password1

多端口多用户

统一配置

{
    "server":"0.0.0.0",
    "server_ipv6":"[::]",
    "port_password":{
        "30000":"password1",
        "30001":"password2"
        },
    "local_address":"127.0.0.1",
    "local_port":1080,
    "timeout":120,
    "method":"none",
    "protocol":"auth_chain_a",
    "protocol_param":"",
    "obfs":"plain",
    "obfs_param":"",
    "redirect":"",
    "dns_ipv6":false,
    "fast_open":false,
    "workers":1
}

分别配置

{
    "server":"0.0.0.0",
    "server_ipv6":"[::]",
    "port_password":{
        "30000":{"method":"chacha20", "obfs":"http_post", "password":"password1"},
        "30001":{"protocol":"origin", "password":"password2"}
        },
    "local_address":"127.0.0.1",
    "local_port":1080,
    "timeout":120,
    "method":"none",
    "protocol":"auth_chain_a",
    "protocol_param":"",
    "obfs":"plain",
    "obfs_param":"",
    "redirect":"",
    "dns_ipv6":false,
    "fast_open":false,
    "workers":1
}

注 1:修改完配置后需重启 ShadowsockR 服务端才能生效。

注 2:默认配置为单端口,与多端口配置差别请对比以上示例。

注 3:多端口分别配置时,若某个端口不配置,则会使用下面的默认配置。