Shadowsocks 是什么?Shadowsocks 协议与客户端

先说结论

Shadowsocks 协议是松散基于 SOCKS5 的加密分流代理,不走 TLS,用预共享密钥加密数据流。新用户必须使用 AEAD 或 2022 版加密,旧的流式加密已不可用。

Shadowsocks 资料卡核验于 2026-10-09

来历
官方站点 shadowsocks.org 与 GitHub 组织 github.com/shadowsocks(站点仓库 shadowsocks-org,另有 Rust 实现 shadowsocks-rust)。协议改进以 SIP(Shadowsocks Improvement Proposal)形式发布,如 SIP004/007(AEAD)、SIP022(2022 版)。页面未写明最初作者。
传输与加密
不走 TLS,用预共享密钥直接加密数据流。AEAD 版推荐 chacha20-ietf-poly1305、aes-gcm;2022 版用 base64 预共享密钥,以 BLAKE3 派生会话子密钥。
官方文档写明支持的内核
shadowsocks-rust、Xray-core、V2Fly v2ray-core、sing-box、Mihomo

站内收录的客户端里,文档写明支持 Shadowsocks 的

完整对照见协议 × 客户端支持矩阵。

这张卡片的资料来源(11 条)
  1. Shadowsocks 是松散基于 SOCKS5 的 split proxy,ss-local 与 ss-remote 的工作方式,TCP/UDP 流程(shadowsocks.org)
  2. AEAD 加密方法列表与推荐;SIP004 由 Mygod 提出、SIP007 由 riobard 提出(shadowsocks.org)
  3. 流式加密已完全不可用并将移除,新用户必须使用 AEAD(shadowsocks.org)
  4. SIP022:2022 版的 PSK、BLAKE3 子密钥派生、完整重放保护、会话式 UDP、不提供前向保密(shadowsocks.org)
  5. SIP003 插件以子进程方式运行,类似 Tor Pluggable Transport(shadowsocks.org)
  6. SIP 是 Shadowsocks Improvement Proposal,用于规定新特性或流程(shadowsocks.org)
  7. Xray 文档:Shadowsocks 2022 的推荐加密方法、预共享密钥长度,及旧 AEAD 协议的问题列表(xtls.github.io)
  8. V2Fly 文档含 Shadowsocks 入站与出站(www.v2fly.org)
  9. sing-box 文档含 Shadowsocks 出站,method 含 2022-blake3-* 与 AEAD 方法,支持 plugin(sing-box.sagernet.org)
  10. Mihomo 文档含 ss 代理类型,支持 obfs/v2ray-plugin 等插件(wiki.metacubex.one)
  11. shadowsocks-rust README:这是 shadowsocks 的一个 Rust 移植(raw.githubusercontent.com)

Shadowsocks(常简称 SS)是一种松散基于 SOCKS5 的加密分流代理,Shadowsocks 协议由本地端和远端两段配合完成:本地端接收请求并加密,远端解密后去访问目标。它不走 TLS,而是用预共享密钥直接加密数据流;现行协议有 AEAD 和 2022 两代。下面依据官方站点说明它的来历、两代差别、节点里常见的字段,以及下载时怎么找官方来源。

Shadowsocks 协议是什么:松散基于 SOCKS5 的加密分流代理

官方站点是 shadowsocks.org,代码和站点仓库在 GitHub 的 shadowsocks 组织 下,其中站点仓库叫 shadowsocks-org,另有 Rust 实现 shadowsocks-rust。协议的改进以 SIP(Shadowsocks Improvement Proposal)的形式发布,比如 SIP004 和 SIP007 对应 AEAD,SIP022 对应 2022 版。官方页面没有写明最初的作者和首发时间,这部分资料待核实,梯子岛不去补。

这就是 shadowsocks是什么 的完整答案:它不是客户端软件的名字,而是一套协议和一组实现。你在订阅里看到的 ss 开头的节点,用的是这套协议;你在手机或电脑上装的 App,是实现它的客户端。至于 App 具体怎么选,放在 客户端选择工具 里按平台筛,不在协议资料里展开。

一次请求怎么走:本地端与远端的分工

官方的 什么是 Shadowsocks 把它描述为分流代理,由两个角色组成:本地端 ss-local 和远端 ss-remote。一次访问大致是这样:

  1. 应用把请求交给本地端。本地端的行为像一个 SOCKS5 服务器,因此对应用来说,它就是一个普通的 SOCKS5 代理。
  2. 本地端用预共享密钥把数据加密,再转发给远端。
  3. 远端解密,向真正的目标发起访问。
  4. 目标返回的数据按相反方向,远端加密、本地端解密后交给应用。

TCP 和 UDP 都支持。这套流程里没有 TLS 握手,保护数据靠的是双方共有的密钥,所以密钥怎么生成、多长、怎么派生子密钥,就成了两代协议的主要差别之一。

AEAD 版和 2022 版:Shadowsocks 协议的两代加密

先说一条硬规则:官方文档称旧的流式加密(stream cipher)已不可用并将被移除,新用户必须使用 AEAD 加密。所以任何还在教你用流式加密的教程,都可以直接关掉。

现行的两代对照如下:

项目 AEAD 版 2022 版
对应提案 SIP004、SIP007 SIP022
加密方式 官方推荐 chacha20-ietf-poly1305、aes-gcm 用 base64 预共享密钥,以 BLAKE3 派生会话子密钥,取代已过时的 HKDF_SHA1
密钥 口令推导 固定长度的预共享密钥,可用 openssl rand -base64 生成,不再从口令推导,设计受 WireGuard 启发
重放保护 Xray 文档称存在问题:TCP 重放过滤器误报率随时间上升,UDP 无重放保护 要求完整的重放保护
UDP 与 2022 版相比,不是按会话转发 改为按会话转发,减少协议开销
前向保密 不提供 不提供,SIP022 明确声明与前代一样

Xray 文档还列出了旧 AEAD 协议的几个问题:设计存在严重缺陷、TCP 行为可被用于主动探测,并称 2022 版已经解决。这些是文档的说法,梯子岛没有测试数据可以验证。能确定的是:节点写的是哪一代,客户端就要按哪一代的加密方式配置,加密方式必须和节点写的一致。

ss节点里有什么:加密方式、密钥与插件

从协议倒推,一个 ss节点 至少包含:服务器地址和端口、加密方式(method)、密钥或密码。如果用到了插件,还会带上插件名和插件参数。

SIP003 定义了插件机制:插件以子进程方式运行,通过本地端口转发工作,设计类似 Tor 的 Pluggable Transport,详见 SIP003:插件设计。Mihomo 的 ss 配置支持 obfs、v2ray-plugin 等插件,sing-box 的 Shadowsocks 出站也有 plugin 字段。所以节点里出现 plugin 字样并不奇怪,它的意思是“这条连接前面还套着一层别的东西”,必须连同插件一起配置,只填基础字段是不够的。

节点链接的写法、每段的含义,在 节点链接怎么读 里逐项讲,词典里的 节点链接 URI 解释了 ss:// 这类写法的由来。如果你拿到的是 ssr:// 开头的链接,那是另一个项目,见 ShadowsocksR 资料页。

哪些内核和实现支持 Shadowsocks

内核或实现 文档里怎么提到 Shadowsocks 要留意什么
shadowsocks-rust 官方组织下的 Rust 实现 README 称它是 shadowsocks 的一个 Rust 移植
Xray-core 有 Shadowsocks 出站文档 文档列出 2022 版的推荐加密方法和预共享密钥长度
V2Fly v2ray-core 有 Shadowsocks 入站与出站 以 V2Fly 文档为准
sing-box 有 Shadowsocks 出站 method 含 2022-blake3-* 和 AEAD 方法,支持 plugin
Mihomo 有 ss 代理类型 支持 obfs、v2ray-plugin 等插件

内核层面都有,不等于每款图形客户端都开放了全部选项,尤其是 2022 版的加密方式和各种插件。哪款客户端支持什么,请查 协议支持矩阵,不要凭记忆判断。想把它与较新的 TLS 系协议放在一起看,读 Shadowsocks 与 Trojan 的区别。

Shadowsocks 下载:去哪里找,下载后怎么核对来源

搜索 shadowsocks下载 时,结果里混着大量镜像站、打包站和不明安装包。梯子岛的建议是倒过来走:先确定要哪一类,再去它的官方入口。

  • 要看协议资料:shadowsocks.org 和 shadowsocks 组织。
  • 要命令行或内核实现:官方组织下的 shadowsocks-rust。
  • 要图形客户端:每款客户端有自己的仓库、发布页或应用商店页面,入口集中在 下载入口 和 GitHub 仓库导航,不要通过搜索结果里的“下载站”获取。

下载之后,用这几步核对来源:

  1. 确认下载地址的域名或仓库路径,和客户端档案页里写的官方入口一致。
  2. 在发布页里选与你系统、架构匹配的文件,别因为文件名相似就随手下载。
  3. 如果发布页提供校验值,下载后自己算一遍再比对;没有校验值时,至少检查文件大小和来源是否合理。
  4. 不要运行来历不明的“破解版”“集成版”,风险见 破解版梯子软件能用吗。

下一步该去哪

选协议的原则没有变:以官方文档为准,以你自己的验证为准。

这篇没有覆盖的

  • 速度与稳定性没有梯子岛自己的测试数据,文中不做结论,请自行验证。
  • 官方页面没有写明最初作者与首发时间,这部分资料待核实,本文不下结论。
  • 本文只讲客户端一侧的认识,不涉及服务端搭建,也不逐款评价具体客户端。

本文引用的官方来源

  1. Shadowsocks 官网(shadowsocks.org)
  2. 什么是 Shadowsocks(shadowsocks.org)
  3. AEAD 加密方法(shadowsocks.org)
  4. Shadowsocks SIP022(AEAD-2022)(shadowsocks.org)
  5. SIP003:插件设计(shadowsocks.org)
  6. shadowsocks-rust 仓库(github.com)

以上链接均为官方页面,梯子岛在 2026-10-09 核对过;个别网站会拦截自动化访问,用浏览器直接打开即可。平台规则可能随时调整,以官方页面当前内容为准。

Shadowsocks 协议常见问题

Shadowsocks 是什么?

Shadowsocks 是一种松散基于 SOCKS5 的加密分流代理。本地端像 SOCKS5 服务器一样接收请求,加密后转发给远端,由远端解密并访问目标。它不使用 TLS,而是用预共享密钥直接加密数据流,现行协议有 AEAD 版和 2022 版两代。

Shadowsocks 和 SSR 是一回事吗?

不是。ShadowsocksR 是另一个项目,在加密方式之外多了协议和混淆两项设置,实现和资料都放在不同的仓库里。导入节点前要先看清协议类型,详细来历见站内的 SSR 资料页。

旧教程里的加密方式还能用吗?

官方文档称旧的流式加密已经不可用并将被移除,新用户必须使用 AEAD 加密。如果你的节点写的加密方式不属于 AEAD 或 2022 系列,先向节点提供方确认,并对照官方文档,不要继续沿用旧教程里的填法。

Shadowsocks 2022 和 AEAD 有什么区别?

2022 版要求完整的重放保护,用 BLAKE3 派生会话子密钥,取代已过时的 HKDF_SHA1,密钥必须是固定长度的预共享密钥,UDP 也改为按会话转发。SIP022 同时声明,2022 版与前代一样不提供前向保密。

Shadowsocks 客户端在哪里下载?

官方站点是 shadowsocks.org,代码在 GitHub 的 shadowsocks 组织下,其中 shadowsocks-rust 是 Rust 实现。图形客户端各自有仓库和发布页,建议从站内下载入口和客户端档案页进入,不要在不明网站下载安装包。

接着读

文中出现的术语

接下来去哪儿?

找官方入口去网址导航,想核对仓库和版本看GitHub 项目导航;需要现成的机场,机场目录收了 28 家的价格与线路资料,性价比机场、便宜机场、VPN 机场分别有专项页。