SSR 与 Shadowsocks 的配置差异
ShadowsocksR 是旧 SSR 服务端使用的兼容出站类型。客户端会依次应用 SSR 混淆、流加密和 SSR Protocol,因此配置不只包含 SS 的 cipher 与 password。
现有 SSR 节点应以服务端或可信订阅提供的完整字段为准。不能把现代 Shadowsocks 节点仅修改 type 后当作 SSR 使用。
最小必填字段
一个 SSR 节点除通用地址字段外,还必须同时给出密码、流加密方法、混淆方式和 SSR Protocol。
name必填- 节点名称,在当前配置中必须唯一。
type必填- 固定填写
ssr。 server必填- SSR 服务端域名或 IP。
port必填- SSR 服务端监听端口。
cipher必填- SSR 使用的流加密方法,必须与服务端一致。
password必填- SSR 节点密码。
obfs必填- SSR 混淆名称,决定连接外观处理。
protocol必填- SSR Protocol 名称,决定认证和数据封装。
Cipher、Obfs 与 Protocol 必须成组匹配
当前 SSR 实现接受受支持的流加密方法,也兼容 none。none 会在内部按 dummy 处理;现代 SS AEAD cipher 不能直接用于 SSR。
| 字段 | 作用 | 配置要求 |
|---|---|---|
cipher | 加密 SSR 数据流 | 使用 SSR 服务端给出的流加密方法,不能用 AEAD 名称替换 |
password | 派生加密密钥 | 与当前 SSR 节点密码完全一致 |
obfs | 处理连接外观 | 名称必须由服务端支持 |
protocol | 处理认证与报文封装 | 名称必须由服务端支持 |
参数、UDP 与通用连接选项
参数字段只在对应服务端配置需要时填写。订阅已提供参数时应完整保留,不要凭其他 SSR 节点推断。
obfs-param按需- 传给 SSR 混淆模块的参数,常见内容由服务端配置决定。
protocol-param按需- 传给 SSR Protocol 的参数,必须保持服务端要求的格式。
udp按需- 允许该节点处理 UDP,服务端、Protocol 与网络也需支持。
ip-version按需- 控制域名形式服务器地址使用 IPv4、IPv6 或双栈。
dialer-proxy按需- 通过另一个节点或策略组连接 SSR 服务端。
- SSR 节点没有 Shadowsocks 的
plugin与plugin-opts字段。 - SSR 节点也没有协议级顶层 TLS 字段,不要补写
tls: true。 - UDP 开关不能修复错误的 cipher、obfs 或 protocol 组合。
SSR 节点示例与排查
示例展示官方配置中的基础字段。若服务端还给出 obfs-param 或 protocol-param,应在相同层级追加。
- 出现 cipher 初始化错误时,确认使用的是 SSR 支持的流加密方法。
- 能够连接但无法传输数据时,优先核对
protocol与protocol-param。 - 握手外观不匹配时,核对
obfs、obfs-param以及服务端地址和端口。
proxies:
- name: ssr-node
type: ssr
server: server.example.com
port: 443
cipher: chacha20-ietf
password: your-password
protocol: auth_sha1_v4
obfs: tls1.2_ticket_auth