1. Что такое Clash Verge Rev и как он связан с Clash, CFW, ClashX и mihomo

Clash Verge Rev — настольный клиент с открытым исходным кодом (GPL-3.0), написанный на Rust и Tauri 2. В README он описан как графическая оболочка для Clash Meta и продолжение исходного Clash Verge. Это только локальный клиент: он запускает прокси-ядро, управляет профилями и меняет системные настройки. Прокси-серверов в комплекте нет, и VPN-сервисом он не является.

На момент проверки последний стабильный релиз — v2.5.8, опубликованный на GitHub 9 октября 2026 года. Предыдущие стабильные версии вышли 22 сентября (v2.5.5), 26 сентября (v2.5.6) и 2 октября (v2.5.7). В документации проекта указано, что приложение распространяется только через GitHub Releases; сайты загрузок с похожими названиями официальными каналами не являются.

Исходный Clash Verge от zzzgydi переведен на GitHub в архив (последний push — 3 ноября 2023 года), и для новых установок его использовать не стоит. Разработка Clash for Windows (CFW) прекращена в ноябре 2023 года, ClashX — отдельное семейство клиентов для macOS, а mihomo (бывший Clash.Meta) — открытое ядро, которое поддерживает MetaCubeX. Verge Rev поставляет mihomo под именем verge-mihomo и предлагает Alpha-сборку того же ядра в Settings → Clash Core; закрытое ядро Clash Premium, на котором работал CFW, выбрать нельзя.

В README и описаниях релизов встречаются рекламные ссылки третьих лиц. Они не относятся к самой программе, и это руководство не рекомендует никаких поставщиков прокси или подписок.

2. Четыре слоя: вход, режим выхода, DNS и границы приватности

Документация Verge разделяет входящий путь (как трафик попадает в локальное ядро: System Proxy или TUN) и режим выхода (куда ядро его отправляет: Rule, Global или Direct). DNS — третий, независимый слой. Состояние одного переключателя ничего не говорит о других слоях.

  • Для сайта назначения: полностью проксированные запросы обычно показывают выходной IP узла, а не публичный IP вашего дома или офиса.
  • Для оператора прокси: узел принимает ваше подключение и видит исходный публичный IP. Скрыть его от самого узла не может ни один клиент.
  • Для локальной сети и провайдера: адрес прокси-сервера, время соединений и объем трафика остаются видимыми; содержимое зависит от протокола и шифрования.
  • Для DNS-провайдера: DoH и DoT шифруют передачу, но резолвер все равно видит запрашиваемые имена и IP, с которого к нему подключаются. Шифрование — это не анонимность.
  • Для аккаунтов и браузеров: cookie, входы в аккаунты, язык, часовой пояс, отпечатки браузера и службы геолокации ОС по-прежнему могут выдать личность или местоположение.
Приложение
   │
   │  1. System Proxy: приложение само использует 127.0.0.1:7897
   │  2. TUN: виртуальный интерфейс перехватывает TCP/UDP на уровне маршрутизации
   ▼
ядро mihomo (verge-mihomo)
   │
   │  3. Rule / Global / Direct: выбор исходящего пути
   │  4. DNS: fake-ip или redir-host, какие резолверы и каким путем
   ▼
DIRECT / прокси-узел / REJECT
   │
   ▼
Назначение

3. Установка в разных операционных системах

  • Windows: для v2.5.8 есть установщики setup.exe для x64 и ARM64, а также варианты fixed_webview2 со встроенным WebView2 — для систем, где его нет или не удается установить. Большинству ПК нужен x64; ошибка «Невозможно запустить это приложение на вашем ПК» обычно означает, что скачана сборка не той архитектуры. Windows 7 больше не поддерживается.
  • Менеджеры пакетов Windows: в документации указаны команда winget install ClashVergeRev.ClashVergeRev и пакет Scoop (extras/clash-verge-rev), который поддерживает сообщество, а не проект.
  • SmartScreen: если Windows предупреждает об установщике, убедитесь, что он скачан со страницы релиза на GitHub и что его SHA-256 совпадает с хешем, который GitHub показывает для файла. Не отключайте SmartScreen или Defender целиком.
  • macOS: отдельные DMG для Apple silicon (aarch64) и Intel (x64). На странице установки указана поддержка macOS 12 и новее. Если Gatekeeper блокирует первый запуск, проверьте источник и разрешите именно это приложение в System Settings → Privacy & Security (Системные настройки → Конфиденциальность и безопасность), а не отключайте Gatekeeper и не снимайте атрибуты карантина с неизвестных файлов.
  • Linux: для v2.5.8 есть пакеты .deb и .rpm для x86_64, ARM64 и ARMv7. Установка — sudo apt install ./file.deb или sudo dnf install ./file.rpm. В Arch можно использовать пакет AUR clash-verge-rev-bin. AppImage к v2.5.8 не приложен.
  • В Linux нужен графический сеанс, потому что интерфейс построен на WebView. На серверах без графики запускайте бинарный файл mihomo напрямую.
  • Файлы .sig рядом с каждым установщиком — подписи для встроенного механизма обновлений. Для ручной проверки сравните SHA-256 файла с хешем на странице релиза.
# Windows (PowerShell)
Get-FileHash .\Clash.Verge_2.5.8_x64-setup.exe -Algorithm SHA256

# macOS
shasum -a 256 Clash.Verge_2.5.8_aarch64.dmg

# Linux
sha256sum Clash.Verge_2.5.8_amd64.deb
sudo apt install ./Clash.Verge_2.5.8_amd64.deb

4. Служебный режим, Sidecar и что нужно для TUN

TUN создает виртуальный сетевой интерфейс и меняет маршруты, а для этого нужны повышенные права. Служебный режим (service mode) устанавливает отдельный привилегированный процесс clash-verge-service, который запускает ядро, поэтому TUN работает, даже когда интерфейс запущен от обычного пользователя. Служба продолжает работать в фоне и после выхода из программы. Без службы ядро запускается как непривилегированный Sidecar, и TUN недоступен.

  • Установите службу кнопкой Install Service в Settings и подтвердите системный запрос. Прежде чем включать Tun Mode, убедитесь, что главная страница показывает служебный режим.
  • В последних версиях служба Windows проверяет владельца и права доступа к файлам ядра и родительским каталогам. Если обычный пользователь может подменить ядро, проверка не проходит и приложение возвращается в Sidecar. Решение — переустановить программу в стандартный каталог C:\Program Files\Clash Verge с правами по умолчанию, а не ослаблять права.
  • В качестве альтернативы в Windows документация допускает запуск программы от имени администратора без службы: TUN тоже заработает, но так придется запускать ее каждый раз.
  • Брандмауэр: для TUN может потребоваться разрешить бинарные файлы ядра verge-mihomo и verge-mihomo-alpha. В документации mihomo отмечено, что стеки system и mixed не работают, если брандмауэр блокирует ядро.
  • macOS: служба работает как демон launchd. В документации также описаны вспомогательные программы install-service и uninstall-service внутри пакета приложения для ручного восстановления.
  • Linux: служба устанавливается тем же переключателем в настройках; для ручного восстановления документация приводит sudo /bin/install-service и sudo /bin/uninstall-service.

5. Первый запуск: импорт уже имеющегося профиля

  • Откройте Profiles и вставьте HTTPS-ссылку на подписку, которая у вас уже есть, или импортируйте локальный YAML-файл. Можно также перетащить файл в окно или воспользоваться схемой clash://install-config?url=<URL-кодированная ссылка>. Локальные файлы копируются в каталог profiles.
  • Ссылки на подписку обычно содержат токен аккаунта. Не показывайте их на скриншотах, в баг-репортах и чатах.
  • Не включайте Allows Invalid Certificates (Danger) («Разрешить недействительные сертификаты»). Эта опция отключает проверку TLS при загрузке и сильно упрощает подмену.
  • Выберите карточку профиля, откройте Proxies, включите режим Rule и выберите реальный узел в основной группе.
  • Включите System Proxy и проверьте в браузере: запрос должен появиться в Connections с ожидаемым правилом и цепочкой.
  • Включайте Tun Mode только тогда, когда нужны приложения, игнорирующие системный прокси. Auto Launch и Silent Start отвечают лишь за способ запуска программы и не доказывают, что профиль, узел и DNS работают правильно.
  • Порты по умолчанию в v2.5.8: mixed 7897, SOCKS 7898, HTTP 7899, внешний контроллер 127.0.0.1:9097. Всегда ориентируйтесь на значения в Port Config.

6. System Proxy против TUN и режимы Rule / Global / Direct

System Proxy записывает системные настройки прокси; приложения, которые их учитывают, отправляют запросы на локальный mixed-порт. Это добровольный механизм, и UDP (например, игровой трафик) через него не идет. TUN перенаправляет трафик на уровне маршрутизации, поэтому приложениям не нужна настройка, а в ядро попадают и TCP, и UDP. Одновременное включение не дает «двойного шифрования»; для диагностики лучше выбрать один понятный способ перехвата.

  • Только браузеры: обычно достаточно System Proxy и режима Rule, а неполадки так проще искать.
  • Терминалы, компоненты IDE, игры, UDP-приложения, WSL или Docker: TUN через служебный режим с последующей проверкой DNS, IPv6 и UDP.
  • Proxy Guard («Защита системного прокси») заново применяет системный прокси, если его изменила другая программа; Proxy Bypass Settings — список узлов, которые идут мимо прокси. Держите там localhost, 127.0.0.1, частные диапазоны и *.local и не добавляйте публичные адреса, которые должны идти через прокси.
  • Use PAC Mode предназначен для конфигураций на основе PAC; PAC-файл — это еще одно решение о маршрутизации, и проверять его нужно так же, как набор правил.
  • Rule сопоставляет трафик с правилами профиля. Global отправляет все, что дошло до ядра, через узел, выбранный в GLOBAL. Direct выпускает все через локальную сеть.
  • Global не перехватывает приложения, которые вообще не дошли до ядра, и имеет смысл, только если в GLOBAL выбран реальный узел, а не DIRECT.
  • В настройках Tun Mode есть Tun Stack, Auto Route, Strict Route, Auto Detect Interface, DNS Hijack, Route Exclude Address и MTU. Меняйте по одному параметру и каждый раз проверяйте результат.

7. Профили, Extend Config (Merge) и Extend Script

Удаленные профили перезаписываются при обновлении, поэтому долговременные изменения стоит хранить в расширениях. Текущий порядок обработки: исходный профиль → настройки приложения → глобальный Extend Config → глобальный Extend Script → Extend Config профиля → Extend Script профиля → повторное применение настроек приложения. Чтобы отредактировать Extend Config или Extend Script, щелкните карточку профиля правой кнопкой.

Начиная с v2.5.5 поля dns и hosts верхнего уровня, записанные в Extend Config, заменяют существующие значения целиком (включая nameserver-policy), а не объединяются построчно. Списки вроде rules тоже заменяются целиком, а вложенные объекты вроде tun или sniffer объединяются по полям. Параметры, которыми управляет само приложение, — mixed-port, allow-lan, mode, ipv6, secret, external-controller, tun.enable и поля, сохраненные в диалоге Tun Mode, — отбрасываются в конце цепочки, если их задало расширение.

  • Замените Proxy на имя группы, которая действительно есть в вашем профиле, с точным написанием.
  • Правила проверяются сверху вниз, срабатывает первое совпадение, а MATCH должен стоять последним.
  • PROCESS-NAME использует имя исполняемого файла платформы, например git.exe в Windows.
  • Скрипты выполняются во встроенном движке JavaScript (boa_engine) без сетевого и файлового ввода-вывода, но при этом могут переписать любое правило, DNS-сервер и исходящий путь. Запускайте только те скрипты, которые понимаете.
  • Итог проверяйте в Settings → Runtime Config: там показана конфигурация, которую реально загружает ядро.
# Extend Config (YAML): небольшое изменение, которое легко проверить
dns:
  use-system-hosts: false

// Extend Script (JavaScript): безопасно добавить два правила в начало
function main(config, profileName) {
  const extra = [
    "DOMAIN-SUFFIX,example.com,DIRECT",
    "PROCESS-NAME,git,Proxy"
  ];
  config.rules = extra.concat(config.rules || []);
  return config;
}

8. DNS: fake-ip против redir-host, nameserver, fallback и DoH

В mihomo параметр enhanced-mode принимает значения fake-ip или redir-host, по умолчанию — redir-host. Режим fake-ip возвращает адреса из зарезервированного диапазона, например 198.18.0.1/16, и хранит соответствие доменов внутри ядра, поэтому маршрутизация может опираться на доменное имя, а приложение не получает результат реального запроса. redir-host возвращает настоящие адреса. Ни один из режимов не является шифрованием.

nameserver — основной список резолверов. default-nameserver должен содержать только IP-адреса и нужен лишь для разрешения имен самих DNS-серверов. proxy-server-nameserver разрешает имена прокси-узлов и снимает проблему «курицы и яйца». fallback вместе с fallback-filter подставляет альтернативные ответы, если результаты выглядят подмененными; фильтр geosite устарел, вместо него используйте nameserver-policy. respect-rules заставляет DNS-соединения следовать правилам маршрутизации и требует proxy-server-nameserver.

Переключатель DNS Overwrite в Verge записывает раздел DNS от имени приложения до запуска расширений. Если в профиле уже есть тщательно настроенная DNS-политика, сравните оба варианта, прежде чем его включать.

  • dns.ipv6: false лишь подавляет ответы AAAA и не отключает IPv6 в операционной системе.
  • В документации mihomo указано, что в Windows и macOS dns-hijack не может перехватить DNS-запросы к адресам локальной сети, поэтому не направляйте системный резолвер на роутер, если рассчитываете на TUN.
  • В macOS при включенном TUN Verge подставляет в систему публичный DNS-резолвер-заглушку и затем восстанавливает прежний; в v2.5.8 исправлен случай, когда после выключения TUN оставался 114.114.114.114.
  • Если в режиме fake-ip не открываются внутренние корпоративные имена, нужна запись nameserver-policy для внутреннего резолвера или точечная запись в fake-ip-filter, а не отключение DNS-модуля.
  • К адресу nameserver можно добавить #ИмяГруппы, чтобы выбрать исходящий путь, например https://1.1.1.1/dns-query#Proxy, где Proxy — реальная группа.
# Опорный фрагмент runtime-конфигурации для актуального mihomo (смотрите в Runtime Config).
# Поля tun.* задавайте в диалоге Tun Mode: ими управляет Verge.
dns:
  enable: true
  ipv6: false
  enhanced-mode: fake-ip
  fake-ip-range: 198.18.0.1/16
  fake-ip-filter:
    - "+.lan"
    - "+.local"
  default-nameserver:
    - 1.1.1.1
  proxy-server-nameserver:
    - https://1.1.1.1/dns-query
  respect-rules: true
  nameserver:
    - https://1.1.1.1/dns-query
    - https://8.8.8.8/dns-query

tun:
  enable: true
  stack: mips          # стек по умолчанию в текущем mihomo; есть также system, gvisor, mixed
  auto-route: true
  auto-detect-interface: true
  strict-route: true   # Windows: блокирует DNS-утечки при нескольких интерфейсах; может ломать VirtualBox
  dns-hijack:
    - any:53
    - tcp://any:53

9. IPv6, WebRTC, QUIC, DoH браузера и проверка утечек

  • IPv6: переключатель IPv6 в Verge определяет, принимает ли ядро IPv6-трафик. Если в физической сети есть публичный IPv6, а туннель его не передает, IPv6-сайты могут видеть исходный адрес. Либо осознанно маршрутизируйте IPv6, либо ограничьте его, а затем проверьте оба семейства адресов.
  • WebRTC: STUN может раскрыть дополнительные адреса в обход обычного прокси приложения (RFC 8828). В браузерах на Chromium это ограничивается политикой non-proxied UDP, что может повлиять на звонки.
  • QUIC/HTTP3 работает поверх UDP. При одном System Proxy браузеры обычно переходят на TCP; при TUN узел должен действительно поддерживать UDP. Проверяйте, а не предполагайте.
  • DoH браузера: собственный защищенный DNS браузера идет мимо резолвера ядра и fake-ip. Отключать его стоит только после того, как проверены TUN и перехват DNS.
  • Кандидат mDNS вида .local в тесте WebRTC — не утечка публичного IP; смотрите на публичные адреса IPv4/IPv6.
  • Порядок проверки: (1) откройте две независимые страницы проверки IP и запишите результаты для IPv4 и IPv6; (2) выполните стандартный и расширенный тест DNS и ищите своего провайдера, роутер или другой неожиданный резолвер; (3) пройдите тест WebRTC; (4) найдите те же запросы в Connections с ожидаемым правилом и цепочкой.
  • Повторяйте проверку после сна, смены сети, обновления профиля, смены узла и перезапуска программы. Если при остановленном Verge приложения выходят в сеть напрямую, схема не работает по принципу fail-closed: TUN — это не kill switch.

10. Терминал, Git, SSH, браузеры, IDE, Docker и WSL

Консольные утилиты обычно игнорируют системный прокси. Выберите PowerShell, Bash или CMD в Copy Env Type, а затем скопируйте подходящие переменные окружения через меню значка в трее. Скопированный адрес — 127.0.0.1, если не задана переменная окружения CLASH_VERGE_REV_IP.

  • Параметр Git http.proxy не действует на удаленные репозитории вида git@ по SSH; используйте TUN или ProxyCommand.
  • Chrome и Edge следуют системному прокси; дополнительно проверьте расширения, защищенный DNS, WebRTC и QUIC. Firefox можно настроить вручную на SOCKS v5 с разрешением DNS через прокси.
  • IDE: у редактора, расширений, языковых серверов, менеджеров пакетов и встроенного терминала могут быть собственные настройки прокси.
  • Приложения Microsoft Store (UWP) по умолчанию не могут обращаться к localhost; используйте Settings → Open UWP tool только для тех приложений, которым это нужно.
  • У контейнеров Docker и WSL собственный сетевой стек: 127.0.0.1 внутри них — это не хост. Лучше использовать TUN или включать Allow LAN только в доверенной сети и только на нужное время.
  • Некоторые приложения macOS игнорируют системный прокси; настройте прокси внутри приложения или используйте TUN.
# Bash / zsh (только текущая оболочка; подставьте свой порт)
export http_proxy=http://127.0.0.1:7897
export https_proxy=http://127.0.0.1:7897
export all_proxy=socks5://127.0.0.1:7897

# curl с разрешением имен на стороне прокси
curl --proxy socks5h://127.0.0.1:7897 https://example.com/

# Git только для HTTP(S): задать и удалить
git config --global http.proxy http://127.0.0.1:7897
git config --global --unset http.proxy

# SSH через SOCKS для одного хоста (~/.ssh/config, macOS/Linux)
Host example.com
    ProxyCommand nc -X 5 -x 127.0.0.1:7897 %h %p

# PowerShell (текущий сеанс)
$env:HTTPS_PROXY = "http://127.0.0.1:7897"
Remove-Item Env:HTTPS_PROXY

11. Logs, Connections, Web UI и чек-лист неполадок

  • Connections показывает процесс, адрес назначения, тип сети, сработавшее правило и цепочку. Цепочка, которая заканчивается на DIRECT, не использовала узел. Отсутствие записи означает, что приложение вообще не дошло до ядра.
  • Logs показывает загрузку профиля, ошибки DNS и TUN. Повышайте Log Level до Debug только на время диагностики и удаляйте домены, IP и ссылки на подписку, прежде чем делиться логами. Export Diagnostic Info собирает сведения для баг-репорта — сначала просмотрите их.
  • Auto Close Connections разрывает старые соединения при смене узла, чтобы устаревшая TCP-сессия не продолжала идти через прежний выход.
  • Web UI открывает внешнюю панель управления, подключенную к External Controller. Для нее нужны адрес контроллера и Core Secret.
  • Сеть не работает без запущенного Verge (Windows): после сбоя мог остаться включенным системный прокси. Выключите ручной прокси в Параметры → Сеть и Интернет → Прокси-сервер.
  • После включения TUN пропала сеть: проверьте служебный режим, правила брандмауэра для verge-mihomo, лишние виртуальные адаптеры или другие VPN, а также стек TUN. Прежде чем менять много настроек, вернитесь к заведомо рабочему профилю.
  • Пустая страница Proxies: порт контроллера может быть занят другой программой; смените порт External Controller и перезапустите приложение.
  • После включения прокси не открываются некоторые сайты: проверьте, не занят ли порт 7897 другой программой и нет ли посторонних записей в системном файле hosts.
  • Интерфейс не открывается в Windows: WebView2 отсутствует или отключен; переустановите его или используйте установщик fixed_webview2. Для Linux с NVIDIA и Wayland документация предлагает обходной путь WEBKIT_DISABLE_DMABUF_RENDERER=1.

12. Безопасность и обслуживание

  • Импортируйте профили только из источников, которым доверяете. Профиль определяет, какой трафик идет через DIRECT, какие DNS-серверы используются и какие узлы видят ваш трафик.
  • Extend Script — это код. Читайте любой скрипт перед включением и храните копию своих изменений.
  • Смените Core Secret. Шаблон v2.5.8 подставляет вместо пустого секрета заглушку set-your-secret, а список CORS по умолчанию позволяет нескольким размещенным в интернете панелям обращаться к контроллеру из браузера.
  • Держите External Controller на 127.0.0.1. Никогда не открывайте контроллер без аутентификации на 0.0.0.0 или публичном интерфейсе.
  • Не включайте Allow LAN, если другому устройству действительно не нужен прокси, особенно в публичном Wi-Fi.
  • Backup Setting поддерживает локальные резервные копии и WebDAV. В копиях могут быть ссылки на подписку и учетные данные узлов, поэтому храните их только там, где это допустимо.
  • Используйте стабильный канал, обновляйтесь без промедления и читайте описания релизов. Сборки AutoBuild предназначены для тестирования, Alpha-ядро — тоже тестовая сборка.
  • Политика конфиденциальности проекта утверждает, что приложение не собирает пользовательские данные, и перечисляет его сетевые подключения, например проверку обновлений.
  • Соблюдайте местное законодательство и условия сервисов, которыми пользуетесь. Прокси-клиент меняет сетевые маршруты, но не ваши обязательства.