ProxyBridge 是一款轻量级、开源的通用代理客户端,旨在解决一个核心痛点:让那些本身不支持设置代理的网络程序,也能通过代理服务器访问网络。与商业软件 Proxifier 类似,它在系统层面工作,可以强制任何程序的流量走代理,无需修改程序本身的配置。
核心特点
- 开源免费:采用 MIT 开源协议,对个人和企业用户都免费且可定制。
- 跨平台支持:支持 Windows 和 macOS 平台。需要说明的是,搜索结果中关于其Linux支持情况存在矛盾:有来源明确表示它不支持Linux,而另一些来源则称其支持Linux。建议以项目官方的最新说明为准。
- 协议全面:支持 SOCKS5 和 HTTP 代理协议,并且可以代理 TCP 和 UDP 流量,这在同类工具中是一个优势。
- 灵活的规则系统:可以按程序进程、目标端口或协议来设置路由规则,支持将流量设为“代理”、“直连”或“阻止”三种动作,相当于一个简易的防火墙。
- 内核层拦截:通过更底层的技术实现流量拦截,对不支持代理的程序兼容性更好。
- 命令行界面:提供 CLI 工具,可以加载 GUI 导出的配置文件无界面运行,适合后台或自动化场景。
项目地址:https://github.com/InterceptSuite/ProxyBridge
下载地址:https://interceptsuite.com/download/#proxybridge
使用方法:使用 ProxyBridge 并不复杂,核心两步就是“配置代理服务器地址”和“设定让哪个程序走代理”的规则,保存后即可生效。
与 Proxifier 的简单对比
| 对比项 | ProxyBridge | Proxifier |
|---|---|---|
| 授权 | 开源免费 (MIT) | 商业软件 (需付费) |
| 平台 | Windows, macOS | Windows, macOS, Android |
| 协议支持 | TCP + UDP | 主要支持TCP |
| 实现方式 | 内核层流量拦截 | 用户层代理调度 |
针对Linux系统的替代选择
Linux生态下也有其他优秀且久经考验的开源工具,可以满足类似甚至更高级的需求。
1. Graftcp:专为“静态编译”程序而生
graftcp 是一个专为解决Linux下代理难题而生的创新工具。
- 解决的核心痛点:许多用Go、Rust等语言编写的程序是静态编译的。经典工具如
proxychains-ng通过LD_PRELOAD劫持网络请求,但对静态编译的程序无效。graftcp使用ptrace系统调用,能追踪和修改任何程序的连接信息,因此对任何程序都有效。 - 工作原理:它分为两部分:
graftcp-local(本地SOCKS5代理客户端)和graftcp(用于启动目标程序的包装器)。使用时,先启动graftcp-local,然后用graftcp命令启动目标程序即可。 - 典型用法:
./graftcp go get -v golang.org/x/net/proxy或./graftcp chromium-browser,让这些程序的流量都通过SOCKS5代理。
2. Cproxy:基于cgroup的透明代理
cproxy 是另一个强大的Linux方案,它基于Linux的 cgroup net_cls 功能实现透明代理。
- 主要优势:使用方式和
proxychains一样简单,但功能更强大。它不仅能代理TCP和DNS(UDP) 流量,而且支持静态编译的程序,甚至可以代理已经运行中的进程(通过--pid参数)。 - 使用场景:非常适合需要代理现有系统服务(如Docker守护进程)的场景。
- 注意:由于需要修改cgroup,通常需要
root权限。
3. Proxychains-ng:Linux命令行的经典选择
如果不想尝试新工具,proxychains-ng 是几乎所有Linux发行版软件源里都有的经典工具。
- 原理与局限:它通过
LD_PRELOAD劫持动态链接程序的网络请求,使用方便,命令格式为proxychains4 <你的命令>。但它无法代理静态编译的程序(如Go语言应用)。 - 适用场景:适合代理大多数常规的命令行程序和脚本,日常使用非常便捷。
总结:如果你是Linux用户,并希望代理Go/Rust等静态编译的程序,graftcp 和 cproxy 是比 proxychains-ng 更合适的选择。对于常规动态链接的程序,proxychains-ng 依然是一个轻量可靠的选择。

