外观
Shadowsocks 是什么?SS 协议原理、AEAD 加密与机场常见用法
Shadowsocks 是什么、SS 协议为什么客户端支持最广,这页讲原理、AEAD 加密和机场常见用法。
一句话解释
Shadowsocks(简称 SS)是一种轻量加密代理协议:客户端和服务端事先约定密码和加密方式,流量用对称加密直接传输,没有额外握手。它诞生于 2012 年,是机场里历史最长、客户端支持最广的协议。
速读要点
- SS 没有握手、开销最低,专线节点首选
- 短板是不伪装,不是加密弱;AEAD 强度足够
- SS 2022 节点要求系统时间准确,旧内核不支持
机场节点名里的「SS」「ss://」链接都指它。
Shadowsocks 是什么:SS 协议原理与 AEAD 加密方式
SS 的工作方式接近一个加密版的 SOCKS5 代理:客户端把目标地址和数据加密后发给服务端,服务端解密、访问目标、再把结果加密回传。整个过程没有 TLS 握手,所以连接建立快、协议开销小。
加密方式经历过几代:
| 代际 | 典型算法 | 现状 |
|---|---|---|
| 流加密 | aes-256-cfb、rc4-md5 | 已不安全,现代客户端不再推荐 |
| AEAD | aes-128-gcm、aes-256-gcm、chacha20-ietf-poly1305 | 当前主流,兼顾安全与性能 |
| Shadowsocks 2022 | 2022-blake3-aes-128-gcm 等 | 加入时间戳抗重放,较新客户端支持 |
机场给的节点通常是 AEAD 或 2022 版本,chacha20 在没有硬件加密指令的手机和路由器上更省电。
SS 不做流量伪装,加密后的数据没有明显特征,但也不像 HTTPS。可以配合插件(如 simple-obfs、v2ray-plugin)改变流量外观,是否提供取决于机场。SSR(ShadowsocksR)是一个早期分支,已停止维护,和 SS 不互通。
在订阅里怎么看出 SS 节点
确认一个节点是不是 SS、是哪一代 SS,看配置而不是看名字:
| 看哪里 | SS 节点的特征 |
|---|---|
| Clash / Mihomo 配置 | type: ss,有 cipher 和 password 字段,没有 uuid |
| 节点链接 | 以 ss:// 开头,后面是 Base64 编码的加密方式、密码和地址 |
| 加密方式字段 | aes-128-gcm、chacha20-ietf-poly1305 为 AEAD;2022-blake3- 开头为 SS 2022 |
| 插件字段 | 出现 plugin: obfs 或 v2ray-plugin 说明机场加了流量混淆 |
| UDP 字段 | udp: true 表示服务端开了 UDP 转发,游戏、语音需要它 |
SS、SSR、SS 2022 的区分:SSR 在客户端里是独立的 ssr 类型,和 SS 不互通;SS 2022 仍是 ss 类型,只是加密方式名以 2022 开头,旧内核会报不支持。字段名以客户端文档为准。
和选机场有什么关系
SS 的最大优势是兼容性:Clash 全系、sing-box、Shadowrocket、v2rayN、路由器插件全部支持,老设备和低性能路由器也跑得动。很多机场把专线节点做成 SS,因为专线本身不需要伪装,SS 的低开销能把专线带宽用满。
选机场时可以这样看:
- 路由器、电视盒子、老手机用户,优先确认机场有 SS 节点,见路由器教程。
- 看加密方式是否为 AEAD 或 2022,仍在用流加密的机场维护不积极。
- SS 在普通公网线路上的弱网表现一般,丢包严重时看 Hysteria2。
多协议机场更稳妥,从找机场筛选器按设备和线路筛选。
常见误区
- SS 过时了:协议老但持续更新,2022 版本是近年才加入的,专线机场至今大量使用。
- SS 不安全:AEAD 加密强度足够,SS 的短板是缺少伪装,不是加密弱。
- SS 比 VLESS 慢:协议开销上 SS 更小,实际速度取决于线路,不取决于协议。
- SS 和 SSR 是一回事:SSR 是已停止维护的分支,不互通,现代客户端很多已不支持。
常见问题
SS 节点超时是协议的问题吗
大多数不是。SS 没有握手过程,密码或加密方式不匹配会直接连不上,但这种情况订阅更新一次就能排除;更常见的原因是线路、端口被封或本地网络。按节点全部超时排查逐步处理。
SS 选哪种加密方式好
aes-128-gcm、aes-256-gcm、chacha20-ietf-poly1305 都是 AEAD,安全性足够。手机和路由器优先 chacha20,在没有 AES 硬件指令的设备上更省电;电脑用 AES 系列即可。加密方式由机场在节点里指定,你一般不用改。
SS 2022 节点和普通 SS 节点有什么区别
2022 版在 AEAD 基础上加入了时间戳和抗重放机制,要求客户端与服务器时间误差在几十秒内,否则连不上。它需要较新的客户端内核(Mihomo、sing-box 等),旧客户端会提示不支持的加密方式。
SS 节点支持 UDP 转发吗
协议本身支持,但是否开启取决于机场在服务端的设置。玩游戏、打语音前先在客户端里看节点是否标注 UDP,或者直接测试;没开 UDP 的 SS 节点会导致这类应用连不上或走不通。