Skip to content

ShadowsocksR

iPhone 版 Potatso 支持的 ShadowsocksR 加密方式、协议和混淆方式,以及 ssr:// 链接的写法。

Updated 以 Markdown 查看

ShadowsocksR(SSR)服务器由三项设置描述:加密方式、协议和混淆方式。只有三者都受支持,Potatso 才会连接服务器。你可以对照下面的表格,检查服务商提供的服务器设置,或其 ssr:// 链接中的设置。

你可以手动添加 SSR 服务器、通过 ssr:// 链接添加,或从 Clash 或 Mihomo 订阅中导入。Potatso 会保留服务商指定的协议和混淆,包括 _compatible 形式。

加密方式

加密方式 支持情况
none ✅
aes-128-ctr, aes-192-ctr, aes-256-ctr ✅
aes-128-cfb, aes-192-cfb, aes-256-cfb ✅
camellia-128-cfb, camellia-192-cfb, camellia-256-cfb ✅
chacha20, chacha20-ietf ✅
salsa20 ✅
bf-cfb ✅
rc4-md5 ✅
cast5-cfb, des-cfb, idea-cfb, rc2-cfb, seed-cfb ✅
rc4-md5-6, table ✅
xchacha20, xsalsa20 ❌

aes-256-gcm 这类 AEAD 加密属于 Shadowsocks,不属于 ShadowsocksR。如果服务商给 SSR 服务器列出了这类加密,请确认该服务器实际上是不是 Shadowsocks 服务器。

协议

协议 支持情况 多用户
origin ✅ —
verify_deflate ✅ —
auth_sha1, auth_sha1_v2 已弃用(未用真实服务器测试) —
auth_sha1_v4 ✅ —
auth_sha1_v4_compatible ✅ —
auth_aes128_md5 ✅ ✅
auth_aes128_sha1 ✅ ✅
auth_chain_a ✅ ✅
auth_chain_b ✅ ✅
verify_simple, verify_sha1, auth_simple 已弃用(作为 origin 导入) —

多用户服务器让多个用户共用一个端口。对于这类服务器,请把协议参数(protocol-param,在 ssr:// 链接中是 protoparam)设为 uid:key,其中的用户 ID 和密钥由服务商提供。

目前的 ShadowsocksR 服务器已不再提供 auth_sha1 和 auth_sha1_v2。Potatso 仍可使用它们连接,但没有用真实服务器测试过,所以如果服务商提供其他协议,请优先选用其他协议。

旧版 Potatso 列出了 verify_simple、verify_sha1 和 auth_simple,但实际一直以 origin 连接。Potatso 现在仍把它们作为 origin 导入,并在导入时显示警告。

混淆

混淆 支持情况
plain ✅
http_simple, http_simple_compatible ✅
http_post, http_post_compatible ✅
tls1.2_ticket_auth, tls1.2_ticket_auth_compatible ✅
tls1.2_ticket_fastauth, tls1.2_ticket_fastauth_compatible ✅
random_head, random_head_compatible ✅ 已弃用

名称带 _compatible 表示服务器也接受不使用混淆的客户端。Potatso 使用名称所指的混淆方式,所以你可以保留服务商给出的名称。

对于 HTTP 方式,混淆参数(obfs-param,在 ssr:// 链接中是 obfsparam)用来设置 Host 请求头。它可以是单个主机、以逗号分隔的主机列表,或一组自定义请求头。留空时,Potatso 使用服务器地址。对于 TLS 方式,它设置 TLS 握手中发送的服务器名称。

UDP

UDP 适用于所有受支持的协议,SSR 服务器默认开启。如果你的服务器不转发 UDP,请在服务器设置中把它关闭。

ssr:// 链接用一行文字包含完整的服务器信息。ssr:// 之后的全部内容都经 Base64 编码:

ssr://base64(host:port:protocol:cipher:obfs:base64(password)/?obfsparam=…&protoparam=…&remarks=…)

/? 之前的部分是用冒号分隔的六个字段:

字段 说明
host 服务器地址。IPv6 地址要放在方括号里,如 [2001:db8::1]。
port 服务器端口。
protocol 上面协议中的一种。留空时,Potatso 使用 origin。
cipher 上面加密方式中的一种。必填。
obfs 上面混淆方式中的一种。留空时,Potatso 使用 plain。
password 密码,经 Base64 编码。

/? 之后的部分是可选的,每个值都经 Base64 编码:

参数 说明
obfsparam 混淆参数,例如 http_simple 的 Host。
protoparam 协议参数,例如多用户服务器的 uid:key。
remarks 服务器在 Potatso 中的名称。

Potatso 会忽略其他参数,如 group、udpport 和 uot,以及链接末尾的 #name。UDP 不属于链接的一部分:它默认开启,你可以在导入后关闭。

Potatso 接受标准 Base64 和 URL 安全的 Base64,带不带 = 填充均可。名称不区分大小写,所以 AUTH_CHAIN_A 与 auth_chain_a 效果相同。分享服务器时,Potatso 写出的是不带填充的 URL 安全 Base64。

每个示例先给出解码后的文本,再给出要导入的链接。所有示例中的密码都是 secret。

没有协议插件、也没有混淆的基本服务器:

ssr.example.com:8388:origin:aes-256-cfb:plain:c2VjcmV0/?remarks=QmFzaWM
ssr://c3NyLmV4YW1wbGUuY29tOjgzODg6b3JpZ2luOmFlcy0yNTYtY2ZiOnBsYWluOmMyVmpjbVYwLz9yZW1hcmtzPVFtRnphV00

使用 cdn.example.com 作为服务器名称的 TLS 混淆:

ssr.example.com:443:auth_aes128_md5:chacha20-ietf:tls1.2_ticket_auth:c2VjcmV0/?obfsparam=Y2RuLmV4YW1wbGUuY29t&remarks=VExTIG9iZnM
ssr://c3NyLmV4YW1wbGUuY29tOjQ0MzphdXRoX2FlczEyOF9tZDU6Y2hhY2hhMjAtaWV0Zjp0bHMxLjJfdGlja2V0X2F1dGg6YzJWamNtVjAvP29iZnNwYXJhbT1ZMlJ1TG1WNFlXMXdiR1V1WTI5dCZyZW1hcmtzPVZFeFRJRzlpWm5N

多用户服务器:用户 2173,密钥 userkey,加密方式为 none,使用 HTTP 混淆:

ssr.example.com:8080:auth_chain_a:none:http_simple:c2VjcmV0/?obfsparam=Y2RuLmV4YW1wbGUuY29t&protoparam=MjE3Mzp1c2Vya2V5&remarks=TXVsdGktdXNlcg
ssr://c3NyLmV4YW1wbGUuY29tOjgwODA6YXV0aF9jaGFpbl9hOm5vbmU6aHR0cF9zaW1wbGU6YzJWamNtVjAvP29iZnNwYXJhbT1ZMlJ1TG1WNFlXMXdiR1V1WTI5dCZwcm90b3BhcmFtPU1qRTNNenAxYzJWeWEyVjUmcmVtYXJrcz1UWFZzZEdrdGRYTmxjZw

使用 IPv6 地址的服务器:

[2001:db8::1]:8388:auth_sha1_v4:rc4-md5:http_post:c2VjcmV0/?remarks=SVB2Ng
ssr://WzIwMDE6ZGI4OjoxXTo4Mzg4OmF1dGhfc2hhMV92NDpyYzQtbWQ1Omh0dHBfcG9zdDpjMlZqY21WMC8_cmVtYXJrcz1TVkIyTmc
导航

Type to search…

↑↓ navigate↵ selectEsc close