不灭的焱

革命尚未成功,同志仍须努力 下载Java21

作者:AlbertWen  添加时间:2026-07-09 18:23:54  修改时间:2026-07-27 16:55:50  分类:03.运维管理  编辑

目录

下面以 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)

它适合这些场景:

  1. 把一台能访问外网的 Windows 电脑变成 HTTP/SOCKS5 代理服务器
  2. 给内网设备提供统一出口
  3. 限制哪些 IP、哪些用户可以使用代理
  4. 记录访问日志
  5. 做简单端口转发,例如 TCP/UDP 映射
  6. 把 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 的配置文件本质上像一个脚本,配置命令是按顺序执行的,所以 authusersallowproxyflushsocks 的顺序很重要。(GitHub)

4. 先用命令行方式测试

以管理员身份打开 CMDPowerShell,进入目录:

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