名词解释
系统代理和 Tun 模式有什么区别?
代理模式决定本机网络请求程序发出的流量如何抵达监听在本地的代理程序,即「入站」。
| 代理模式 | 说明 | 特点 |
|---|---|---|
| 系统代理 | 1. 代理程序会在系统「约定」的特定位置(如注册表、系统变量等)设置好代理程序监听请求的端口信息,进行网络请求的应用会自发性地尝试读取这部分信息并将请求发送至代理程序,而不同操作系统的「约定」方式各异; 2. 系统代理更像是一种行业内的「约定」,并非所有程序都遵守这种非强制性的「约定」,最终采取哪种方式发生请求往往取决于开发人员的意愿。 | 1. 具有自发性,网络请求程序尝试使用「约定」配置或使用网络请求程序里额外指定的配置; 2. 不能代理 UDP 流量,如游戏数据包等。 |
| TUN 模式(虚拟网卡) | 代理程序会创建一张虚拟网卡通过配置操作系统的路由将网络请求重定向到这张虚拟网卡,代理程序从虚拟网卡中读取并处理这些网络请求。与系统代理不同的是,该步骤发生在网络请求程序发出请求之后,因此这种方法不依赖开发人员的意愿。 | 1. 拦截和处理所有流量(TCP/UDP)重定向到本地的代理程序; 2.网络请求程序无需额外配置。 |
规则、全局、直连模式都是什么?对我有什么影响?
路由模式决定监听在本地的代理程序的流量如何出去,即出站。
| 路由模式 | 说明 |
|---|---|
| 规则模式 | 根据配置(订阅)文件中的规则(集)进行条件匹配,决定流量是从哪个代理节点或本地网络出去。 |
| 全局模式 | 所有流量均从手动选定的代理节点或本地网络出去。 |
| 直连模式 | 所有流量均从本地网络出去,不经过任何代理。 |
服务模式是什么?
在操作系统中,子进程通常继承其父进程的权限级别,管理员身份启动的服务所「拉起」的子进程也会具有管理员权限;
以管理员身份安装并启动服务模式后,由服务进程「拉起」代理内核程序。代理内核程序便成为服务进程的子进程,运行在管理员权限下;
因此,服务模式的用途是能够以非管理员身份启动 TUN 模式。
- TUN 模式的默认堆栈是
GVisor,使用 TUN 模式需要自行对系统防火墙放行内核verge-mihomo和verge-mihomo-alpha,不同堆栈的区别详见 TUN Stack; clash-verge-service是独立于 CVR 应用程序之外的进程,给与管理员授权后用于无感拉起其他服务,不会随 CVR 关闭。当退出 CVR 后,服务模式进程clash-verge-service会继续在后台运行,不会影响系统。
「UA」是什么?浏览器里的那个 UA 吗?
差不多是。
UA 指 User Agent,是 HTTP 请求标头中的一个字段,其用于服务端判断客户端类型,从而做出不同的响应。
你的代理服务器通过请求头中的 UA 字段判断你所使用的代理工具,从而下发不同的配置文件。
那么该如何验证是否正确?
PowerShell
# 第一行粘贴订阅链接
$sub='[粘贴订阅链接],input subscription link'
# 第二行执行HTTP请求
Invoke-RestMethod -UserAgent 'clash-verge/v2.4.0' -Method get -FollowRelLink -uri $subbash
curl -A clash-verge/v2.4.0 [粘贴订阅链接]若以上命令返回响应正常的以 YAML格式的 mihomo 配置文件即验证正确。
Clash 的 Meta 内核和 Alpha 内核是什么?这两个有什么差异吗?我该选哪一个?
- Meta 内核:一般指 Clash Meta,也称「Meta」、「Mihomo 内核」。区别于 Clash Premium 为闭源内核,Mihomo 为开源内核;
- Alpha 内核:一般指 Clash Meta Alpha,是 Mihomo 内核的测试版本,更新频率高,通常可以得到最新的 bug 修复
或新特性。
说白了其实不需要担心选哪个,适合自己的就足够了。