2025 科学教程2025 科学教程
Home
总览
  • 2023年使用Docker自建shadowsocks + v2ray-plugin翻墙教程
  • 2024年使用 Docker 自建 shadowsocks-rust + v2ray-plugin 翻墙教程
  • 2024 Shadowrocket 小火箭节点搭建教程
  • Shadowsocks 部署新方式 - 利用 Frp 提高抗封锁性
  • 使用Docker运行shadowsocks客户端
  • Shadowsoccks 开启 UDP over TCP
  • Proxy SwitchyOmega 的替代品: ZeroOmega
  • 修改 Clash for Windows 的内核到 Mihomo
  • 常用工具
  • 服务器推荐-Vultr(支持支付宝)
  • 临时邮箱 - 机场注册好帮手
  • 临时文件分享
  • 小机场
Home
总览
  • 2023年使用Docker自建shadowsocks + v2ray-plugin翻墙教程
  • 2024年使用 Docker 自建 shadowsocks-rust + v2ray-plugin 翻墙教程
  • 2024 Shadowrocket 小火箭节点搭建教程
  • Shadowsocks 部署新方式 - 利用 Frp 提高抗封锁性
  • 使用Docker运行shadowsocks客户端
  • Shadowsoccks 开启 UDP over TCP
  • Proxy SwitchyOmega 的替代品: ZeroOmega
  • 修改 Clash for Windows 的内核到 Mihomo
  • 常用工具
  • 服务器推荐-Vultr(支持支付宝)
  • 临时邮箱 - 机场注册好帮手
  • 临时文件分享
  • 小机场

Shadowsoccks 开启 UDP over TCP

1. 什么是 UDP over TCP

科学上网 Shadowsocks 原版只支持 udp 的原生代理,即想要代理 udp,只能使用加密的 udp 流量承载,整个链路必须都是 udp 流量。而国内网络对 udp 极不友好,Qos丢包严重,更不要说防火墙的干扰了。

udp_over_tcp 就是通过把 UDP 数据封装进 TCP 流,来包装成 TCP 流量,从而绕过 UDP 封锁。

原版的 shadowsocks-libev go-shadowsocks shadowsocks-rust 均不支持 UDP over TCP,目前只有 V2ray 和 Xray 支持 UDP over TCP,并且存在 V1 和 V2 两个版本。

2. 适用场景

  • Tiktok 直播
  • DNS 查询
  • 网络时间协议 (NTP)

3. UDP over TCP v1 与 v2 的区别

特性v1v2
封装方式简单在 TCP 流中包 UDP 数据,协议较老新版本封装,头部更小,效率更高,稳定性优化
兼容性旧版客户端/服务端都支持需要新版本(Xray-core 1.8.0+)才能完全使用
性能额外开销稍多,延迟略高头部简短,延迟更低,吞吐更高
推荐场景老旧设备、旧版本内核新客户端、新服务端环境,追求延迟和稳定性

4. 服务器端配置

docker-compose.yml

services:
  xray:
    image: teddysun/xray
    container_name: xray-ss
    restart: unless-stopped
    ports:
      - "8388:8388/tcp"
      # - "8388:8388/udp"
    volumes:
      - ./config.json:/etc/xray/config.json
    command: ["/usr/bin/xray", "-c", "/etc/xray/config.json"]

config.json

{
  "log": {
    "access": "",
    "error": "/var/log/xray/error.log",
    "loglevel": "error"
  },
  "inbounds": [
    {
      "port": 8388,
      "protocol": "shadowsocks",
      "settings": {
        "method": "chacha20-ietf-poly1305",
        "password": "MyStrongPassword",
        "network": "tcp,udp",
        "udp_over_tcp": {
          "enabled": true,
          "version": 2
        }
      }
    }
  ],
  "outbounds": [
    {
      "protocol": "freedom",
      "settings": {}
    }
  ]
}

其中 udp_over_tcp.version 就是配置 UDP over TCP 的版本,建议使用 v2。

...
 "udp_over_tcp": {
    "enabled": true,
    "version": 2
  }
...

5.客户端配置

OpenClash 配置示例(客户端)

在你的代理节点配置中(配置文件编辑模式),Shadowsocks 部分这样写:


proxies:
  - name: "MyShadowsocks"
    type: ss
    server: your-server-ip
    port: 8388
    cipher: chacha20-ietf-poly1305
    password: MyStrongPassword
    udp: true
    udp-over-tcp: true
    udp-over-tcp-ver: 2

注意:

  • udp: true 表示需要支持 UDP(比如玩游戏、DNS 查询)
  • udp-over-tcp: true 表示启用 UDP 通过 TCP 封装
  • udp-over-tcp-ver: 2 对应服务端的 version 配置(1 或 2 要匹配服务端)

Shadowrocket (客户端)

  • 编辑节点 打开 UDP转发
  • 编辑节点 UDP over TCP 选项选择对应版本(1 或 2 要匹配服务端)

6.测试

UDP IP 查询:https://ip.skk.moe/stun

Last Updated:
Contributors: admin