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: 动态端口转发 对应:

设置一个profile
# 监听端口
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