安装前:区分客户端、内核与配置
Clash Nyanpasu 是桌面图形客户端。窗口能打开,只能说明界面进程已启动;网络请求还需要运行中的代理内核、有效配置,以及应用到内核的流量入口。首次配置建议按“安装 → 导入配置 → 启动内核 → 手动代理测试 → 系统代理”的顺序进行,暂时保持 TUN 关闭。
- 客户端:负责配置档案管理、设置界面、日志展示和系统集成。
- 内核:读取配置并处理连接。mihomo 常被称为 Clash Meta 内核,具体可选项取决于客户端发行版本。
- Profile:一份本地配置或远程订阅记录。配置通常包含节点、策略组、DNS 与路由规则。
- 代理入口:例如本地 HTTP/SOCKS 监听端口,或 TUN 虚拟网卡。入口不同,接管范围也不同。
Windows、macOS 与 Linux 安装步骤
Windows:先确认系统类型与安装权限
- 打开「设置」→「系统」→「系统信息」,查看“系统类型”。x64 与 ARM64 应选择对应构建;不要仅凭 Windows 11 的名称判断架构。
- 从下载页选择当前发布提供的安装包。先正常安装并启动,记录任何依赖缺失或系统安全提示的完整内容。
- 首次启动以普通用户权限完成配置导入和本地端口测试。需要服务模式或 TUN 时,再按客户端提示安装服务或授权。
- 如果出现 WebView2 相关错误,按该版本的安装说明检查运行时。离线设备需准备适配架构的运行时安装包,不要把界面依赖错误当作订阅错误。
Windows 的系统代理可在「设置」→「网络和 Internet」→「代理」中核对。测试时不要同时运行两个会修改系统代理的客户端,否则最后一次写入设置的程序可能覆盖前一个程序的地址与端口。
macOS:核对芯片,再处理安全提示
- 在 Apple 菜单 →「关于本机」查看“芯片”或“处理器”。Apple 芯片选择对应 ARM64 构建,Intel 设备选择对应 x64 构建;通用构建以下载页标注为准。
- 如果下载的是磁盘映像,打开后将应用复制到「应用程序」,再从该目录启动,避免长期在挂载的映像内运行。
- 遇到系统阻止打开的提示,先确认来源和系统兼容性,再按「系统设置」→「隐私与安全性」中实际显示的选项处理。不要为运行单个应用关闭整个系统的安全机制。
- 只有启用相应功能时才处理权限请求。普通本地代理监听与系统代理,并不意味着必须批准所有网络扩展或钥匙串请求。
较新的 macOS 可在「系统设置」→「网络」→ 当前网络服务 →「详细信息」→「代理」查看代理状态。系统版本不同,入口名称可能略有差异。若授权框反复出现,先记录请求方名称与请求内容,再判断是服务安装、系统网络设置还是凭据访问。
Linux:区分包格式、架构与桌面环境
先执行 uname -m 查看架构:常见结果 x86_64 对应 x64,aarch64 对应 ARM64。再依据发行版和当前发布提供的文件选择安装方式。软件包管理器安装与 AppImage 运行是不同路径,不应混用命令。
- 发行版软件包:通过系统包管理器安装,并阅读依赖解析结果。缺少图形运行库时,应依据错误信息补齐依赖。
- AppImage:先赋予文件执行权限;若日志提示 FUSE 问题,按发行版和该构建说明处理,不要通过长期使用 root 身份运行图形界面来绕过。
- 桌面系统代理:GNOME、KDE 与终端程序的读取方式不同。客户端显示系统代理已开启,仍需验证目标应用是否采用该设置。
Linux 桌面启动后没有窗口时,从终端启动实际安装的可执行文件并保留输出。缺少共享库、显示会话不可用与内核配置错误处于不同层级,排查时应先处理最早出现的明确错误。
导入配置:先取得一份可运行的 Profile
在客户端的配置管理页添加本地 YAML 或远程订阅,等待导入完成,再将该配置设为当前使用项。各版本的按钮名称可能是“配置”“Profiles”或类似名称,操作目标始终是创建配置记录并激活,而不只是把链接保存到输入框。
- 确认订阅提供方支持 Clash YAML 或当前内核可识别的配置格式。浏览器能打开链接,不等于返回内容适合直接导入。
- 检查下载结果是否为配置文本。登录页面、过期提示、HTML 错误页和只有节点列表的内容,都可能导致解析失败或缺少策略组。
- 激活配置后查看日志,确认没有 YAML 解析错误、未知字段造成的启动失败或不存在的规则目标。
- 进入代理或策略组页面,确认实际有可选择的节点。若组中只有
DIRECT,需要继续检查配置内容,而不是反复切换系统代理。
订阅 URL 可能包含访问令牌。截图、提问和复制日志前,应遮蔽 URL 查询参数、节点密码与控制接口密钥。远程订阅会更新原始内容,本地修改是否保留取决于客户端的配置处理机制;长期定制宜使用该版本支持的覆写方式。
内核与端口:先检查实际生效值
首次安装优先沿用客户端随发行版本提供的内核。需要使用 mihomo 特有字段时,再确认当前运行内核及其版本是否支持。切换内核之后要重新加载配置,并查看新进程的启动日志;界面中选中了某个名称,不足以证明新内核已成功运行。
| 字段或设置 | 用途 | 首次检查 |
|---|---|---|
mixed-port | 在同一端口提供 HTTP 与 SOCKS 代理入口。 | 记录实际监听端口,测试时与客户端地址保持一致。 |
allow-lan | 控制是否允许局域网设备接入代理。 | 仅本机使用时保持关闭,并检查绑定地址。 |
mode | 选择规则、全局或直连等运行模式。 | 日常从规则模式开始,确认规则目标有效。 |
external-controller | 提供客户端与内核之间的控制接口。 | 不要将控制接口端口填成浏览器代理端口。 |
下面是用于说明字段关系的 YAML 片段,不是一份包含节点和规则的完整订阅。不要用它覆盖当前整份配置。客户端覆写可能改变最终值,因此应以实际运行配置与日志为准。
mixed-port: 7890
allow-lan: false
bind-address: 127.0.0.1
mode: rule
log-level: info
控制接口与流量入口必须分开理解。例如某份配置把控制接口设为 127.0.0.1:9090,这个地址用于管理内核,不用于网页请求转发。未经必要访问控制,不应把控制接口监听到所有网卡。
连接验证:手动代理、系统代理、TUN
第一步:通过显式代理测试端口
先选定可用策略组与节点,再让单次请求明确经过本地代理。以下命令访问标准 HTTPS 示例域名;成功返回响应只表示这次请求可完成,不代表所有网站、协议与应用均已接管。Windows 使用 curl.exe,避免部分 PowerShell 环境中的同名别名影响参数解析。
# Windows PowerShell
curl.exe -I --proxy http://127.0.0.1:7890 --connect-timeout 10 https://example.com
# macOS / Linux
curl -I --proxy http://127.0.0.1:7890 --connect-timeout 10 https://example.com
若提示无法连接 127.0.0.1,先检查端口与进程。若已经建立代理连接但随后超时,应结合日志继续检查节点连接、TLS、DNS 与规则结果。收到 HTTP 错误状态也不等于本地代理未运行,需区分“连通性”和“目标站点返回内容”。
第二步:开启系统代理并观察连接
显式代理测试通过后,再开启客户端的系统代理开关,重启测试应用或建立新的连接,并在客户端连接列表中确认目标域名、命中规则和最终策略。系统代理只影响遵循系统设置的应用;已有连接、部分终端工具及自行管理网络的程序可能不随开关改变。
终端环境中的 HTTP_PROXY、HTTPS_PROXY、ALL_PROXY 与 NO_PROXY 也可能改变请求路径。排查单个程序时,先检查它自己的代理设置和环境变量,不要直接认定系统代理失效。
第三步:确有需要时启用 TUN
TUN 通过虚拟网络接口与路由接管流量,适用于系统代理无法覆盖的部分场景。它通常需要额外权限或服务支持,还涉及 DNS、路由和接口选择。普通浏览器测试尚未通过时,不建议同时开启 TUN,以免把节点故障与路由故障混在一起。
- 先关闭其他 VPN 或同类 TUN 客户端,避免重复路由与 DNS 接管。
- 按当前版本提示完成服务安装或权限授权,再确认日志中虚拟接口创建成功。
- 分别验证普通网页、局域网地址和需要接管的应用;不能只看 TUN 开关是否亮起。
- 出现全局断网时先关闭 TUN,确认网络恢复,再检查路由与 DNS 设置,不要持续叠加修改。
启动失败与端口冲突的排查顺序
窗口无法打开:先定位界面层
先核对安装包架构、系统支持范围与安装路径。Windows 查看依赖提示,macOS 查看系统安全提示,Linux 查看终端输出。此时尚未进入内核监听阶段,修改订阅规则通常不能解决界面启动失败。升级前后行为不同,应保留原配置备份、客户端版本及错误发生时间。
窗口正常、内核失败:查看第一条错误
日志出现 address already in use 或 bind 相关错误时,检查冲突的是代理端口、DNS 监听端口还是控制接口。以下命令只查询示例代理端口 7890,请替换为报错中的实际数字。
# Windows PowerShell:查看监听进程 PID
Get-NetTCPConnection -LocalPort 7890 -State Listen |
Select-Object LocalAddress, LocalPort, OwningProcess
# macOS:查看 TCP 监听者
lsof -nP -iTCP:7890 -sTCP:LISTEN
# Linux:查看监听信息;进程详情可能需要额外权限
ss -ltnp 'sport = :7890'
- 依据 PID 确认所属进程,优先正常退出重复启动的旧客户端,不要终止来源不明的系统进程。
- 若必须让两个程序并存,将其中一个代理监听端口改为其他未占用值,例如
7891。 - 修改端口后同步更新系统代理、浏览器和终端的显式代理地址,并重新加载配置。
- 再次查询监听状态,然后重新执行连接测试。不要只修改界面显示值而忽略实际生效配置。
若日志报告 YAML 行号、缩进或策略组名称错误,应先修复配置。YAML 层级使用空格,同级字段对齐;规则引用的策略名必须与现有组名一致。字段含义可查阅YAML 配置参考。
能启动但无法访问:按链路逐段确认
按“应用是否使用代理 → 本地端口是否监听 → 规则命中哪个策略 → 节点是否可连接 → DNS 是否正常”的顺序检查。延迟测试的一个数值不能代表整条访问链路;规则模式下,某个请求也可能命中 DIRECT,根本没有经过当前手动选择的节点。
完成初始设置后的保留项
- 记录版本与参数:客户端版本、内核版本、当前 Profile 名称、代理端口及是否启用 TUN。
- 验证退出行为:正常退出客户端后,确认系统代理恢复;若意外退出留下代理地址,应在系统网络设置中手动关闭,再检查网络。
- 最后开启自启动:先完成一次退出、重新启动和连通性验证,再启用开机启动,避免登录后反复遇到同一错误。
- 保护备份内容:配置导出可能包含订阅令牌与节点凭据。只在可信存储中保存,不把完整档案发布到公开讨论区。
首次安装的完成标准不是开关全部开启,而是当前配置能加载、入口能监听、目标应用的请求路径可确认。保留一套已验证的基础配置,后续再逐项加入自定义规则、覆写或 TUN 设置,回退与排查都会更直接。