系统代理与 TUN 模式有什么区别?一文看懂代理流量接管机制
深入剖析操作系统网络栈中的系统代理(System Proxy)与 TUN 虚拟网卡模式(TUN Mode)在流量拦截、UDP/游戏支持、DNS 处理机制上的异同。
面向 macOS 用户(含 M1/M2/M3/M4 芯片)的科学上网全套指南。包含 Clash Verge Rev 授权、TUN 虚拟网卡安装、开发环境(Terminal / Git / Homebrew)代理加速技巧。
macOS 系统以其稳定和流畅著称,但在网络权限与系统安全性(Gatekeeper 与网络扩展)方面有着更严格的限制。对于使用 Apple Silicon(M 系列芯片)的 Mac 用户,选择原生支持 arm64 架构的客户端尤为重要。
目前 macOS 平台上体验最佳的开源工具同样是 Clash Verge Rev(支持原生的 macOS 状态栏集成、暗黑模式与 TUN 模式)。此外,对于预算充足的专业开发者,Surge for Mac 和 Loon for macOS 也是顶级的生产力选择。
本文将以 Clash Verge Rev 为例,拆解 macOS 从安装、授权、订阅配置到开发者终端代理的一整套工作流。
请直接从开源社区官方仓库获取安装包:
Clash.Verge_x.x.x_aarch64.dmg;Clash.Verge_x.x.x_x64.dmg。Clash Verge 图标拖入 Applications 文件夹;在 macOS 上,启用底层 TUN 虚拟网卡需要安装特权辅助工具(Helper Tool):
很多 macOS 用户配置好代理后,发现 Chrome 浏览器能上 Google,但是在终端(Terminal)执行 git clone 或 brew install 依然超时卡死。这是因为终端命令行默认不会继承系统的 GUI 代理设置。
在终端中执行以下命令(假设 Clash 本地监听端口为 7890):
# 设置 HTTP 和 HTTPS 代理
export http_proxy=http://127.0.0.1:7890
export https_proxy=http://127.0.0.1:7890
export all_proxy=socks5://127.0.0.1:7890
# 测试终端连通性
curl -I https://www.google.com
使用文本编辑器打开终端配置文件:
nano ~/.zshrc
在文件末尾添加以下快捷别名(Alias):
# 代理快捷指令
alias setproxy="export http_proxy=http://127.0.0.1:7890; export https_proxy=http://127.0.0.1:7890; export all_proxy=socks5://127.0.0.1:7890; echo 'Proxy on'"
alias unsetproxy="unset http_proxy https_proxy all_proxy; echo 'Proxy off'"
alias testproxy="curl -I https://www.google.com"
保存后执行 source ~/.zshrc 生效。今后在终端中输入 setproxy 即可一键开启终端代理,输入 unsetproxy 即可关闭。
若只需针对 GitHub 加速,可直接为 Git 配置全局 SOCKS5 代理:
git config --global http.proxy 'socks5://127.0.0.1:7890'
git config --global https.proxy 'socks5://127.0.0.1:7890'
💡 编写说明与技术中立声明:
本文基于公开技术文档、通用网络原理与本站整理资料编写。软件版本、网络表现及服务状态可能因时间、地区和网络环境不同而变化。请确保在符合您所在地法律法规及网络服务条款的前提下进行合规使用。
深入剖析操作系统网络栈中的系统代理(System Proxy)与 TUN 虚拟网卡模式(TUN Mode)在流量拦截、UDP/游戏支持、DNS 处理机制上的异同。
全面覆盖移动端科学上网配置流程。iPhone 外区 Apple ID 获取与 Shadowrocket 实操,Android 平台 Clash Meta 与 v2rayNG 后台保活防断流设置。
详解 Windows 10/11 平台科学上网实操流程。涵盖 Clash Verge Rev 与 v2rayN 下载安装、订阅导入、TUN 虚拟网卡与常见端口冲突排查。