CLASH / LINUX / 配置查阅

Clash 术语手册

从内核、配置字段到系统服务,按部署环节查词。先区分“流量如何进入内核”和“进入后如何分流”,再定位需要修改的设置。

本页收录 24 个术语。每张卡片都可通过地址中的锚点单独引用;需要完整 YAML 示例时,转到配置参考,首次部署按快速上手操作。

CORE / CLIENT

内核与客户端

界面负责管理,内核负责处理连接。订阅和节点则是配置数据,不是软件运行状态。

mihomo 内核
mihomo 是负责连接代理服务器、解析规则和处理 DNS 的网络代理内核,沿用 Clash 配置体系并持续扩展。它可以由图形客户端管理,也可以在 Linux 中作为独立进程运行;内核与图形界面的版本并不是同一个概念。排查字段是否可用时,应查看实际运行的内核版本,而不是只查看客户端的关于页面。
mihomo -v
图形客户端
图形客户端提供订阅导入、策略选择、日志查看和服务管理界面,通常在后台调用代理内核。客户端保存的界面设置不一定等于内核实际加载的配置,排查时应确认当前配置、覆写项和内核日志。选择 Clash Verge Rev 或 FlClash 时,还需区分安装包适配的发行版与处理器架构。
查看 Linux 客户端
订阅
订阅通常是用于获取代理节点或完整配置的远程地址,不是代理协议本身。返回内容可能是节点列表,也可能包含策略组、DNS 和规则;导入前要确认格式兼容,并将订阅地址视为可能携带访问凭据的敏感信息。更新订阅可能覆盖本地修改,需要长期保留的设置应放入客户端支持的覆写机制。
proxy-providers
节点
节点是一组连接代理服务器所需的参数,包括协议类型、服务器地址、端口以及认证或传输选项。节点显示名称只是配置中的引用名,不能单凭名称判断服务器位置、出口地址或可用性。节点被写入配置后,还需由策略组或规则实际选中,才会承接对应连接。
proxies / type / server / port
延迟与健康检查
客户端显示的延迟通常来自访问指定测试地址的耗时,包含的网络环节取决于测试实现。它不等于下载带宽,也不能代表所有网站的访问体验;比较结果时应保持测试地址一致,超时后再检查日志和实际请求。健康检查用于判断节点是否可用,过于频繁的检查会增加网络请求和移动设备唤醒。
health-check / url / interval

PROTOCOL

代理协议

本地应用连接的代理入口,与内核连接远端节点的协议,是两段不同的链路。

HTTP 代理
HTTP 代理是应用显式连接的代理入口,HTTPS 请求通常通过 CONNECT 建立隧道。入口使用 HTTP 协议不代表目标网站只能使用 HTTP;浏览器或命令行工具仍需配置正确的代理地址和端口。代理地址中的协议前缀描述应用怎样连接代理,不应仅因目标网址为 HTTPS 就随意改成 HTTPS 代理入口。
http://127.0.0.1:7890
SOCKS5
SOCKS5 是通用代理协议,可用于 TCP 连接,并在应用和服务端支持时转发 UDP。域名由本机还是代理端解析取决于应用设置,例如 curl 的 socks5h 地址会把域名交给代理端处理。配置 SOCKS 入口后若只有部分应用可用,应先确认这些应用是否支持该协议,而不是直接修改分流规则。
socks5h://127.0.0.1:7890
Shadowsocks
Shadowsocks 是加密代理协议,配置通常包含服务器地址、端口、加密方法和密码。它描述的是内核到远端服务器的连接方式,不是本机监听入口;加密方法必须与服务端一致,插件配置也需要双方支持。连接失败时,应分别核对协议参数和服务器连通性,不要把本地 mixed-port 填成远端服务端口。
type: ss / cipher / password
Trojan
Trojan 通常通过 TLS 连接远端代理服务,配置涉及服务器地址、端口、密码及证书相关参数。SNI 用于 TLS 握手中的服务器名称指示,不一定与连接地址相同;证书报错应先检查域名、系统时间和证书链。关闭证书验证会改变安全边界,不应作为长期解决连接问题的默认做法。
type: trojan / sni / password

CONFIG.YAML

配置字段

字段名保持原样。修改层级、端口或 DNS 行为后,先测试配置,再重载服务。

YAML
YAML 是 mihomo 配置文件使用的数据格式,靠缩进表示层级,列表项通常以短横线开头。同层字段应保持一致缩进,不能用 Tab 替代空格;修改后应先执行配置测试,再让服务重新加载。包含特殊符号的字符串可使用引号包裹,避免复制订阅地址或密码时被误读为其他结构。
mihomo -t -d ~/.config/mihomo
mixed-port
mixed-port 指定兼容 HTTP 与 SOCKS 的本地混合代理端口,应用可按自身支持的代理类型连接同一个入口。端口存在不代表所有应用都会自动使用它;还需配置系统代理、应用代理或相应环境变量,并检查监听地址。7890 是常见示例值,不是强制值,发生端口冲突时可更换并同步应用设置。
mixed-port: 7890
external-controller
external-controller 指定内核控制 API 的监听地址,供面板查询连接、切换策略或调整运行状态。它不是网页流量的代理入口;本机使用时优先绑定回环地址,远程管理还需设置 secret 并限制网络访问范围。将面板端口误填为系统代理端口,会出现内核已启动但应用无法正常访问的情况。
external-controller: 127.0.0.1:9090
Fake-IP
Fake-IP 模式会向 DNS 请求返回用于内部映射的合成地址,让内核在后续连接中关联原始域名。该地址不是真实服务器地址;部分局域网服务或特殊应用可能需要加入 fake-ip-filter,调整后还应考虑已有 DNS 缓存。看到合成地址本身不代表解析失败,关键是后续连接能否被内核正确接收和还原。
dns.enhanced-mode / fake-ip-filter
DNS 泄漏
DNS 泄漏通常指解析请求离开了预期的 DNS 处理路径,例如连接由代理承接,查询却仍发往本地网络的解析器。应同时检查系统 DNS、浏览器安全 DNS、应用内置解析和 TUN 接管范围,不能只凭网页是否能打开判断。不同应用可能走不同解析链路,应结合抓包或日志确认实际目的地址与传输路径。
dns / nameserver / dns-hijack
proxy-providers
proxy-providers 将节点来源独立为可引用的集合,策略组通过 use 引用集合名称。HTTP 类型可用 interval 设置刷新间隔,用 health-check 检查节点;提供节点不等于同时提供 rules 或 DNS 配置。拉取失败时需区分下载请求失败和内容解析失败,两类问题分别对应网络路径与数据格式。
proxy-providers / use / interval

RULES / POLICY

规则与策略组

规则决定连接交给谁,策略组决定使用哪个出口。两者通过名称关联。

规则分流
规则分流按照域名、目标 IP、端口或其他条件决定连接使用直连、拒绝或某个策略。普通规则按顺序匹配,前面的命中结果优先;调整规则时先观察连接记录中的命中项,再判断是否需要移动顺序或修改目标策略。末尾的 MATCH 通常承担兜底作用,放到过早位置会使后面的规则无法命中。
rules / DOMAIN-SUFFIX / MATCH
策略组
策略组把节点、内置策略或其他组组合成规则可引用的目标。select 用于手动选择,url-test 按测试结果选择,fallback 按可用性回退;组名必须与规则中的引用一致,组间引用应避免形成循环。自动选择也受测试地址、检查间隔和容差影响,不代表每个新连接都会重新测量所有节点。
proxy-groups / select / url-test / fallback
GeoIP 与 GeoSite
GeoIP 依据 IP 数据集匹配地址归属,GeoSite 依据域名数据集匹配站点分类。两者不是实时地理定位,也不保证覆盖所有 CDN 或新域名;使用前应确认数据源、分类名称和内核支持情况。出现误分流时,先确认规则匹配的是域名还是解析后的 IP,再决定补充域名规则或更新数据。
GEOIP / GEOSITE
rule-providers
rule-providers 将规则内容放入独立集合,再由 RULE-SET 规则引用。集合的 behavior 和 format 必须与文件内容相符,例如域名集合与完整规则集合的写法不同;最终使用哪个策略仍由引用处指定。与 proxy-providers 不同,它提供的是匹配条件,不是可连接的代理节点。
rule-providers / RULE-SET / behavior
Rule、Global 与 Direct 模式
Rule 模式按配置规则分流,Global 模式将进入内核的连接交给全局策略,Direct 模式直接连接目标。模式只影响已进入内核的流量,切换到 Global 不会自动接管未设置代理的应用,也不等同于启用 TUN。排查时可用模式切换缩小范围,确认问题位于规则选择还是节点连接,再恢复日常配置。
mode: rule / global / direct

LINUX / RUNTIME

Linux 系统组件

权限、进程与路由属于系统层。配置语法正确,不代表这些运行条件已经满足。

TUN 模式
TUN 通过虚拟网络设备接收 IP 数据包,配合路由和 DNS 设置接管应用流量。Linux 上通常需要相应网络管理权限;启用 tun.enable 后仍要检查设备、路由及其他 VPN 的冲突,不能只看界面开关。tun.stack 决定协议栈实现,它与 rule 或 global 这样的分流模式属于不同设置。
tun.enable / tun.stack / tun.auto-route
systemd 用户服务
systemd 用户服务由用户级管理器运行,使用 systemctl --user 管理,服务文件常放在 ~/.config/systemd/user/。它与系统级服务的管理范围、权限及日志上下文不同;用户退出后是否继续运行还取决于用户管理器生命周期和 linger 设置。修改服务文件后需先执行 daemon-reload,再重新启动服务。
systemctl --user status mihomo
Linux capabilities
Linux capabilities 将部分特权拆分为可独立授予进程的能力,例如 CAP_NET_ADMIN 涉及网络设备与路由管理。给二进制设置能力前应确认文件来源和实际需求;替换可执行文件后原有文件能力可能失效,需要重新检查。文件能力、systemd 的能力限制和运行环境会共同影响结果,遇到权限错误时应结合服务日志定位。
CAP_NET_ADMIN / getcap / setcap
代理环境变量
http_proxy、https_proxy 和 all_proxy 向支持它们的应用提供代理地址,no_proxy 指定绕过代理的目标。变量通常由启动环境继承,不会自动影响已经运行的程序;不同工具对大小写和协议格式的支持也可能不同。桌面浏览器、终端命令和 systemd 服务的环境可以不同,因此终端测试成功不能直接证明所有应用都已使用代理。
http_proxy / https_proxy / all_proxy / no_proxy