Windows
问题原因:操作系统缺少 VC 运行环境所需的库。
解决方案:下载并安装 VC 运行库。
x64 :https://aka.ms/vs/17/release/vc_redist.x64.exe
x86 : https://aka.ms/vs/17/release/vc_redist.x86.exe
arm64 : https://aka.ms/vs/17/release/vc_redist.arm64.exe
99.99% 是因为你下载错了文件,请检查你是否下载了对应你机器架构的安装包。
对于大部分人来说,应该下载 x64 版本,而不是 arm64 版本。
问题原因
Tauri 框架依赖于 WebView2。如果卸载或禁用了 WebView2 ,将无法显示界面。具体表现为: 程序可以启动,但是点击托盘菜单没有反应。
解决方案
如果是利用第三方软件禁用了 Edge,请检查是否同时禁用了 WebView2,将 WebView2 取消禁用。
如果是卸载了 WebView2,可以下载 WebView2 安装包,重新安装 WebView2。
如果是企业版系统或 Win7 无法安装 WebView2,请尝试在 Release 下载内置了 WebView2 的版本(带有 fixed_webview2 字样的安装包)。
若问题仍然存在,请尝试使用 Windows 7 兼容模式启动。
问题原因
可能是你的 Windows 系统关闭了自动更新。
解决方案
打开自动更新
若实在无法安装 WebView2,可以尝试在 Release 下载内置了 WebView2 的版本(带有 fixed_webview2 字样的安装包)。
解决方案
借助 vxiiduu/VxKex 项目运行,步骤:
下载 Releases 中的 KexSetup_Release_x_x_x_xxxx.exe 并安装。
进入 Clash Verge 主程序目录,右键打开下面文件的属性,找到 VxKex 选项卡,勾选 Enable VxKex for this program 及 Disable VxKex for child processes 选项,即可正常运行。
文件清单
Clash Verge.exe
resources\clash-verge-service.exe
resources\install-service.exe
resources\uninstall-service.exe
到 内核目录 中找到 uninstall-service.exe,以管理员权限执行。
配置了静默启动,依然弹出程序窗口。
如果出现任务管理器中有两个启动项,或者开机启动时静默启动失效。请用管理员权限启动软件后开关一次开机启动设置,即可删除多余的启动项。
如果平时一直是使用管理员权限运行的软件,那就用普通用户权限运行软件后开关一次开机启动设置,删除多余启动项后,后续不会再出现这个问题。
不使用 Clash 就无法访问网络,打开 Clash 后才能正常访问网络。
可能原因: 由于未知原因(如断电、蓝屏或其他原因),系统代理未能正确地被关闭(即使 Clash 已退出),但实际上 Windows 的系统代理设置开关仍然开着。
解决办法: 打开 Windows 设置 -> 网络和 Internet -> 代理 -> 手动设置代理,关闭 使用代理服务器。
日志报错: An attempt was made to access a socket in a way forbidden by its access permissions.
系统服务没有开启,执行下列命令开启服务。
net stop hns
net start hns
或者手动打开服务设置,重新启动 Hot Network Service。
问题原因
之前的某些版本升级有 Break Change,如果从很旧的版本升级会导致无法识别已安装目录
解决方案
手动卸载系统中存在的多个 Clash Verge Rev,然后重新安装最新版本,后续更新不会出现此类问题。
问题原因
Windows 系统 UWP 应用存在沙盒机制,正常情况下无法访问 localhost(即无法访问回环地址),而代理程序在本地端口监听请求。因此需要解除 UWP 应用的回环访问限制。
解决方案
打开 Clash 设置 -> UWP 工具 ,找到需要解除限制的 UWP 程序。
勾选需要解除限制的 UWP 程序后,点击工具顶部的 Save Changes 按钮保存修改。
Windows 的 Windows 设置 -> 网络和 Internet -> 代理 中显示系统代理已经开启,且指向了正确的端口。Clash Verge Rev 的 设置 -> 系统代理 小齿轮界面中,却显示当前系统代理的开启状态为 false。
解决办法
删除原有的宽带拨号设置,然后重新创建宽带拨号设置(连接名称不要使用中文)。
问题原因: Windows 需要更新图标缓存文件,并重启资源管理器。
解决办法: 点击按钮复制下列代码,Win + R 输入 cmd 确定,右键粘贴命令并执行。或手动删除用户目录下的该文件,并重启资源管理器。
del /A "%userprofile%\AppData\Local\IconCache.db" 2>nul & taskkill /f /im explorer.exe & start explorer.exe
MacOS
macOS 系统 10.12 版本后对来自非 Mac App Store 中的应用做了限制。
问题原因: 由于应用没有签名,所以可能会显示开发者无法验证或应用已损坏,需要授予开发者Apple Developer Program 会员资格。
解决方案: 点击 取消 按钮,然后去 系统偏好设置 -> 安全性与隐私 页面,点击 仍要打开 按钮,然后在弹出窗口里点击 打开 按钮即可。如果你的系统版本较高,可能在 安全性与隐私 页面中找不到以上选项,或启动时提示文件损坏。打开终端,并执行下列命令进行授权。
sudo xattr -d com.apple.quarantine /Applications/Clash\ Verge.app
解决方案: 详见macOS 使用手册,并选择对应 mac 版本的文档。
点击系统代理开关启用/禁用系统代理,系统代理设置中实际上未能被修改。
问题原因: 更改锁定的系统偏好设置需要管理员密码,当前可能处于普通权限。
解决方案: 系统偏好设置 -> 安全性与隐私 -> 高级,关闭 访问系统范围偏好设置需要输入管理员密码 (不同系统版本的名称略有差异),点击 完成 。
问题原因: macOS Sonoma 的系统 BUG。
解决方案: 系统偏好设置 -> 显示器,调整一下显示器分辨率,然后再调回去。
Tun 模式需要管理员权限,请先安装并开启服务模式后再使用 Tun 模式。
Mac/Linux 用户也可以在设置->Clash 内核,点击 ⚙️ 图标,点击"授权"。
问题原因:
内核文件损坏,没找到内核。
内核文件被杀毒软件删除或添加到了隔离列表。
解决方案:
如果文件损坏,删除老配置,卸载老版本,重新安装。
如果被杀毒软件误伤,请将文件手动恢复并添加到白名单。
解决方案: 可以将日志等级设置为 Silent 或 Error,并在 杂项设置 中设置自动清理日志间隔。
解决方案: 卸载重装。
error trying to connect: invalid peer certificate: UnknownIssuer
解决方案: 勾选 允许无效证书(危险)。
配置文件添加(版本号不重要,含有 clash-verge 字样即可)。
global-ua: clash-verge/v1.6.0
在设置页的复制环境变量类型选项中选择要使用的命令行类型(PowerShell,Bash,CMD),然后右键屏幕右下方系统托盘里的小图标,选择 复制环境变量 即可复制对应的命令行环境变量。然后在命令行中执行对应的命令即可使用代理。
无法访问公司内网的域名,而 IP 可以正常访问。
问题原因: 配置中启用了内核的 DNS 模块,却未正确配置 DNS 服务器,导致无法解析内网的主机名/域名(由于内网主机名/域名不公开,即便根域名服务器也无法查到记录)。
解决办法: 修改配置文件,添加 nameserver-policy配置,为内网域名指定 DNS 服务器(一般为内网网关)。
假设你的 IP 为 10.10.10.123 ,网关为 10.10.10.1,要访问的域名为 www.helloworld.com。
dns:
nameserver-policy:
'+.helloworld.com': '10.10.10.1'
问题原因: 暂时未知。
解决办法: 设置 -> 界面设置 -> 关闭 流量图显。
代理界面一片空白,不显示任何节点信息,而代理运行正常。
日志提示: External controller listen error: listen tcp 127.0.0.1:9097: bind: An attempt was made to access a socket in a way forbidden by its access permissions.
问题原因: 外部控制端口被其他程序占用,或者外部控制访问密钥含有中文字符。
解决办法: Clash设置 -> 外部控制 -> 修改 外部控制监听地址 中的端口并保存,然后退出并重启程序。
使用 Watt Toolkit 或 steamcommunity 302 和 Clash Verge Rev 会导致无法访问被加速服务(如 Steam、Github 等),而 Clash For Windows 正常。
问题原因:
Watt Toolkit / steamcommunity 302 默认是基于 hosts 文件工作的,通过修改系统 hosts 将被加速站点的请求劫持到本地的 80 或 443端口,由在此端口上监听的代理程序代为访问。
Clash For Windows 使用的 Premium 内核并不会查询系统 hosts 文件。Clash Verge Rev 使用的 Meta 内核默认会查询系统 hosts 文件。
根据使用的代理模式、分流规则配置、流量嗅探配置的不同,会出现不同的情况:使用代理节点访问 127.0.0.1、使用代理节点访问 加速服务器,再访问被代理网站。
鉴于情况较为复杂,仅给出下列解决方案。如不能解决,仅建议两者不要同时使用,不再列举所有情况的解决方案。
解决办法: 禁用内核查询系统 hosts 的行为。
Info
如果你的内核版本至少为v1.18.2,可以将系统变量 DISABLE_SYSTEM_HOSTS 设置为 1 。
如果你的内核版本至少为v1.18.5(或最新 alpha 版本),可以使用下列方案。
如果你了解配置文件、Merge/Srcipt工作原理,只需按照你能够接受的方式,自行将 DNS 配置中的use-system-hosts修改为false即可。下列方案均基于此原理。
如果你的 Clash Verge Rev 版本为 v1.6.2及以上。在订阅页面新建一个 Merge 配置,文件使用以下内容保存并右键启用。
dns:
use-system-hosts: false
如果你的 Clash Verge Rev 版本为 v1.6.2以下。在订阅页面新建一个 Script 配置,文件使用以下内容保存并右键启用。
function main(config) {
config.dns = { ...config.dns, "use-system-hosts": false };
return config;
}
Tip
📌为红色表示锁定当前节点,且当前节点为可用(自动选择优先选择该节点,尽管延迟不是最小的)。
📌为灰色表示锁定当前节点,但当前节点不可用(下次健康检查变为可用时,继续优先使用该节点)。
当需要为 url-test 类型的代理组设置一个更高优先级的节点,可以使用该方法。
fallback 类型的代理组会在发生故障转移时自动消除。
解决办法: 主动点击
按钮,并等待代理组内节点全部测试完成。
测试界面进行测试时,国外网站延迟测试正常,但是国内网站延迟测试(直连)立马提示超时,实际上网站均可以正常访问。
可能原因: 杀毒软件(如火绒)对 HTTPS 连接进行加密,出现证书不一致的情况报错导致。可能还会伴随着实际体验延迟较大的情况。
解决办法: 关闭杀毒软件(如火绒) Web 扫描加密功能(各厂商功能名称可能有差异),或将使用的 二进制内核文件 添加到信任程序名单中,并重启程序。