clash-verge-rev
我在最近一次实践 使用OCLP(OpenCore Legacy Patcher)安装最新macOS 遇到一个非常麻烦的事情: GFW防火墙屏蔽了GitHub,而OCLP在完成 macOS 15安装启动后,必须在启动后安装驱动补丁才能正常使用显卡、无线网卡。
我最初以为通过 SSH Tunneling: 动态端口转发 能够轻易通过系统级全局设置sock5代理 越过长城 ,但是 OCLP 反复提示 Cannot patch due to the following reasons: Missing Network Connection. 。
原因很简单,OCLP核心使用了 Python 开发,默认不支持socks代理(需要补充安装python模块 PySocks ),所以在macOS中设置了系统全局socks5代理也没有效果。
gemini提供了一个非常简洁的建议,我实践下来非常有效,所以整理记录如下:
clash-verge-rev开源项目 提供了简单配置就能够管理系统代理、TUN(虚拟网卡)模式:
内置 Clash.Meta(mihomo) 内核,并支持切换 Alpha 版本内核
简洁美观的用户界面
配置文件管理和增强(Merge 和 Script),配置文件语法提示
系统代理和守卫、TUN(虚拟网卡) 模式
在gemini的指导下,前后花费10分钟就能够完成配置(摸索)
备注
我依然使用 SSH Tunneling: 动态端口转发 构建底层的socks5代理, clash-verge-rev 作用是构建和维护TUN设备,将系统流量通过TUN设备转发给本地已经构建的socks代理,以实现 越过长城
架构
clash-verge-rev 本身并不负责处理数据包,它是一个使用 Tauri(基于 Rust 和 Webview2)编写的图形界面(壳):
GUI (Tauri + React): 负责配置管理、可视化节点选择、日志展示和策略组切换
Core (Mihomo/Clash Meta): 它是真正的执行引擎。当你启动软件时,它会在后台拉起一个 mihomo 核心进程。这个核心负责维护 TCP/UDP 连接、执行分流规则和处理加密协议(如 Shadowsocks, Vmess, Trojan 等)。
TUN 模式 (虚拟网卡层)
通过 utun 驱动在 macOS 系统中创建一个虚拟网卡
修改系统的路由表,将所有流量的默认出口指向这个虚拟网卡
所有的网络请求(无论是 Python, 终端还是系统更新)都会经过这个虚拟接口
Mihomo核心通过 L3 (网络层) 抓取这些数据包核心解析数据包的目标地址,根据你定义的规则(Rules)分流,再通过
SSH SOCKS5隧道 发送出去
配置
已经完成了 SSH Tunneling: 动态端口转发 ,然后配置 clash-verge-rev :
点击
配置 (Profiles),并点击新建 (New)类型选择 “本地 (Local)”,命名为你希望的名字,如
ssh-tunnel在配置文件中写入以下内容和前面设置的 SSH Tunneling: 动态端口转发 对应:
# 监听端口
port: 7890
socks-port: 7891
# 开启 TUN 模式
tun:
enable: true
stack: system # 或者 gvisor
auto-route: true
auto-detect-interface: true
proxies:
- name: "My-SSH-Tunnel"
type: socks5
server: 127.0.0.1
port: 1080
proxy-groups:
- name: "Proxy"
type: select
proxies:
- "My-SSH-Tunnel"
rules:
- MATCH,Proxy
返回配置页面,点击刚才创建的配置文件,使其变成蓝色(激活)
在
Settings页面,勾选TUN 模式 (TUN Mode和系统代理 (System Proxy)
此时就会在Home观察页面看到流量活动,就可以尝试访问google或youtube验证
参考
gemini