目录
下面以 Windows 11 电脑作为内网代理服务器 为例讲解。假设:
服务器 Windows 11 IP:10.10.16.186 允许访问的内网网段:10.10.0.0/16 HTTP 代理端口:8080 SOCKS5 代理端口:1080
1. 3proxy 是什么?
3proxy 是一个很轻量的跨平台代理服务器,支持 Windows、Linux、Unix。它可以提供 HTTP/HTTPS 代理、SOCKS4/SOCKS5 代理、FTP 代理、DNS 缓存代理、TCP/UDP 端口映射等能力。官方说明里也提到,它可以作为独立代理程序运行,也可以用 3proxy.exe 这个组合程序统一通过配置文件启动多个服务。(3proxy)
它适合这些场景:
- 把一台能访问外网的 Windows 电脑变成 HTTP/SOCKS5 代理服务器
- 给内网设备提供统一出口
- 限制哪些 IP、哪些用户可以使用代理
- 记录访问日志
- 做简单端口转发,例如 TCP/UDP 映射
- 把 HTTP 代理、SOCKS5 代理、上游代理串联起来
它不是 VPN。VPN 是把整个网络流量接管到虚拟网卡,3proxy 更像是“应用层代理”,需要客户端或应用程序明确配置代理地址。
2. 下载 3proxy
建议从官方站点或 GitHub Releases 下载 Windows x64 版本。官方页面当前显示 3proxy 0.9.7 于 2026-07-04 发布;GitHub Releases 也显示 3proxy-0.9.7 为 Latest。(下载:3proxy-0.9.7-x64.zip)
下载后解压,例如放到:
C:\3proxy
常见目录大概类似:
C:\3proxy\ ├── bin64\ │ └── 3proxy.exe ├── cfg\ ├── doc\ └── logs\
如果没有 logs 目录,自己创建:
mkdir C:\3proxy\logs
3. 创建配置文件
新建文件:
C:\3proxy\cfg\3proxy.cfg
写入下面内容:
# DNS 服务器 nserver 8.8.8.8 nserver 1.1.1.1 nscache 65536 # 常用超时参数 timeouts 1 5 30 60 180 1800 15 60 # 日志 log "C:\3proxy\logs\3proxy.log" D rotate 30 # 内部监听 IP,也就是 Windows 11 这台机器的内网 IP internal 10.10.16.186 # 外部出口 IP,单网卡时一般也写本机 IP external 10.10.16.186 # 用户名密码认证 auth strong # 用户列表,CL 表示明文密码保存在配置文件里 users albert:CL:StrongPass_ChangeMe_2026 # HTTP 代理:只允许 albert 从 10.10.0.0/16 网段访问 allow albert 10.10.0.0/16 deny * proxy -p8080 # 清空 ACL,给 SOCKS5 单独设置规则 flush # SOCKS5 代理:只允许 albert 从 10.10.0.0/16 网段访问 allow albert 10.10.0.0/16 deny * socks -p1080
几个重点解释:
internal 10.10.16.186 表示 3proxy 监听这个 IP。
external 10.10.16.186 表示代理出去访问网站时使用这个出口 IP。
auth strong 表示启用用户名密码认证。3proxy 文档说明 strong 支持 SOCKS5、FTP、POP3、HTTP 代理的用户名密码认证。(GitHub)
users albert:CL:StrongPass_ChangeMe_2026 表示创建用户 albert,密码是 StrongPass_ChangeMe_2026。其中 CL 表示密码以明文方式写在配置文件里。(GitHub)
allow albert 10.10.0.0/16 表示只允许 albert 用户,并且来源 IP 必须是 10.10.x.x。
flush 表示清空上一段访问控制规则,再给下一个服务重新设置 ACL。官方文档也说明,每次为新服务创建新的访问控制列表时,都应该使用 flush 清空当前 ACL。(GitHub)
3proxy 的配置文件本质上像一个脚本,配置命令是按顺序执行的,所以 auth、users、allow、proxy、flush、socks 的顺序很重要。(GitHub)
4. 先用命令行方式测试
以管理员身份打开 CMD 或 PowerShell,进入目录:
cd C:\3proxy
运行:
.\bin64\3proxy.exe .\cfg\3proxy.cfg
如果没有报错,说明配置基本没问题。此时窗口不要关闭,先在另一台电脑或本机测试。
测试 HTTP 代理
curl.exe -v -x http://albert:StrongPass_ChangeMe_2026@10.10.16.186:8080 https://www.google.com
测试 SOCKS5 代理
curl.exe -v --socks5 albert:StrongPass_ChangeMe_2026@10.10.16.186:1080 https://www.google.com
如果能返回网页内容,说明代理可用。
5. 放行 Windows 防火墙
如果其他电脑连不上,通常是 Windows 防火墙没放行端口。
以管理员身份打开 PowerShell,执行:
New-NetFirewallRule ` -DisplayName "3proxy HTTP 8080" ` -Direction Inbound ` -Protocol TCP ` -LocalPort 8080 ` -RemoteAddress 10.10.0.0/16 ` -Action Allow New-NetFirewallRule ` -DisplayName "3proxy SOCKS5 1080" ` -Direction Inbound ` -Protocol TCP ` -LocalPort 1080 ` -RemoteAddress 10.10.0.0/16 ` -Action Allow
如果你想让所有来源都能连接,可以把:
-RemoteAddress 10.10.0.0/16
改成:
-RemoteAddress Any
但不建议这么做,尤其不要把代理端口直接暴露到公网。3proxy 官方安全建议也强调,要限制内部/外部接口,并用 ACL 限制来源网络和 localhost。(GitHub)
6. 安装成 Windows 服务
确认命令行运行没问题后,可以把它安装成 Windows 服务。官方文档给出的 Windows 服务安装方式是:
3proxy --install [path_to_config_file]
配置文件可以放在同目录,也可以显式指定路径。(GitHub)
以管理员身份运行:
cd C:\3proxy .\bin64\3proxy.exe --install C:\3proxy\cfg\3proxy.cfg
启动服务:
net start 3proxy
查看服务状态:
sc query 3proxy
停止服务:
net stop 3proxy
卸载服务:
net stop 3proxy .\bin64\3proxy.exe --remove
彻底删除服务:
sc delete 3proxy
GitHub 文档也明确说明 Windows 支持 --install 安装服务、--remove 移除服务,并支持服务 START、STOP、PAUSE、CONTINUE。(GitHub)
7. 客户端如何使用
Windows 客户端使用 HTTP 代理
打开:
设置 → 网络和 Internet → 代理 → 手动设置代理
填写:
地址:10.10.16.186 端口:8080
如果浏览器弹出认证框,输入:
用户名:albert 密码:StrongPass_ChangeMe_2026
浏览器单独使用
Chrome、Edge 默认走系统代理。 Firefox 可以单独设置代理:
设置 → 网络设置 → 手动代理配置
HTTP 代理:
10.10.16.186:8080
SOCKS5 代理:
10.10.16.186:1080
Android 使用
Android 系统 Wi-Fi 代理一般只支持 HTTP 代理:
Wi-Fi → 当前网络 → 修改网络 → 代理 → 手动
填写:
代理主机名:10.10.16.186 代理端口:8080
如果你要用 SOCKS5,通常需要 Clash、v2rayN、sing-box、Hiddify、浏览器插件或其他支持 SOCKS5 的客户端来配置。
8. 无密码版本,仅限内网 IP
如果你只想在公司内网使用,不想每次输入用户名密码,可以用 iponly。这种方式只按来源 IP 控制,不验证用户名密码。
nserver 8.8.8.8 nserver 1.1.1.1 nscache 65536 log "C:\3proxy\logs\3proxy.log" D rotate 30 internal 10.10.16.186 external 10.10.16.186 auth iponly allow * 10.10.0.0/16 deny * proxy -p8080 flush allow * 10.10.0.0/16 deny * socks -p1080
这种方式适合纯内网环境,但安全性不如用户名密码认证。
9. 常见问题排查
1)本机能用,其他电脑不能用
优先检查防火墙:
Get-NetFirewallRule -DisplayName "*3proxy*"
再检查端口是否监听:
netstat -ano | findstr ":8080" netstat -ano | findstr ":1080"
2)服务启动失败
先不要用服务方式启动,改用前台命令看报错:
cd C:\3proxy .\bin64\3proxy.exe .\cfg\3proxy.cfg
大概率是配置文件路径、日志目录、IP 地址写错。
3)提示认证失败
检查配置里的用户名密码:
users albert:CL:StrongPass_ChangeMe_2026
测试时要写完整:
curl.exe -v -x http://albert:StrongPass_ChangeMe_2026@10.10.16.186:8080 https://www.google.com
4)手机设置了代理但 App 不生效
很多 App 不一定走系统 HTTP 代理。浏览器通常可以,部分 App 可能绕过系统代理。如果要全局代理,建议用支持 VPN 模式的代理客户端,而不是单纯设置 Wi-Fi HTTP 代理。
5)不要开放成公网代理
不要这样配置:
auth none allow * proxy -p8080 socks -p1080
这会变成开放代理,风险很高。至少要做到:
auth strong users albert:CL:复杂密码 allow albert 10.10.0.0/16 deny *
10. 推荐你直接使用的最终配置
如果你的 Windows 11 代理服务器 IP 就是 10.10.16.186,建议直接用这个:
nserver 8.8.8.8 nserver 1.1.1.1 nscache 65536 timeouts 1 5 30 60 180 1800 15 60 log "C:\3proxy\logs\3proxy.log" D rotate 30 internal 10.10.16.186 external 10.10.16.186 auth strong users albert:CL:StrongPass_ChangeMe_2026 allow albert 10.10.0.0/16 deny * proxy -p8080 flush allow albert 10.10.0.0/16 deny * socks -p1080
然后执行:
cd C:\3proxy .\bin64\3proxy.exe C:\3proxy\cfg\3proxy.cfg --install net start 3proxy
测试:
curl.exe -v -x http://albert:StrongPass_ChangeMe_2026@10.10.16.186:8080 https://www.google.com curl.exe -v --socks5 albert:StrongPass_ChangeMe_2026@10.10.16.186:1080 https://www.google.com
这个方案适合你之前那种场景:内网 Windows 机器能访问外网,其他内网电脑或手机通过它作为 HTTP/SOCKS5 代理出口访问网络。
内网测试.配置备份
# DNS 服务器 nserver 8.8.8.8 nserver 1.1.1.1 nscache 65536 # 常用超时参数 timeouts 1 5 30 60 180 1800 15 60 # 日志 log "C:\3proxy\logs\3proxy.log" D rotate 30 # 内部监听 IP,也就是 Windows 11 这台机器的内网 IP internal 192.168.6.11 # 外部出口 IP,单网卡时一般也写本机 IP external 192.168.6.11 # IP白名单 auth iponly # 只允许同网段的局域网IP allow * 192.168.0.0/16 deny * proxy -p8080 # 清空 ACL,给 SOCKS5 单独设置规则 flush # 只允许同网段的局域网IP allow * 192.168.0.0/16 deny * socks -p1080