You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

寻求通过Socks5代理实现端口转发的替代方案

寻求通过Socks5代理实现端口转发的替代方案

嘿,针对你遇到的ISP封锁dokodemo-door的问题,我给你整理了几个实用的替代方案,都是基于你已有的V2ray Socks5 inbound来实现端口转发的:

方案一:给V2ray dokodemo-door换传输协议绕封锁

其实没必要直接放弃dokodemo-door,你可以给它换个ISP难以识别的传输协议,比如WebSocket+TLS,伪装成普通HTTPS流量,这样就能绕过封锁了。只要修改V2ray客户端的配置,新增一个dokodemo-door inbound即可:

{
  "inbounds": [
    // 保留你原有的Socks5 inbound配置
    {
      "port": 1080,
      "protocol": "socks",
      "settings": {
        "auth": "noauth",
        "udp": true,
        "ip": "127.0.0.1"
      }
    },
    // 新增伪装后的dokodemo-door inbound
    {
      "port": 8443,
      "protocol": "dokodemo-door",
      "settings": {
        "address": "你的远程机器IP",
        "port": 远程机器端口号,
        "network": "tcp,udp"
      },
      "streamSettings": {
        "network": "ws",
        "security": "tls",
        "wsSettings": {
          "path": "/随便填一个秘密路径,比如/xyz789"
        },
        "tlsSettings": {
          "serverName": "你的域名(没有的话用服务器IP也可以,域名伪装效果更好)"
        }
      }
    }
  ],
  "outbounds": [
    // 保留你原有的V2ray outbound到服务器的配置
    {
      "protocol": "vmess",
      "settings": {
        "vnext": [
          {
            "address": "你的V2ray服务器地址",
            "port": 443,
            "users": [
              {
                "id": "你的UUID",
                "alterId": 0
              }
            ]
          }
        ]
      },
      "streamSettings": {
        "network": "ws",
        "security": "tls",
        "wsSettings": {
          "path": "/服务器端的WS路径"
        }
      }
    }
  ]
}

修改完重启V2ray客户端,本地8443的流量就会通过伪装后的dokodemo-door转发到远程机器,ISP基本没法识别封锁。

方案二:用socat工具快速实现Socks5端口转发

如果不想改动V2ray配置,socat这个工具可以帮你把本地端口的流量直接通过Socks5代理转发出去,操作简单直接。

首先安装socat:

  • Ubuntu/Debian:sudo apt install socat
  • CentOS/RHEL:sudo yum install socat

然后执行以下命令(替换括号里的内容):

socat TCP-LISTEN:8443,bind=0.0.0.0,reuseaddr,fork SOCKS5:127.0.0.1:你的远程机器IP:远程机器端口号,socksport=1080

参数说明:

  • TCP-LISTEN:8443,bind=0.0.0.0:监听本地所有网卡的8443端口
  • reuseaddr,fork:允许端口复用,并且每个新连接都生成子进程处理,不会阻塞主进程
  • SOCKS5:127.0.0.1:...:把流量通过本地127.0.0.1:1080的Socks5代理(你的V2ray客户端提供的)转发到目标远程机器

如果需要后台运行,可以用nohup让它在后台常驻:

nohup socat TCP-LISTEN:8443,bind=0.0.0.0,reuseaddr,fork SOCKS5:127.0.0.1:你的远程机器IP:远程机器端口号,socksport=1080 > /dev/null 2>&1 &

方案三:proxychains-ng配合端口工具(临时测试用)

如果你只是临时测试,也可以用proxychains-ng让普通端口监听工具(比如nc)的流量走Socks5代理,不过这个方案对UDP支持不好,性能也不如前两个,适合应急:

  1. 安装proxychains-ng:sudo apt install proxychains4
  2. 修改/etc/proxychains4.conf,把最后一行的socks4 127.0.0.1 9050改成socks5 127.0.0.1 1080
  3. 执行转发命令:proxychains4 nc -l 8443 -c "nc 你的远程机器IP 远程机器端口号"

备注:内容来源于stack exchange,提问作者raitech

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 13:02:53