Clash Meta 2026: от азов до профи в конфигурации mihomo YAML

Что такое файл конфигурации Clash Meta и зачем его изучать?

Clash Meta (ныне mihomo) — один из самых популярных прокси-движков, используемый в ClashX, Clash Verge, Clash Nyanpasu и других клиентах. Его ключевые функции — прокси-узлы, DNS и маршрутизация трафика правилами — определяются одним YAML-файлом конфигурации.

Хотя большинство пользователей получают конфигурацию через подписку, понимание структуры и принципов конфигурации дает ощутимые плюсы:

  • Точная маршрутизация: свои правила — внутринациональный трафик напрямую, зарубежный через прокси без лишних обходов.
  • Быстрая диагностика: при проблемах быстро понять — узлы, DNS или правила.
  • Оптимизация: грамотный DNS и TUN заметно ускоряют сеть.
  • Контроль и приватность: понимаете смысл каждой опции и не рискуете приватностью из-за сомнительных конфигов.
💡
Для кого эта статья?

Для пользователей ClashX/Clash Verge, которые хотят понять и настроить конфиг под себя. Будь вы новичок или продвинутый, это руководство будет полезным.

Базовая структура файла

Полный конфиг Clash Meta состоит из нескольких верхнеуровневых полей. Ниже — минимальный скелет, далее разберем каждое поле:

# Clash Meta (mihomo) 基础配置

# 混合代理端口(HTTP + SOCKS5 共用一个端口)
mixed-port: 7890

# 允许局域网设备连接
allow-lan: true

# 绑定地址,* 表示所有网卡
bind-address: '*'

# 运行模式:rule(规则)/ global(全局代理)/ direct(直连)
mode: rule

# 日志级别:silent / error / warning / info / debug
log-level: info

# 外部控制器 API,用于仪表盘或客户端通信
external-controller: 127.0.0.1:9090

# 外部控制器访问密钥(可选但推荐设置)
secret: "your-secret-here"

# 查找进程名称(用于基于进程的规则匹配)
find-process-mode: strict

# GeoIP 数据文件格式
geodata-mode: true
geox-url:
  geoip: "https://cdn.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/geoip.dat"
  geosite: "https://cdn.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/geosite.dat"
  mmdb: "https://cdn.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/country.mmdb"

Ключевые поля

  • mixed-port: общий порт для HTTP и SOCKS5. С 7890 оба работают на одном порту. Раздельно — port и socks-port.
  • allow-lan: при true устройства в сети (телефон/планшет) могут использовать ваш Mac как шлюз.
  • mode: глобальное поведение трафика. rule — по правилам; global — всё через прокси; direct — всё напрямую.
  • external-controller: REST API для Dashboard/yacd и клиентов.
  • find-process-mode: позволяет в правилах сопоставлять по имени процесса (например, Telegram) — strict самый точный.

DNS: подробные настройки

DNS — одна из наиболее влияющих на опыт частей Clash Meta. Ошибочные настройки ведут к медленному резолву, недоступности сайтов и утечкам DNS.

dns:
  enable: true
  listen: 0.0.0.0:53
  ipv6: false

  # enhanced-mode 决定 DNS 的工作方式
  # fake-ip: 返回虚拟 IP,加速首次连接(推荐)
  # redir-host: 返回真实 IP,兼容性更好
  enhanced-mode: fake-ip
  fake-ip-range: 198.18.0.1/16

  # 排除不走 fake-ip 的域名
  fake-ip-filter:
    - '*.lan'
    - '*.local'
    - 'localhost.ptlogin2.qq.com'
    - '+.stun.*.*'
    - '+.stun.*.*.*'
    - 'lens.l.google.com'
    - 'stun.l.google.com'

  # 默认 DNS 服务器(用于解析国内域名)
  nameserver:
    - https://doh.pub/dns-query
    - https://dns.alidns.com/dns-query
    - 223.5.5.5
    - 119.29.29.29

  # 回退 DNS(用于解析可能被污染的域名)
  fallback:
    - https://dns.cloudflare.com/dns-query
    - https://dns.google/dns-query
    - tls://8.8.4.4:853

  # 回退过滤策略
  fallback-filter:
    geoip: true
    geoip-code: CN
    geosite:
      - gfw
    ipcidr:
      - 240.0.0.0/4
    domain:
      - '+.google.com'
      - '+.facebook.com'
      - '+.youtube.com'

fake-ip vs redir-host

fake-ip — рекомендуемый режим: при запросе DNS Clash сразу возвращает виртуальный IP (из fake-ip-range), а реальное разрешение делает асинхронно. Первое соединение ощутимо быстрее.

redir-host ждет реального DNS-результата. Медленнее, но необходим там, где важен реальный IP (LAN-обнаружение, ряд игр).

nameserver и fallback

nameserver — основные DNS (часто локальные/региональные для скорости). fallback — запасные (обычно зарубежные), используются при вероятной «порче» IP, что определяется fallback-filter.

⚠️
Утечки DNS

При совместном использовании fake-ip и TUN убедитесь, что dns.listen настроен корректно, чтобы системные DNS не обходили Clash.

Настройка прокси-узлов

Раздел proxies описывает каждый доступный сервер. Clash Meta поддерживает множество протоколов. Примеры:

Shadowsocks (SS)

proxies:
  - name: "SS-HK"
    type: ss
    server: hk.example.com
    port: 8388
    cipher: aes-256-gcm
    password: "your-password"
    udp: true

VMess

  - name: "VMess-JP"
    type: vmess
    server: jp.example.com
    port: 443
    uuid: a1b2c3d4-e5f6-7890-abcd-ef1234567890
    alterId: 0
    cipher: auto
    tls: true
    network: ws
    ws-opts:
      path: /ws-path
      headers:
        Host: jp.example.com

Trojan

  - name: "Trojan-US"
    type: trojan
    server: us.example.com
    port: 443
    password: "your-password"
    udp: true
    sni: us.example.com
    skip-cert-verify: false

VLESS (расширение Clash Meta)

  - name: "VLESS-SG"
    type: vless
    server: sg.example.com
    port: 443
    uuid: a1b2c3d4-e5f6-7890-abcd-ef1234567890
    network: ws
    tls: true
    udp: true
    flow: xtls-rprx-vision
    ws-opts:
      path: /vless-ws
      headers:
        Host: sg.example.com
    reality-opts:
      public-key: "your-public-key"
      short-id: "your-short-id"

Hysteria2 (расширение Clash Meta)

  - name: "Hy2-TW"
    type: hysteria2
    server: tw.example.com
    port: 8443
    password: "your-password"
    obfs: salamander
    obfs-password: "obfs-password"
    sni: tw.example.com
    skip-cert-verify: false
    up: "30 Mbps"
    down: "200 Mbps"
💡
Выбор протокола

Если есть поддержка Hysteria2 — чаще всего это лучший вариант для сетей с потерями (QUIC). VLESS + Reality — один из наиболее скрытных современных подходов. Классические SS и VMess — стабильные универсальные решения.

Группы прокси: стратегии

Группы (proxy-groups) позволяют объединять узлы и определять стратегию выбора.

Ручной выбор (select)

proxy-groups:
  - name: "🚀 节点选择"
    type: select
    proxies:
      - "♻️ 自动选择"
      - "🔮 负载均衡"
      - "SS-HK"
      - "VMess-JP"
      - "Trojan-US"
      - "VLESS-SG"
      - "Hy2-TW"
      - DIRECT

Автотест URL (url-test)

  - name: "♻️ 自动选择"
    type: url-test
    proxies:
      - "SS-HK"
      - "VMess-JP"
      - "Trojan-US"
      - "VLESS-SG"
      - "Hy2-TW"
    url: http://www.gstatic.com/generate_204
    interval: 300
    tolerance: 50

Failover (fallback)

  - name: "🔄 故障转移"
    type: fallback
    proxies:
      - "Hy2-TW"
      - "VLESS-SG"
      - "Trojan-US"
    url: http://www.gstatic.com/generate_204
    interval: 300

Балансировка (load-balance)

  - name: "🔮 负载均衡"
    type: load-balance
    proxies:
      - "SS-HK"
      - "VMess-JP"
      - "Trojan-US"
    strategy: consistent-hashing
    url: http://www.gstatic.com/generate_204
    interval: 300

Когда что использовать:

  • select: гибкость и ручной контроль (например, для конкретных региональных сервисов).
  • url-test: автоматический выбор «быстрейшего» с порогом tolerance, без дерганий.
  • fallback: приоритетный список: первый доступный — активен.
  • load-balance: распределение нагрузки; consistent-hashing держит один домен за одним узлом.

Правила маршрутизации

Правила (rules) определяют, для каждого соединения — прокси, прямой или блок. Clash Meta идет сверху вниз до первого совпадения — порядок критичен.

rules:
  # 域名精确匹配
  - DOMAIN,google.com,🚀 节点选择
  
  # 域名后缀匹配(包括所有子域名)
  - DOMAIN-SUFFIX,googleapis.com,🚀 节点选择
  - DOMAIN-SUFFIX,github.com,🚀 节点选择
  - DOMAIN-SUFFIX,youtube.com,🚀 节点选择
  
  # 域名关键词匹配
  - DOMAIN-KEYWORD,google,🚀 节点选择
  - DOMAIN-KEYWORD,twitter,🚀 节点选择
  - DOMAIN-KEYWORD,facebook,🚀 节点选择
  
  # GeoSite 规则(使用 Meta 扩展数据库)
  - GEOSITE,google,🚀 节点选择
  - GEOSITE,github,🚀 节点选择
  - GEOSITE,telegram,🚀 节点选择
  - GEOSITE,cn,DIRECT
  
  # IP 地址段匹配
  - IP-CIDR,127.0.0.0/8,DIRECT,no-resolve
  - IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
  - IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
  - IP-CIDR,172.16.0.0/12,DIRECT,no-resolve
  
  # GeoIP 规则(根据 IP 归属地匹配)
  - GEOIP,CN,DIRECT
  - GEOIP,private,DIRECT,no-resolve
  
  # 进程名匹配(需要 find-process-mode 开启)
  - PROCESS-NAME,Telegram,🚀 节点选择
  - PROCESS-NAME,Steam,DIRECT
  
  # 兜底规则(必须放在最后)
  - MATCH,🚀 节点选择

Справочник по типам правил

  • DOMAIN: точное совпадение целого домена.
  • DOMAIN-SUFFIX: по суффиксу, включает поддомены.
  • DOMAIN-KEYWORD: по ключевому слову (самый широкий и риск ложных совпадений).
  • GEOSITE: база доменов из Meta — гораздо удобнее ручных списков.
  • IP-CIDR: по IP-подсети; no-resolve — без DNS-резолва в fake-ip.
  • GEOIP: по географии IP, CN — материковый Китай.
  • PROCESS-NAME: по имени процесса приложения.
  • MATCH: «на все остальное», всегда в самом низу.
💡
Принципы составления

Сначала точные (DOMAIN), затем широкие (DOMAIN-KEYWORD/GEOSITE), потом IP и, в конце, MATCH. Так баланс точности и производительности лучший.

Режим TUN

TUN перехватывает системный трафик, включая приложения без настроек прокси. В Clash Meta TUN зрелый и лучший способ «настоящего» глобального прокси.

tun:
  enable: true
  stack: system    # system / gvisor / mixed
  dns-hijack:
    - any:53
    - tcp://any:53
  auto-route: true
  auto-detect-interface: true
  # macOS 下的 MTU 设置
  mtu: 9000

Выбор стека

  • system: системный стек — лучшая производительность и совместимость (рекомендован в macOS).
  • gvisor: в user space — может быть стабильнее на ряде Linux.
  • mixed: смешанный; TCP — system, UDP — gvisor.

dns-hijack перенаправляет все DNS в модуль DNS Clash, предотвращая обход системными DNS. auto-route — автодобавление маршрутов. auto-detect-interface — автоопределение исходящего интерфейса.

⚠️
Права TUN

В macOS нужен доступ как к «VPN». При первом запуске подтвердите системный запрос. В ClashX Pro TUN встроен.

Продвинутое: скриптовые правила и sub-rules

Clash Meta предоставляет более мощные подходы к управлению трафиком — для сложных сценариев.

Sub-Rules (подправила)

Позволяют после первого совпадения использовать отдельный набор правил для дополнительного деления.

# 主规则中引用子规则
rules:
  - SUB-RULE,(AND,((GEOSITE,geolocation-!cn),(NOT,((GEOSITE,cn))))),overseas-rules
  - SUB-RULE,(GEOSITE,cn),china-rules
  - MATCH,🚀 节点选择

# 子规则定义
sub-rules:
  overseas-rules:
    - GEOSITE,youtube,📹 YouTube
    - GEOSITE,netflix,🎬 Netflix
    - GEOSITE,openai,🤖 AI 服务
    - GEOSITE,telegram,📱 Telegram
    - MATCH,🚀 节点选择
  china-rules:
    - GEOSITE,bilibili,📺 哔哩哔哩
    - GEOSITE,zhihu,DIRECT
    - MATCH,DIRECT

Rule Providers (внешние наборы правил)

Когда правил много, используйте rule-providers — файлы или удаленные URL.

rule-providers:
  reject:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/reject.txt"
    path: ./ruleset/reject.yaml
    interval: 86400
  proxy:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/proxy.txt"
    path: ./ruleset/proxy.yaml
    interval: 86400
  direct:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/direct.txt"
    path: ./ruleset/direct.yaml
    interval: 86400

rules:
  - RULE-SET,reject,REJECT
  - RULE-SET,proxy,🚀 节点选择
  - RULE-SET,direct,DIRECT
  - GEOIP,CN,DIRECT
  - MATCH,🚀 节点选择

Плюсы: автoобновление по interval (сек) и компактный основной конфиг. behavior: domain, ipcidr или classical.

Частые ошибки и отладка

Даже опытные пользователи ошибаются. Самые частые ситуации:

1. Ошибки YAML

YAML чувствителен к отступам:

  • Только пробелы, не Tab.
  • Единый шаг отступа (обычно 2 пробела).
  • После двоеточия — пробел: key: value.
  • Строки со спецсимволами — в кавычках.

2. Порт занят

Если mixed-port занят, смените порт или завершите процесс, занимающий его (lsof -i :7890 в macOS).

3. Узел не подключается

  • Проверьте адрес/порт.
  • Убедитесь в корректности пароля/UUID.
  • Шифр cipher совпадает с сервером.
  • При TLS — верный sni.

4. Проблемы DNS

  • dns.enable: true.
  • Используйте DoH, чтобы избежать перехвата провайдером.
  • В fake-ip добавьте проблемные домены в fake-ip-filter.

5. Правила «не срабатывают»

  • Проверьте порядок — верхние могли перехватить трафик.
  • Имена групп в правилах должны точно совпадать (регистр/эмодзи).
  • Смотрите панель «Соединения» клиента: какую именно строку правило попало.
🛠️
Совет по отладке

Включите log-level: debug, чтобы видеть подробный трейс сопоставления. Потом верните info, чтобы журнал не разрастался.

Частые вопросы (FAQ)

1. Чем отличается конфиг Clash Meta от оригинального Clash?

Clash Meta (mihomo) расширяет формат оригинала: новые протоколы (VLESS, Hysteria2, TUIC), детальный TUN, sub-rules, расширенный DNS. Конфиги Clash обычно работают в Meta, обратная совместимость не гарантирована.

2. Где лежит файл конфигурации?

В macOS ClashX по умолчанию хранит конфиг в ~/.config/clash/. У Clash Verge свой каталог. Путь можно задать вручную. Расширение: .yaml/.yml.

3. Какой режим лучше: fake-ip или redir-host?

В большинстве случаев — fake-ip для более быстрых первых соединений. Если нужны реальные IP (устройства в LAN/игры) — redir-host.

4. Почему конфиг не загружается?

Чаще всего: неверные отступы YAML, конфликт порта mixed-port, данные узлов, синтаксис правил. Проверьте валидатором YAML и логи.

Полезные ссылки

📥 Скачать ClashX ⚙️ Обзор Clash Meta 🛡️ Рекомендованные VPN для Mac 📝 Блог и руководства