INSTALLATION / CONFIGURATION

Clash 全平台安装配置指南

按平台查阅安装、订阅导入与流量接管。先建立可用连接,再逐项调整规则与 DNS。

首次使用可先跟随使用文档的快速上手主线完成连接。本页用于系统查阅,保留架构选择、权限边界、配置示例与回退方法;遇到特定平台问题,直接从目录进入对应章节。

  • 客户端与内核
  • 订阅与本地配置
  • 系统代理 / TUN

01 / BEFORE INSTALLATION

通用准备:客户端、订阅与接管方式

先确认客户端与内核的分工

Clash 生态包含图形客户端与负责实际转发的内核。客户端管理订阅、托盘、权限和设置界面,内核读取配置并处理连接。相似的界面不代表支持完全相同的字段,尤其是旧版 Clash 配置与 mihomo 扩展配置之间。选型时先确认平台覆盖,再核对订阅所用协议和内核支持范围。本指南在支持的平台优先介绍 Clash Plus;需要其他界面或桌面管理功能时,再从安装包页选择 Clash Verge Rev、FlClash 等客户端。

开始前记录操作系统、处理器架构和安装权限。桌面设备通常区分 x64 与 ARM64;Apple Silicon 与 Intel 安装包不能仅凭文件名中的 macOS 判断;安卓还可能区分 arm64 与较旧的 ARM 架构。安装成功只是第一步,后台服务或虚拟网卡可能另需授权。公司设备若限制驱动、网络扩展或管理员权限,应先遵循设备管理要求,不要通过关闭系统防护绕过组织策略。

准备订阅,保留可回退的配置

客户端本身不提供可直接使用的远端代理资源。需要准备有使用权限的订阅地址、单条连接信息或本地配置文件,并确认内容适配所选客户端。订阅链接可能包含访问凭据,不能贴进公开截图、日志或在线转换页面。导入前可记录原客户端使用的模式、策略组选择和自定义规则,但迁移时不要直接覆盖新客户端整个数据目录,以免带入不兼容的数据库与路径。

远程订阅与最终生效配置也不是同一层。订阅更新会重新获取内容,直接在订阅正文中修改的端口或规则可能被覆盖。持续保留的改动应放进客户端提供的覆写、合并或扩展配置入口。不同客户端对列表的合并方式并不统一,尤其要检查规则顺序和策略组是否被整体替换。第一次导入先保持原配置,确认运行后再保存一份本地副本,随后每次只调整一类设置。

区分规则模式与流量入口

规则、全局、直连是连接进入内核后的处理模式;系统代理、TUN 是连接如何进入内核的方式。开启规则模式不会自动让所有应用走代理,开启 TUN 也不等于把所有连接发送到远端。系统代理适合遵循系统代理设置的浏览器和桌面应用;TUN 通过虚拟网络接口接收更多流量,涉及路由、DNS 与权限。首次排查建议先使用较简单的入口,避免同时启用多个客户端或多个流量接管机制。

入口适用范围检查重点
系统代理遵循系统设置的应用代理地址、端口与应用自身设置
显式 HTTP / SOCKS支持手动指定代理的工具协议类型与监听地址
TUN / 平台 VPN 接口由虚拟接口接管的连接权限、路由、DNS 与排除范围

下面是 mihomo 的基础字段示意,不包含远端代理,因此不能替代完整订阅。混合端口同时接受 HTTP 与 SOCKS 请求,绑定回环地址只供本机访问。若客户端管理监听端口或 DNS,应以其最终生成的配置为准,不要把同名字段分散在多个覆写入口。YAML 使用空格缩进,同级键不能重复;编辑后先执行客户端的配置检查,再重载内核。

mixed-port: 7890
allow-lan: false
bind-address: 127.0.0.1
mode: rule
log-level: info

dns:
  enable: true
  enhanced-mode: fake-ip
  fake-ip-range: 198.18.0.1/16
  nameserver:
    - https://dns.alidns.com/dns-query

验证按层进行:确认内核运行、确认配置加载、确认策略组有可选项,再访问目标并查看连接记录中的命中规则。连通性测试只反映特定探测目标的结果,不能代表所有网站、UDP 或登录业务都可用。记录测试时的网络环境与报错时间,后续才能区分配置变动、远端故障和本地网络变化。若只想完成首次连接,可回到使用文档,按连续步骤操作。

02 / WINDOWS

Windows:安装、系统代理与服务模式

选择安装包并完成首次启动

在系统设置的“系统信息”中确认系统类型,再到Windows 安装包区选择匹配架构的文件。优先考虑 Clash Plus,也可根据使用习惯选择 Clash Verge Rev、FlClash 或 Clash Nyanpasu。Clash for Windows 已停止维护,归档包主要用于旧环境兼容与迁移,不宜作为新安装的默认选项。客户端下载与内核协议兼容是两件事,旧配置无法加载时,应先检查内核支持,而不是反复重装界面。

运行安装程序时核对文件来源与系统提示。安装目录和用户数据目录可能分离,卸载程序也不一定清理订阅、日志和服务。首次启动若界面没有出现,先查看托盘是否已存在实例,再查任务管理器与客户端日志。不要连续点击启动多个进程,也不要直接删除数据目录。若已使用其他客户端,先关闭其系统代理、开机启动与后台服务,再退出程序,避免安装完成后留下两套自动接管设置。

导入订阅并确认实际加载

在订阅或配置管理页面选择从链接导入,粘贴完整地址,保存后执行更新。随后把该配置设为当前使用项,观察日志是否完成加载。列表出现订阅名称,不等于配置已被内核采用;还应进入代理页面,确认策略组及其成员存在。遇到导入失败,先区分下载失败和解析失败:前者检查地址、网络与服务端响应,后者检查返回内容是否为客户端支持的配置,而不是网页登录页或错误页面。

切换到规则模式后,为主要选择组指定可用成员。首次连接不要同时叠加自定义规则、脚本和 DNS 覆写。先打开一个目标页面,在连接记录中检查目标域名、命中规则与最终出站。若只有某个应用失败,检查它是否使用独立代理、内置安全 DNS 或已经建立的旧连接。保存配置、切换策略组后,已有长连接可能继续使用旧出口,应关闭对应连接或重启该应用再验证。

先验证系统代理,再决定是否启用 TUN

启用系统代理后,在 Windows 的代理设置中核对本地地址和监听端口。客户端显示的端口若不是示例中的值,测试命令也必须同步修改。浏览器能访问而终端工具失败,常见原因是工具不读取系统代理;可以先显式指定 HTTP 代理验证。下面的命令访问示例站点,仅用于判断本机端口是否接受请求;应再换成实际需要访问的目标,不能凭单次返回判断全部业务。

curl.exe -I --proxy http://127.0.0.1:7890 https://example.com

TUN 适合不遵循系统代理设置的应用,但需要客户端支持相应服务与权限。先按客户端界面安装或启动服务,再启用 TUN;具体入口名称因客户端而异。不要把每次以管理员身份启动界面当成长期替代服务安装的方法。启用后核对虚拟网卡、内核日志与连接记录,确认流量确实经过内核。如果内核因配置错误停止,而路由仍残留,先关闭 TUN 并正常退出客户端,再观察网络恢复情况。

端口占用可以在 PowerShell 中检查。若结果显示该端口已有监听,先确认进程身份,常见情况是旧客户端仍在后台。不要看到占用就强制结束未知系统进程;可以更换本地端口,并同步更新系统代理及应用手动代理地址。改端口后需重载内核,否则界面保存的值与实际监听可能暂时不同。

Get-NetTCPConnection -LocalPort 7890 -State Listen -ErrorAction SilentlyContinue
netsh winhttp show proxy

第二条命令查看的是 WinHTTP 代理,它与桌面用户的代理设置不是同一个层面。某些服务或更新组件使用 WinHTTP,因此浏览器正常不代表这些组件设置正确。不要为了一个应用直接全局导入或重置 WinHTTP 设置,先明确该应用读取的代理来源。网络环境受组织管理时,应保留已有企业代理与证书配置,避免造成其他服务中断。

处理休眠、开机启动与退出残留

开机自启只负责启动客户端,不保证订阅加载、服务就绪与 TUN 接管都已完成。启用后应重启一次,检查托盘、模式和日志,而不是仅确认启动项存在。休眠唤醒或网络切换后连接失效,可先关闭旧连接,再重载内核;如仍失败,按系统代理、TUN、DNS 的顺序逐项排查。客户端退出后浏览器持续提示代理不可达,应检查系统代理是否仍指向已停止的本地端口。启动即闪退另见客户端崩溃排查步骤。

03 / MACOS

macOS:架构选择与网络权限

按芯片选择客户端并安装到应用程序

打开“关于本机”,确认显示 Apple 芯片还是 Intel 处理器,再到macOS 安装包区选择对应文件。Clash Plus 可作为优先选择,Clash Verge Rev 与 FlClash 也可按界面偏好选用。ClashX Meta 已停止维护,保留它主要是为了兼容已有使用环境。不要把某个旧客户端的配置目录直接复制进新客户端目录;订阅、规则与设置应分层迁移,尤其注意旧配置中的绝对路径和已经失效的脚本。

对于磁盘映像形式的安装包,先将应用拖入“应用程序”,再从该目录启动,避免长期直接从挂载的映像运行。首次打开若出现系统安全提示,应核对来源后,按系统提供的正常授权入口处理。不要照搬来源不明的批量解除隔离命令,也不要为运行客户端关闭整套系统安全机制。若应用启动后没有主窗口,可检查菜单栏图标;菜单栏应用的运行状态与窗口是否显示并不相同。

导入订阅,核对配置与策略组

在配置管理中导入订阅链接或本地 YAML,更新完成后明确选择为当前配置。随后进入代理页面,确认选择组与自动策略组已经生成。若导入内容只包含连接信息而不是完整 Clash 配置,应使用客户端对应的导入入口,不要将不同格式直接重命名为 YAML。策略组名称必须与规则引用一致,尤其是复制自定义规则时,不能保留新订阅中不存在的目标组名。

首次验证保持规则模式,先选择一个已知可用的成员,再检查访问时的连接记录。如果界面测速成功而网站不能打开,查看失败的是 DNS 解析、连接建立还是 TLS 阶段。不同阶段对应不同问题,不宜统一归因于“线路慢”。自动策略组的探测间隔与容差会影响切换频率,但不会修复订阅失效或本机代理入口错误;参数选择可参考策略组类型与适用场景。

系统代理按网络服务生效

启用系统代理后,检查当前网络服务使用的代理设置。macOS 的 Wi-Fi、以太网与其他网络服务可以保存各自的代理项,因此切换接口后可能出现不同结果。下面先列出服务名称,再查询 Wi-Fi 的 HTTP 与 SOCKS 代理。若系统中的服务名称不同,应使用列表返回的实际名称;这些查询命令只读取状态,不会修改网络配置。

networksetup -listallnetworkservices
networksetup -getwebproxy "Wi-Fi"
networksetup -getsecurewebproxy "Wi-Fi"
networksetup -getsocksfirewallproxy "Wi-Fi"

HTTP、HTTPS 与 SOCKS 代理选项应与客户端支持的入口匹配。客户端若提供混合端口,多个代理协议可以共享一个端口,但仍需核对实际配置。终端工具可能不读取系统网络代理,应使用工具自己的代理参数,或在当前终端会话设置代理环境变量。不要把一次临时测试直接写进所有 shell 启动文件,否则客户端退出后,新开的终端仍会尝试连接已经停止的本地端口。

TUN、后台辅助服务与其他网络工具

桌面客户端启用 TUN 时,可能需要安装特权辅助服务、授权网络扩展或启动后台组件,具体取决于客户端实现。授权请求应与正在执行的操作相符。完成授权后先重载内核,再检查日志中的虚拟接口与路由状态。只看到界面的 TUN 开关亮起并不足以证明接管成功;还需验证一个此前不遵循系统代理的应用,并查看其连接是否进入记录。

设备若同时运行企业 VPN、内容过滤软件或其他虚拟网络工具,默认路由与 DNS 的归属可能互相影响。排查时一次停用一个可停用的组件,记录结果;组织要求保留的软件不能擅自卸载。局域网打印机、共享目录或开发服务在开启 TUN 后不可访问时,先检查地址范围与路由,再考虑添加精确的直连规则。不要把全部内网域名都改成代理,也不要用关闭所有 DNS 功能的方式掩盖原因。

从睡眠恢复或更换热点后,旧 TCP 连接与 DNS 缓存可能继续保留原网络的信息。可以先关闭相关应用连接,再重新加载客户端配置。如果系统代理仍存在但内核未启动,先正常启动客户端或关闭对应代理,再恢复测试。卸载前应主动关闭系统代理与 TUN,并按客户端提供的入口处理辅助服务;仅将应用移到废纸篓,未必会清除后台组件或当前网络设置。

04 / ANDROID

Android:VPN 授权与后台运行

选择架构并保留旧配置

在Android 安装包区优先选择 Clash Plus,也可根据配置兼容与操作习惯选择 Clash Meta for Android、FlClash 或 Surfboard。多数较新的设备使用 ARM64,但不要仅凭手机型号的新旧猜测架构,应参考系统信息或设备说明。Surfboard 的配置体系与 Clash YAML 不相同,能导入相同来源的服务不等于可以直接复用整份配置;安装前应确认订阅提供的格式与客户端入口。

安装 APK 时,只对实际用于打开安装包的文件管理器或浏览器授予必要的安装权限,完成后可按使用需要收回。若系统提示签名冲突,常见原因是已安装应用与当前文件签名不同。不要立即卸载旧应用,应先导出订阅、配置与自定义规则,并确认能够恢复。覆盖安装通常保留数据,而卸载可能一并删除内部存储中的配置;外部文件仍在也不代表应用设置可以自动恢复。

导入订阅并启动平台 VPN 接口

进入订阅或配置页面,选择链接导入并执行更新,再把该项设为当前配置。检查主要策略组是否存在,选择可用成员后再启动连接。Android 客户端通常通过平台 VPN 接口建立本地虚拟网络,首次启动会出现系统授权提示。该提示表示允许应用接管匹配的流量,不代表远端代理资源已经可用;授权完成后仍需查看内核状态、策略组与实际访问结果。

安卓的 VPN 接口与桌面“系统代理”开关不是完全相同的机制。部分界面可能只提供启动按钮,而没有独立的 TUN 标签;不应照搬桌面操作去寻找相同名称。通常同一用户或配置文件中的活动 VPN 会相互替代,因此其他 VPN、部分防火墙或基于本地 VPN 的过滤工具可能与客户端冲突。连接前先确认当前活动服务,避免不断启动两套工具,造成连接看似建立却立即被替换。

检查分应用范围与 DNS 行为

若只有浏览器能访问,检查分应用代理设置。允许列表通常表示只接管选中的应用,排除列表则表示这些应用不进入代理,两者含义相反。改变范围后可能需要重新建立 VPN 才生效。工作资料中的应用属于另一配置环境,未必与个人空间共享相同接管范围。排查时先恢复简单范围,用一个目标应用验证,再逐步加入排除项,不要在不清楚列表语义时批量勾选所有应用。

下面是 mihomo 配置中的域名直连规则示意,适用于使用该内核且允许覆写规则的客户端。它只决定流量进入内核后的出站,不决定 Android 是否把某个应用交给客户端。添加时必须与已有规则列表合并,并放在会提前匹配的兜底规则之前。不要将这段独立内容替换完整订阅,也不要在 Surfboard 的配置入口直接粘贴 Clash YAML。

rules:
  - DOMAIN-SUFFIX,lan,DIRECT
  - IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
  - IP-CIDR,10.0.0.0/8,DIRECT,no-resolve

Android 的私人 DNS、浏览器安全 DNS与客户端 DNS 可能同时影响解析路径。网页访问异常时,先记录私人 DNS 的原设置,进行临时对照测试,再决定是否调整;不要假定打开 Fake-IP 后所有应用都必然使用同一解析器。某些应用内置自己的解析与连接方式,应结合连接记录判断。局域网域名打不开时,还要确认当前 Wi-Fi 提供的本地 DNS 是否能回答该域名,而不是只修改远端策略组。

后台限制、网络切换与热点共享

连接在锁屏后停止,优先检查电池优化、后台活动与厂商的启动管理。允许后台运行不等于必须授予全部权限,应只启用维持网络服务所需的选项。开启系统“始终开启 VPN”后,还要理解“阻止未使用 VPN 的连接”的影响:一旦客户端未运行或内核加载失败,网络可能整体不可用。初次配置阶段不宜先打开阻断选项,确认重启、锁屏与网络切换都正常后再决定。

Wi-Fi 切换到移动数据时,旧连接可能需要重建。先重新加载或断开后连接,再比较访问记录,避免把一次切网中断误判为订阅失效。若只有移动数据失败,检查应用是否被系统限制使用流量,远端连接是否受当前网络条件影响。热点连接的其他设备不一定经过手机的 VPN 接口,手机自身正常也不能证明共享设备已被接管;这取决于系统转发路径与客户端能力,应单独验证,不能只开启“允许局域网”就认为共享完成。

迁移设备时优先导出订阅与必要的覆写配置,不要把完整应用目录当作跨设备备份。导入后重新检查分应用列表,因为应用安装情况、工作资料和系统权限可能变化。向他人提供排错日志前,移除订阅链接、连接凭据及不必要的目标域名。若客户端打开即退出,可按崩溃排查文章的顺序先检查配置与数据,再考虑重装。

05 / IOS

iOS:Clash Plus 导入与连接验证

从商店安装并确认导入入口

iOS 使用 Clash Plus,可从App Store 的 Clash Plus 页面安装,产品信息可查看官网 clashplus.io。站内iOS 下载区保留相同入口。安装后先确认应用能够正常打开,再准备订阅信息。界面名称可能随客户端更新有所调整,应按配置、订阅与连接等功能辨认入口,不必机械寻找与桌面完全相同的菜单文字。

导入前判断手里的内容是什么:网页管理地址、订阅地址、单条连接与完整配置并不等价。复制链接时应保留完整参数,避免聊天软件截断或附带末尾标点。若使用系统分享菜单或从其他应用跳转导入,保存前仍要核对目标内容与名称。剪贴板中的订阅可能包含访问凭据,完成后不应将其放入公开备忘录,也不要为了排错直接发送完整地址。

激活配置并建立 VPN 连接

在客户端中新增订阅或配置,获取内容后选择为当前使用项,再检查可用策略。导入成功通常只表示内容已保存,还需要激活并启动连接。首次建立网络接管时,iOS 会要求允许添加 VPN 配置,按系统提示完成设备验证。随后回到客户端检查连接状态,打开目标应用并查看记录。系统显示 VPN 状态只代表隧道会话存在,不能单独证明某条远端线路、某个域名或某项业务可用。

如果启动后立即停止,应先看客户端提供的错误信息与系统 VPN 状态,而不是连续点击连接。原因可能包括配置解析、远端参数不兼容、当前网络无法建立连接,或其他 VPN 配置接管。保留当前配置副本,再用最小改动验证。删除系统中的 VPN 配置可能使客户端下次重新申请授权,但不会修复订阅中的无效字段,因此不应把反复删除配置作为通用解决方式。

理解移动系统的接管与规则边界

iOS 的流量接管依赖平台提供的网络扩展能力,不能直接等同于桌面设置中的 HTTP 系统代理开关。客户端如果提供路由、规则或模式选择,应按其实际支持的方式配置。规则模式用于区分不同目标的出站,全局模式用于将进入处理范围的连接交给选定策略;即使使用全局模式,仍可能存在系统或客户端定义的排除范围,不能据此推断每个系统服务都经过相同路径。

首次验证应选择一个明确的策略成员,使用实际目标页面检查请求,再查看域名、规则和最终出口。网页能打开但应用登录失败时,应分别考虑登录接口、验证码、资源域名及 UDP 等连接需求。某些业务还依赖账号状态和服务端地区策略,网络连通并不自动改变这些条件。不要仅凭浏览器结果反复调整所有规则,先定位失败请求是否进入客户端,是否命中了预期策略。

观察结果优先检查下一步
配置未出现策略订阅格式与导入结果确认内容并重新获取
连接立即停止配置错误与系统授权读取错误后单项修正
仅某个应用失败命中规则与业务请求关闭旧连接后重新验证

订阅更新、DNS 与网络切换

订阅更新会改变可用成员与策略引用,更新前应了解本地修改是否会被覆盖。如果客户端提供独立规则或覆写入口,持续改动放在该层管理;若只支持编辑导入内容,则先保存副本,并在下次更新后重新检查差异。策略组引用已删除的成员时,界面可能保留名称但无法连接。更新完成后至少检查一次当前选择和实际访问,不要只观察更新时间。

Wi-Fi、蜂窝网络与公共热点的 DNS 和接入条件不同。切换网络后已有连接可能失效,需要重新建立。遇到酒店、机场等需要网页认证的网络,先完成网络要求的正常登录,再连接客户端;否则订阅获取与远端连接都可能被接入门户拦住。若某个网络持续失败,比较关闭连接时是否能正常访问基础页面,并记录失败阶段,避免把接入网络问题误认为客户端配置损坏。

DNS 设置应以 Clash Plus 实际支持的配置为准。本文其他章节的 mihomo 示例用于说明字段含义,不保证可以整段粘贴到每个移动客户端。自定义解析器、系统网络配置和浏览器功能可能共同影响结果,排查时每次只调整一项。若需要理解 Fake-IP 的映射与检测边界,可阅读DNS 检测与防泄漏配置,再结合客户端能力实施。

长期使用时,应定期确认订阅有效性与当前策略,而不是频繁清理全部设置。切换到另一台设备后,需要重新授予系统网络权限;恢复订阅不代表恢复了旧设备的全部连接状态。若准备删除客户端,先断开连接并确认系统网络恢复正常。排错资料只保留必要的时间、错误类型与脱敏配置,避免在截图中暴露订阅入口或连接认证信息。

06 / LINUX

Linux:桌面客户端与内核部署

桌面环境按发行版选择包格式

桌面用户可从Linux 安装包区选择 Clash Verge Rev 或 FlClash,其中 Clash Verge Rev 作为推荐入口。先使用系统信息确认发行版与架构:Debian、Ubuntu 系列通常使用 DEB,RPM 系发行版使用其包管理体系支持的格式。不要为了安装一个客户端混用其他发行版的包管理器。图形程序还可能依赖桌面组件与系统库,安装包能解压不等于可以在所有发行版运行。

在实际下载目录中执行安装,并把命令里的文件名替换为已下载文件的真实名称。使用系统包管理器安装本地包通常更便于处理依赖与后续卸载。安装出错时先保留完整错误,区分架构不匹配、依赖缺失与权限问题,不要直接给整个目录递归开放写权限。首次启动应以普通用户运行界面,涉及虚拟网络的权限由客户端支持的服务机制处理,而不是默认以 root 运行整套桌面程序。

导入订阅,区分桌面代理与终端代理

在客户端内导入订阅并设为当前配置,再核对策略组与运行日志。Linux 桌面环境的系统代理设置不统一,GNOME、KDE 与具体应用可能采用不同读取方式。浏览器可用而命令行失败时,先给工具显式指定代理,确认监听端口可用。下例中的端口须与客户端一致,命令仅用于当前测试;不要在未验证前写入全局环境文件或服务配置。

curl -I --proxy http://127.0.0.1:7890 https://example.com
curl -I --proxy socks5h://127.0.0.1:7890 https://example.com
ss -lntp

socks5h 表示由 SOCKS 代理侧处理目标域名解析,适合与本机解析路径做对照。它不代表已经修改整个系统的 DNS。环境变量代理同样只影响遵循这些变量的进程,已经运行的桌面应用和 systemd 服务不会自动继承新终端里的设置。需要长期配置某个应用时,优先查该应用的代理入口,并记录回退方法,避免客户端停机后系统更新或后台任务持续报错。

TUN、路由与本机 DNS 服务

TUN 接管需要相应权限及系统网络支持,启用前先确认普通代理路径可以工作。下面是 mihomo 的 TUN 配置片段,供已经具备有效代理与规则的完整配置合并使用。客户端可能自行管理这些字段,重复覆写会造成行为难以判断。自动路由并不等于可以忽略现有 VPN、容器网络和策略路由;启用后应检查实际路由表,再验证局域网与外部连接。

tun:
  enable: true
  stack: mixed
  auto-route: true
  auto-detect-interface: true
  dns-hijack:
    - any:53

DNS 劫持还需要完整配置中启用内核 DNS,它不会自动涵盖所有加密 DNS 或应用自带解析。使用 systemd-resolved 的发行版可能通过本地存根提供解析,不应在不了解系统管理方式时直接覆盖 /etc/resolv.conf。可用下面的命令读取地址、路由与解析状态;最后一条仅适用于提供相应工具的系统。若切换网络后异常,比较启用 TUN 前后的默认路由与 DNS 服务器,再处理具体差异。

ip address show
ip route show
resolvectl status

服务器与路由器按独立服务管理内核

没有桌面环境的服务器或路由器,可在下载页内核区选择与处理器和运行环境匹配的 mihomo 文件。此路径面向能够管理服务、权限与网络规则的用户,普通桌面使用不必绕过 GUI。准备独立配置目录与可写数据目录,把二进制放入受控路径,再先执行配置测试。下面假设二进制已放在指定位置、完整配置已保存;测试成功仅表示语法与引用基本通过,还需验证实际连接。

/usr/local/bin/mihomo -t -d /etc/mihomo -f /etc/mihomo/config.yaml

通过测试后再交给服务管理器运行,明确工作目录、启动参数、运行账户与重启策略。普通 HTTP、SOCKS 监听通常不需要完整 root 权限,TUN 和路由操作则需要额外能力,应按部署方式最小化授权。管理接口默认限制在本机,远程管理通过受控通道进行;不要把控制端口或未认证的代理端口直接暴露到公共网络。允许局域网连接前,还应同时设置监听地址、防火墙范围与必要认证。

通过 SSH 远程修改 TUN、默认路由或防火墙前,先保留第二个会话,并准备带外或本地恢复方式。先启动基础代理,再分阶段增加路由与 DNS 接管,避免一次修改导致远程失联。容器环境还涉及网络命名空间、设备与权限映射,不应直接套用宿主机方案。升级时保留旧二进制与配置副本,先测试新内核兼容性;字段迁移可查阅mihomo 与原版 Clash 差异。

07 / DIAGNOSTICS

配置常见问题:按连接阶段排查

订阅更新失败与配置解析失败

订阅更新失败先看获取阶段。检查地址是否完整、系统时间是否正确、服务是否仍有效,以及当前网络能否访问订阅端点。如果地址返回登录页面、限流提示或错误文本,客户端随后出现的解析错误只是结果,不应通过修改 YAML 缩进处理。更新是否经过代理由客户端实现决定,存在必须先连接才能获取的情况,但也可能因为旧代理失效导致更新受阻;应查看客户端的更新网络设置并做对照。

内容已经下载但内核拒绝加载时,再检查语法、字段与引用。YAML 缩进使用空格,列表项位置要一致,同一映射不能依赖重复键覆盖。规则引用的策略组、策略组引用的代理或代理集合必须存在。不同内核支持的协议与字段有差异,把文件扩展名改成 YAML 不会转换格式。先回退最近一次覆写,再逐段恢复,比一次删除所有配置更容易定位问题。

端口、监听地址与流量是否进入内核

应用提示连接被拒绝,先查内核是否正在运行、本机端口是否监听、应用代理地址是否一致。监听在 127.0.0.1 的服务只供本机使用,其他设备不能把自己的回环地址当作这台电脑。跨设备使用需要明确服务端局域网地址、允许访问的监听范围和防火墙规则。不要为了排错直接开放所有接口;先在本机显式代理测试成功,再逐层扩大到受控的局域网范围。

访问目标时连接记录完全没有变化,通常应先检查入口,而不是修改出站策略。应用可能忽略系统代理、使用独立设置,或不在移动端的接管范围内。记录出现但走直连,应检查命中规则及顺序;记录走预期代理却失败,再查远端连通性、认证与目标服务。通过这种分层方式,可以避免把所有错误都归结为节点不可用,也减少无意义的订阅重导入。

DNS、Fake-IP 与规则顺序

Fake-IP 为域名分配保留地址映射,让后续连接仍能关联域名进行规则判断。看到这类地址并不等于 DNS 损坏,但依赖真实解析结果的程序可能需要精确例外。例外应尽量针对具体域名,避免把大范围目标都排除后使域名规则失去预期效果。内网域名还需要能够解析它们的本地 DNS;公共解析器通常不知道企业或家庭网络中的私有名称。

规则按顺序匹配,精确业务规则通常放在宽泛规则之前,MATCH 作为兜底放在末尾。下面是追加到完整配置中的示意,目标使用内建直连策略,不依赖自定义组名。它只展示顺序与语法,不代表完整业务分流方案;实际订阅中的远端代理与选择组仍须保留。修改后重新加载,再用连接记录确认命中项,而不是只检查文件是否保存。

rules:
  - DOMAIN-SUFFIX,example.com,DIRECT
  - IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
  - IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
  - MATCH,DIRECT

DNS 检测结果中的解析器位置不能单独证明业务流量是否按预期出站。应结合解析请求路径、目标连接和规则日志观察;浏览器安全 DNS、应用内置解析以及缓存都会影响对照。更深入的配置可阅读DNS 泄漏检测与防泄漏实操。启用更多 DNS 选项并不自动提高可靠性,先理解各字段作用,再逐项测试。

策略选择、连接复用与更新回退

自动策略组根据探测目标和自身逻辑选路,不同类型关注延迟、可用性或负载分配。探测成功不保证某个业务支持,探测失败也可能只是探测地址不可达。先手动选择成员验证实际目标,再决定是否修改探测参数。切换策略后,旧长连接可能继续使用原出口,必须关闭相应连接或重启应用后再比较;否则会误以为策略切换没有生效。

升级客户端或内核后出现问题,先保留日志与当前配置,再用备份配置对照。自定义扩展字段、旧路径、规则集合缓存与权限变化都可能影响启动。不要在没有备份时同时升级、清空数据和重写配置,否则难以判断哪一步有效。旧客户端迁移可参考Clash for Windows 停更后的替代与迁移,优先转移订阅与规则,不直接复制全部运行数据。

记录最小排错信息,保留恢复路径

需要进一步排查时,记录系统与架构、客户端名称、接管方式、失败目标类型及错误时间,再附脱敏后的相关日志。临时提高日志级别只用于复现,完成后恢复常规级别,避免持续积累大量访问记录。连接凭据、订阅参数和控制接口认证信息不应进入公开资料。恢复顺序与启用顺序相反:先关闭新增路由或 TUN,再恢复代理与 DNS,最后检查客户端是否正常退出。各平台入口在本页对应章节,基础操作则回到快速上手文档。