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.deb4. Служебный режим, 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:539. 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_PROXY11. 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-ядро — тоже тестовая сборка.
- Политика конфиденциальности проекта утверждает, что приложение не собирает пользовательские данные, и перечисляет его сетевые подключения, например проверку обновлений.
- Соблюдайте местное законодательство и условия сервисов, которыми пользуетесь. Прокси-клиент меняет сетевые маршруты, но не ваши обязательства.