ℹ️NOTE选择指南:
- 仅看网页 -> 使用系统代理或浏览器代理扩展。
- 需要命令行、游戏、Steam、Git 或终端工具代理 -> 使用 TUN 模式。
在使用 Sing-box, Clash, v2rayN 等代理软件时,我们往往需要选择流量如何接管到代理客户端中。很多用户容易混淆“系统代理(System Proxy)”、“TUN 虚拟网卡模式”与“浏览器代理(如 SwitchyOmega/ZeroOmega)”的作用。
1. 三种代理模式的原理与接管路径
[浏览器扩展代理] ───> 仅拦截浏览器内部发起的 HTTP/HTTPS 请求
[系统代理 (HTTP/SOCKS)] ─> 修改系统注册表/环境变量,依靠应用程序自发遵守
[TUN 虚拟网卡模式] ──> 在操作系统内核层创建虚拟网卡,强制捕获所有 L3 IP 数据包
(1) 浏览器代理扩展 (如 ZeroOmega / SwitchyOmega)
- 实现方式:利用 Chrome/Firefox/Edge 浏览器官方的 Proxy API。扩展程序直接接管浏览器内部的网络请求,将其转发至本地代理端口(如
127.0.0.1:7890)。 - 优点:完全不影响浏览器之外的其他任何系统软件;资源占用极低。
- 缺点:仅对当前浏览器生效。手机 app、命令行终端、桌面客户端完全无法受惠。
(2) 系统代理 (System Proxy)
- 实现方式:代理软件向 Windows 注册表或 macOS/Linux 系统设置写入全局代理服务器地址(如
http=127.0.0.1:7890;https=127.0.0.1:7890)。 - 优点:开箱即用,无需配置复杂的虚拟网卡驱动。绝大多数常规桌面软件(如 Telegram、Slack、Spotify)会自动读取系统代理设置。
- 缺点:非强制性。很多命令行工具(如 CMD、PowerShell、Git)、某些游戏客户端或 Docker 会直接忽略系统代理设置。
(3) TUN 虚拟网卡模式 (TUN Mode)
- 实现方式:代理软件(通过 Admin/Root 权限)在系统中创建一张虚拟网络适配器(TUN Device),并通过修改系统路由表将默认网关指向该虚拟网卡。
- 优点:全面接管。不论是终端命令行、Git、Node.js/Python 脚本、游戏还是未提供代理设置的第三方软件,所有网络数据包均被强制捕获并处理。支持完美的 UDP 转发与 DNS 拦截。
- 缺点:需要管理员权限安装驱动;如果客户端异常崩溃可能导致本地网络短时间断网。
2. 综合对比表
| 对比维度 | 浏览器代理扩展 | 系统代理 (System Proxy) | TUN 虚拟网卡模式 |
|---|---|---|---|
| 权限要求 | 普通用户权限 | 普通用户权限 | 必须管理员 / Root 权限 |
| 控制粒度 | 仅当前浏览器 | 遵循系统代理设置的桌面应用 | 系统级所有 IP 数据包 |
| UDP 流量支持 | 不支持 (仅 HTTP/HTTPS/SOCKS5) | 部分支持 (视协议类型而定) | 完全原生支持 |
| Terminal / Git 接管 | 无法接管 | 需要手动 export http_proxy |
自动接管无须配置 |
| 网络游戏加速能力 | 无 | 极弱 | 良好(需配合低延迟节点) |
3. 常见场景配置推荐
-
场景一:日常网页查阅资料、看视频 开启客户端的系统代理即可,简单高效。
-
场景二:程序员写代码、Terminal/Git/Docker 拖取依赖 建议开启客户端的 TUN 模式(推荐在 Sing-box 或 Clash Meta 中开启
tun.stack: system或gvisor),彻底解决命令行不走代理报错的问题。 -
场景三:工作需要,仅希望特定浏览器走代理,其他应用直连 关闭系统代理,在 Chrome 中安装 ZeroOmega 扩展,单独配置本地端口代理。
* 点击复制包含绝对主地址的分享链接