使用 socat (命令行,功能强大,推荐)
socat 是一个功能极其强大的网络工具,被誉为“网络界的瑞士军刀”,它可以在 Windows 上通过 WSL (Windows Subsystem for Linux) 或直接在原生 Windows (通过 scoop/chocolatey 包管理器) 运行。

优点:
- 功能强大:不仅能做 SOCKS5 代理,还能做端口转发、SSL 隧道等。
- 轻量级:就是一个可执行文件,无需安装。
- 配置灵活:通过命令行参数即可完成所有配置。
缺点:
- 纯命令行操作:对不熟悉命令行的用户不友好。
步骤 1: 安装 socat
方案 A: 使用 Scoop (推荐,原生 Windows 环境)
- 安装 Scoop (如果你还没有):
打开 PowerShell (管理员模式),运行:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser irm get.scoop.sh | iex
- 安装 socat:
scoop install socat
方案 B: 使用 WSL (Linux 子系统)
- 安装 WSL: 在 PowerShell (管理员模式) 中运行:
wsl --install
这会自动安装 Ubuntu 并完成初始设置。
- 安装 socat: 打开 Ubuntu 终端,运行:
sudo apt update && sudo apt install -y socat
步骤 2: 配置和启动 SOCKS5 服务器
socat 的 SOCKS5 代理模式非常简单,基本语法是:

socat TCP-LISTEN:代理端口,fork,reuseaddr SOCKS4A:目标地址:目标端口,socksport=1080
TCP-LISTEN:代理端口:这是你的 SOCKS5 服务器监听的端口。1080。fork:允许多个客户端同时连接。reuseaddr:允许端口快速重用。SOCKS4A:目标地址:目标端口:这是代理的核心,它会将所有流量转发到目标地址:目标端口,通常我们希望它能代理所有目标,目标地址和targetaddr可以留空或设置为0.0.0。socksport=1080:这是socat自身用来与 SOCKS 客户端协商的端口,默认是 1080。
最常用、最简单的启动命令 (监听 1080 端口):
打开你的终端 (PowerShell 或 WSL Ubuntu),然后运行:
# 在 Windows 原生环境 (Scoop) 下 socat TCP-LISTEN:1080,fork,reuseaddr SOCKS4A:0.0.0.0:0,socksport=1080 # 在 WSL 环境下 socat TCP-LISTEN:1080,fork,reuseaddr SOCKS4A:0.0.0.0:0,socksport=1080
命令解释:
这个命令会创建一个监听在本地 1080 端口的 SOCKS5 服务器,任何连接到这个服务器的 SOCKS5 客户端,其请求都会被 socat 透明地转发出去。
步骤 3: 连接 SOCKS5 服务器
你的 SOCKS5 服务器已经在 0.0.1:1080 (或你的局域网 IP + 端口) 上运行了。

你可以配置以下客户端来使用它:
- 浏览器: 安装 Proxy SwitchyOmega 插件,配置为 SOCKS5 代理,服务器
0.0.1,端口1080。 - 下载工具: 如 qBittorrent, uTorrent 等,在设置中找到网络/代理选项,设置为 SOCKS5,地址和端口同上。
- 其他软件: 很多支持代理的软件都有 SOCKS5 选项。
使用 ss5 (Linux 风格,功能完善)
ss5 是一个专门为 SOCKS5 设计的开源代理服务器,它比 socat 更“正统”,配置文件也更清晰。
优点:
- 专注 SOCKS5:功能针对 SOCKS5 代理优化。
- 配置文件:通过配置文件管理,更易于管理复杂规则。
缺点:
- 在 Windows 上不如在 Linux 上原生,通常需要 WSL。
步骤 1: 在 WSL 中安装 ss5
- 确保已安装 WSL (参考方法一)。
- 更新并安装
ss5: 打开 Ubuntu 终端,运行:sudo apt update sudo apt install -y ss5
步骤 2: 配置 ss5
ss5 的配置文件是 /etc/ss5/ss5.conf。
-
打开配置文件:
sudo nano /etc/ss5/ss5.conf
-
修改配置: 找到类似
# - DISALLOWED的部分,确保你的允许规则在# - ALLOWED部分下面。 最简单的配置是允许所有连接,找到下面这行,取消注释并修改为0.0.0/0(允许所有IP):#auth 0.0.0.0/0 - u改为:
auth 0.0.0.0/0 - u这表示对所有IP地址不进行用户名密码认证,如果你需要认证,可以自行配置。
-
(可选) 设置认证用户名密码: 编辑
/etc/ss5/ss5.passwd文件:sudo nano /etc/ss5/ss5.passwd
按格式
username password添加用户,myuser mypassword
步骤 3: 启动 ss5 服务
sudo systemctl start ss5 sudo systemctl enable ss5 # 开机自启
检查状态:
sudo systemctl status ss5
ss5 默认监听 1080 端口,你可以直接在客户端配置 0.0.1:1080 来使用它。
使用图形界面软件 (傻瓜式操作,适合新手)
如果你不想碰命令行,可以使用带有图形界面的代理软件,它们通常也支持将自己的服务端设置为 SOCKS5 模式。
推荐软件:v2rayN (客户端模式) / v2rayN-Service (服务端模式)
v2rayN 是一个功能强大的 V2Ray 客户端,但它也可以配置为简单的本地 SOCKS5 代理。
- 下载和安装: 从官方 GitHub 下载
v2rayN。 - 配置:
- 打开软件,进入“设置” -> “入站连接”。
- 默认可能就有一个 SOCKS5 入站,监听地址是
0.0.1,端口是10808(或自定义)。 - 你可以修改端口,或者“添加”一个新的入站协议,选择
socks。
- 启动: 确保
v2rayN在后台运行,它就会在指定的端口上监听 SOCKS5 连接。 - 连接: 客户端配置
0.0.1和你设置的端口即可。
优点:
- 图形界面,非常直观。
- 功能集成度高,除了 SOCKS5 还支持 HTTP 等其他协议。
缺点:
- 相比
socat和ss5,资源占用可能稍高。 - 某些软件的“服务端”模式可能不如专业工具稳定。
总结与对比
| 特性 | socat (命令行) |
ss5 (WSL) |
v2rayN (图形界面) |
|---|---|---|---|
| 易用性 | 低,需要命令行基础 | 中等,需要 WSL 和编辑配置文件 | 高,图形化操作 |
| 功能 | 极其强大,多协议 | 专注 SOCKS5,功能完善 | 非常强大,多协议 |
| 资源占用 | 极低 | 低 | 中等 |
| **平台 |
