代理协议 · Clash文档

ShadowsocksR (SSR)

Clash 生态 ShadowsocksR 出站配置参考,以当前 Mihomo 字段为准,涵盖流加密、Protocol、Obfs 与旧节点兼容边界。

  • cipher
  • protocol
  • protocol-param
  • obfs
  • udp
代理协议

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 实现接受受支持的流加密方法,也兼容 nonenone 会在内部按 dummy 处理;现代 SS AEAD cipher 不能直接用于 SSR。

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 的 pluginplugin-opts 字段。
  • SSR 节点也没有协议级顶层 TLS 字段,不要补写 tls: true
  • UDP 开关不能修复错误的 cipher、obfs 或 protocol 组合。

SSR 节点示例与排查

示例展示官方配置中的基础字段。若服务端还给出 obfs-paramprotocol-param,应在相同层级追加。

  • 出现 cipher 初始化错误时,确认使用的是 SSR 支持的流加密方法。
  • 能够连接但无法传输数据时,优先核对 protocolprotocol-param
  • 握手外观不匹配时,核对 obfsobfs-param 以及服务端地址和端口。
YAML
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