Shadowsocks 的特点与 FlClash 配置要点
Shadowsocks 是一种基于 SOCKS5 的安全拆分代理协议。它把代理过程交给本地和远端两个组件:应用连接本地组件,远端组件解密收到的数据,再转发给目标。
理解它,可以从三个问题入手:数据经过哪里、使用什么加密方式、配置里的字段是否与远端一致。在 FlClash 中选用时,还要区分协议参数与客户端界面操作。
是什么:本地接入,远端转发
本地组件名为 ss-local,它向应用提供 SOCKS5 服务;远端组件名为 ss-remote,负责解密和后续转发。这种分工就是“拆分代理”的含义。
Shadowsocks 既处理 TCP,也处理 UDP。转发 UDP 时,远端组件承担的作用类似于替本地组件做 NAT。协议中的目标地址沿用 SOCKS5 地址格式,可以表示 IPv4、IPv6 或域名。
这里的 SOCKS5 描述了本地接入方式和目标地址格式。阅读 Shadowsocks 配置时,还需要继续核对加密方式、密码等参数。若要了解两种传输方式的区别,可参阅代理连接中的 TCP 与 UDP。
特点:加密方式与 UDP 封包有明确约定
Shadowsocks 的 AEAD 文档建议尽量采用 AEAD 加密,并列出了以下算法:
| 规范名称 | 补充说明 |
|---|---|
AEAD_CHACHA20_POLY1305 | 别名为 chacha20-ietf-poly1305,规范要求实现支持 |
AEAD_AES_256_GCM | 文档列出的 AEAD 算法 |
AEAD_AES_128_GCM | 文档列出的 AEAD 算法 |
对于 UDP,每个数据包分别完成加密和解密。包内依次包含 salt、加密后的载荷以及 tag。
这些是协议层的约定。不能仅凭 AEAD 文档的建议,就把其他流编码写成“已经弃用”;该文档没有作出这种说明。算法名称与封包定义可查阅 Shadowsocks AEAD 文档。
常见使用场景:按已有连接参数选用
当已有连接使用 Shadowsocks 时,客户端需要按对应参数配置。协议名称只是起点,还要确认加密方式、密码,以及远端是否要求插件。
涉及 UDP 转发时,需要同时关注 UDP 相关参数。Shadowsocks 本身处理 UDP,但 mihomo 还提供了 UDP over TCP 的配置字段,阅读时应把两者分开。
插件也是需要核对的一项。知道连接使用 Shadowsocks,并不能据此判断它有没有插件要求,更不能只凭协议名称选一个插件。
在 FlClash 里怎么选用:先核对 mihomo 字段
FlClash 通常使用 mihomo 内核。它的 README 没有逐项列出代理协议,Shadowsocks 参数应参照 mihomo 的 Shadowsocks 配置文档。
截至 2026-11-08,该文档列出的相关字段包括:
| 字段 | 核对内容 |
|---|---|
type | Shadowsocks 对应值为 ss |
cipher | 加密方式名称 |
password | 密码 |
udp | UDP 相关配置 |
udp-over-tcp | 默认值为 false |
udp-over-tcp-version | 可取 1 或 2,默认值为 1 |
plugin | 插件名称 |
plugin-opts | 插件参数 |
smux | 文档列出的配置字段 |
ip-version | 文档列出的配置字段 |
截至 2026-11-08,mihomo 文档列出的加密选项包含 AES、ChaCha 系列,也包含 2022-blake3-aes-128-gcm、2022-blake3-aes-256-gcm、2022-blake3-chacha20-poly1305 和 none 等名称。选择时应与已有连接参数对应。
至于在 FlClash 中点哪个按钮添加或编辑 Shadowsocks,官方没有说明。需要了解客户端操作,可接着阅读FlClash 配置导入与使用教程。
注意事项:插件列表不等于平台可用清单
截至 2026-11-08,mihomo 文档中的插件选项有 obfs、v2ray-plugin、gost-plugin、shadow-tls、restls、kcptun 和 jls。
这份列表说明配置中有哪些插件名称可选。各插件在 FlClash 不同平台上是否可用,官方没有说明。因此,文档中的字段与客户端实际支持情况需要分别核对。
本文涉及的字段信息以截至 2026-11-08 的 mihomo 文档为依据;后续如有调整,应重新核对对应文档。本站为 FlClash 资料站,站点身份及外链说明见隐私与声明。
第三方整理,与项目方无关。