配置指南 · 从入门到进阶

Clash 完整配置教程

涵盖订阅导入、TUN 虚拟网卡、GeoIP 路由分流、多配置合并覆写、JavaScript 脚本进阶与日志排查六大核心章节,适用于 Clash Verge Rev、FlClash 与 Nyanpasu 所有主流客户端。

订阅配置导入

Clash 客户端通过「订阅 URL」从机场服务商远程拉取 YAML 格式的配置文件。配置文件中包含代理服务器列表、策略组与路由规则,是所有功能的基础。

1

获取订阅链接

登录您的机场控制台,复制 Clash 格式的订阅链接(通常包含 ?token= 参数)。该链接是敏感信息,请勿泄露给他人。

2

在客户端中导入

打开 Clash Verge Rev,点击左侧「订阅」或「Profiles」标签页,点击右上角的「新建」按钮,将链接粘贴至 URL 输入框后点击「导入」。

3

激活配置文件

导入完成后,点击配置卡片将其设为「当前使用」,客户端图标会变为已激活状态。建议在设置中开启「自动更新」(每 24 小时),以保持节点列表最新。

4

测速并选择节点

进入「代理」页面,在策略组中点击「测速 ⚡」。延迟低于 100ms 为优质节点,点击选中即可生效。建议优先选择 DIRECT 之外的带 🔁 标志的自动选择组,以保证断线自动切换。

典型 YAML 配置结构(仅供参考)

# Clash Meta (Mihomo) 配置文件结构示意
mixed-port: 7890         # HTTP + SOCKS5 混合代理端口
allow-lan:  false        # 不向局域网设备开放
mode:       rule         # 规则模式(推荐)
log-level:  info

proxies:                   # 节点列表(由订阅自动填充)
  - name: "香港 01"
    type: vmess
    server: hk1.clashhelp.com
    port:   443
        # ... (其余字段略)

proxy-groups:              # 策略组
  - name: "🚀 节点选择"
    type: select
    proxies: ["自动选择", "香港 01"]

rules:                     # 路由规则
  - GEOIP,CN,DIRECT
  - MATCH,🚀 节点选择
FlClash 用户:导入路径在主界面右上角 → 配置 → 添加配置 → 输入 URL。导入后长按配置卡片可设置定时更新。

TUN 虚拟网卡模式

TUN(Tunnel)模式通过在操作系统中创建一块虚拟网卡,在 网络层(L3)接管所有出站流量,彻底解决系统代理无法覆盖命令行工具(git, npm, curl)、游戏客户端等应用的问题。

系统代理(旧方式)

  • ✗ 仅覆盖支持代理协议的应用
  • ✗ 命令行工具需手动配置 HTTP_PROXY
  • ✗ 游戏客户端通常无法走代理
  • ✓ 无需安装驱动,即开即用

TUN 模式(推荐)

  • ✓ 接管所有 TCP/UDP 流量
  • ✓ 命令行/IDE/游戏均自动走代理
  • ✓ 支持 DNS 泄露防护
  • △ 首次需安装服务模式驱动

在 Clash Verge Rev 中开启 TUN 模式

1

安装服务模式(Service Mode)

进入「设置」→「系统设置」→「服务模式」,点击「安装」按钮。Windows 需授予 UAC 管理员权限;macOS 需输入系统密码。安装完成后状态图标变为绿色。

2

开启 TUN 开关

在「设置」页面中找到「TUN 模式」开关,打开即可。首次开启后建议重启客户端使配置完全生效。

3

验证 TUN 是否生效

打开终端运行 curl -I https://www.google.com,若返回 HTTP 200 则表示 TUN 代理已成功接管。也可在客户端的「连接」页面看到来自命令行工具的连接记录。

手动在 YAML 中启用 TUN(Meta 内核配置)

tun:
  enable:              true
  stack:               mixed    # mixed / gvisor / system(推荐 mixed)
  auto-route:          true     # 自动配置路由表
  auto-detect-interface: true   # 自动识别出口网卡
  dns-hijack:
    - any:53                   # 劫持所有 DNS 查询,防止泄露

dns:
  enable:    true
  enhanced-mode: fake-ip    # TUN 模式下推荐 fake-ip
  nameserver:
    - https://doh.pub/dns-query
    - https://dns.alidns.com/dns-query
注意:在 macOS 上首次安装服务模式后,系统可能会阻止驱动加载。需前往「系统设置」→「隐私与安全性」→ 点击「仍要允许」,然后重启客户端。

GeoIP 路由分流规则

路由分流让您精确控制哪些流量走代理、哪些直连。合理配置可减少延迟、降低机场流量消耗,并避免国内业务因代理绕路导致的速度下降。

常用规则类型速查

规则类型 匹配逻辑 示例
DOMAIN精确域名匹配DOMAIN,google.com,PROXY
DOMAIN-SUFFIX域名后缀(含子域)DOMAIN-SUFFIX,github.com,PROXY
DOMAIN-KEYWORD域名含关键词DOMAIN-KEYWORD,google,PROXY
IP-CIDRIP 段匹配IP-CIDR,192.168.0.0/16,DIRECT
GEOIPIP 归属地(GeoIP 数据库)GEOIP,CN,DIRECT
GEOSITE域名分类集合(Meta 专有)GEOSITE,cn,DIRECT
RULE-SET远程规则集(推荐)RULE-SET,proxy,PROXY
MATCH兜底规则(必须放最后)MATCH,PROXY

推荐分流规则示例

以下配置实现「国内直连 + 国际走代理」的标准分流策略:

rule-providers:          # 远程规则集(推荐,每日自动更新)
  reject:
    type:     http
    behavior: domain
    url:      "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/reject.txt"
    interval: 86400
  proxy:
    type:     http
    behavior: domain
    url:      "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/proxy.txt"
    interval: 86400
  direct:
    type:     http
    behavior: domain
    url:      "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/direct.txt"
    interval: 86400

rules:
  - RULE-SET,reject,REJECT       # 广告/追踪拦截
  - RULE-SET,proxy,🚀 节点选择   # 常见境外服务
  - RULE-SET,direct,DIRECT       # 国内常用域名
  - GEOSITE,cn,DIRECT            # 中国大陆域名集合
  - GEOIP,CN,DIRECT              # 中国大陆 IP
  - MATCH,🚀 节点选择            # 兜底:其余流量走代理
推荐规则集:Loyalsoldier/clash-rules 是社区维护最完善的 Clash 规则集,覆盖广告过滤、境外代理与国内直连三大类,每日自动发布更新。

多订阅合并与配置覆写

当您同时拥有多个机场订阅,或需要在机场订阅基础上叠加自定义规则时,可以使用 Clash Verge Rev 的「覆写(Override)」或「合并(Merge)」功能,无需修改原始订阅文件。

Merge(合并模式)

推荐

将您的自定义配置片段与订阅配置深度合并。适合追加个人规则、替换 DNS 设置、添加自有节点等场景。

Script Override(脚本覆写)

通过 JavaScript 函数对配置对象进行任意修改,适合复杂场景,如条件过滤节点、动态生成策略组等。

使用 Merge 追加自定义规则

在 Verge Rev 中进入「配置」→「覆写」,新建一个 Merge 类型的配置文件,内容示例:

# merge-overwrite.yaml — 仅填写需要覆写/追加的字段
dns:
  nameserver:
    - https://doh.pub/dns-query       # 覆盖 DNS 服务器

rules:                                # 追加的规则(插入到原规则最前面)
  - DOMAIN-SUFFIX,internal.corp,DIRECT   # 公司内网直连
  - IP-CIDR,10.0.0.0/8,DIRECT            # 私有网段直连

proxies:                               # 追加自有节点
  - name: "自有 VPS"
    type: trojan
    server: vps.mydomain.com
    port:   443
    password: "your-password"
多订阅合并:在 Verge Rev「订阅」页面可同时导入多个配置文件,然后在「覆写」中编写脚本,用 config.proxies 合并不同配置的节点列表,最终构建一个统一的策略组。

JavaScript 脚本进阶

Clash Verge Rev 内置了一个 JavaScript 引擎(V8),可以通过脚本对配置对象进行编程式处理,实现订阅转换、节点过滤、动态策略组等高级需求,覆盖任何 YAML 静态配置无法实现的场景。

配置脚本

在订阅加载后执行,对整个配置对象进行修改

覆写脚本

作为覆写层叠加,与 Merge 模式互补使用

定时脚本

按计划周期运行,如定时清理缓存或测速

常用脚本示例:过滤指定地区节点

// 覆写脚本入口函数,参数 config 即完整配置对象
function main(config) {

    // 只保留名称包含「香港」或「日本」的节点
  const allowedRegions = ['香港', 'HK', '日本', 'JP'];

  config.proxies = config.proxies.filter(proxy =>
    allowedRegions.some(r => proxy.name.includes(r))
  );

  // 获取过滤后的节点名称列表
  const proxyNames = config.proxies.map(p => p.name);

  // 更新「节点选择」策略组使用过滤后的节点
  config['proxy-groups'].forEach(group => {
    if (group.name === '🚀 节点选择') {
      group.proxies = ['DIRECT', ...proxyNames];
    }
  });

  return config;
}

常用脚本示例:自动添加测速组

function main(config) {
  const allProxies = config.proxies.map(p => p.name);

  // 插入一个 url-test 自动选速策略组
  config['proxy-groups'].unshift({
    name:     '⚡ 自动选速',
    type:     'url-test',
    proxies:  allProxies,
    url:      'https://www.gstatic.com/generate_204',
    interval: 300,
    tolerance:50
  });

  return config;
}
注意:脚本语法错误会导致配置加载失败,建议在客户端的「配置编辑器」中使用内置的语法校验功能,确认无误后再保存激活。

日志排查与常见错误

遇到连接问题时,「日志」是最直接的诊断工具。本章汇整了最常见的错误信息与对应的解决方案。

日志级别说明

debug 最详细,排查深层问题时使用,日志量大
info 日常使用推荐,记录连接与规则匹配信息
warning / error 仅输出异常信息,适合生产环境

高频错误排查手册

dial tcp: i/o timeout — 节点连接超时
节点地址无法到达。可能原因:① 节点 IP 被运营商封锁;② 端口被防火墙拦截;③ 节点已下线。解决方案:切换节点,或在设置中开启「TCP 并发」让客户端自动选择可用节点。
proxyconnect tcp: EOF — 代理握手中断
代理服务器在握手阶段断开了连接。常见于协议参数错误(UUID、密码或加密方式不匹配)或服务端版本不兼容。解决方案:重新导入订阅文件,或联系机场确认服务端是否更新了配置。
no such rule provider — 规则集下载失败
远程规则集 URL 无法访问(客户端尚未建立代理通道时无法下载规则)。解决方案:在规则集配置中添加 proxy: 🚀 节点选择 字段让规则集通过代理下载,或将规则集 URL 替换为国内可访问的镜像地址。
DNS resolution failed — DNS 解析失败
在 TUN 模式下,若 DNS 配置不当会导致所有域名均无法解析。解决方案:确保配置中启用了 dns.enable: true,并将 dns-hijack 设置为 any:53。建议同时配置多个可靠的 DoH 上游服务器(如 doh.pub + dns.alidns.com)。
TUN device not found — TUN 网卡创建失败
服务模式(Service Mode)未正确安装,或系统安全策略阻止了驱动加载。解决方案(Windows):以管理员身份重启 Clash Verge Rev,重新安装服务模式。解决方案(macOS):前往「系统设置」→「隐私与安全性」,允许系统扩展,并重启系统。

查看实时日志的方法

Clash Verge Rev

左侧菜单「日志」→ 实时滚动显示。右上角可切换日志级别(调试时选 debug),支持关键词过滤。

命令行访问

# 通过 Clash RESTful API 实时查看
curl -N http://127.0.0.1:9090/logs \
  -H "Authorization: Bearer <secret>"
日志文件位置:Windows — %APPDATA%\io.github.clash-verge-rev\logs\;macOS — ~/Library/Logs/io.github.clash-verge-rev/。遇到崩溃或无法复现的问题时,将日志文件发送给社区 Issue 可加快排查速度。

常见问题解答

Clash Verge Rev 和 Clash for Windows 有什么区别?配置兼容吗?
CFW(Clash for Windows)已于 2023 年底停止维护,存在未修复的安全漏洞。Clash Verge Rev 是基于 Tauri 2.0 重写的继任者,UI 更现代、包体更小(<15MB),内置最新 Meta 内核。配置文件完全兼容,可直接将旧的 YAML 配置文件导入 Verge Rev 使用,无需修改任何字段。
订阅导入后节点全部显示超时 / 延迟 9999ms 怎么办?
按以下顺序排查:① 检查订阅链接是否已过期(登录机场面板确认);② 暂时关闭杀毒软件 / Windows Defender 防火墙;③ 检查系统时间是否正确(误差超过 90 秒会导致握手失败);④ 尝试切换至不同运营商网络(如手机热点)测试是否为 ISP 封锁问题。
TUN 模式开启后局域网内其他设备也能走代理吗?
TUN 模式默认仅代理本机流量。若需共享给局域网设备,需在配置中设置 allow-lan: true,并将其他设备的网关或代理指向本机 IP(端口默认为 7890)。注意开启后请做好访问控制,避免代理被滥用。
如何让 git / npm / pip 等命令行工具走代理?
最简方案:开启 TUN 模式即可全自动代理,无需任何额外配置。若不用 TUN,可在终端临时设置环境变量:
# macOS / Linux
export https_proxy=http://127.0.0.1:7890 http_proxy=http://127.0.0.1:7890

# Windows PowerShell
$env:https_proxy="http://127.0.0.1:7890"
开启代理后国内网站访问变慢,如何优化?
确保规则中包含 GEOSITE,cn,DIRECTGEOIP,CN,DIRECT 这两条,让国内流量绕过代理直连。若使用 fake-ip DNS 模式,可在 fake-ip-filter 中排除常用国内域名(如 *.baidu.com, *.qq.com),避免不必要的 DNS 延迟。
在 iOS 上有什么推荐的 Clash 客户端?
iOS 上目前有以下选择:① Stash(付费,兼容 Clash 配置,界面精美,功能完整,国区可购买);② Shadowrocket(付费,需非大陆 Apple ID 购买,支持多种协议);③ Sing-Box(开源免费,生态新,功能强大)。FlClash 的 iOS 版本目前仍在开发中,可关注其 GitHub 进度。