1. Статус проекта: CFW больше не поддерживается
Clash for Windows — графический клиент на ядре Clash. Он не предоставляет прокси-серверы и не является сетью анонимности или полноценным VPN-сервисом. Оригинальный проект прекратил разработку в ноябре 2023 года; последней публичной версией была 0.20.39, а исходный репозиторий GitHub больше недоступен.
Пакеты, рекламируемые как «CFW 2026», «0.20.39.x» или «Opt build», нельзя считать официальными релизами Fndroid. Устаревший клиент не получает постоянных исправлений, а исходный канал распространения не проверяет случайные зеркала. Для нового развертывания лучше выбрать поддерживаемый клиент на mihomo. Это руководство в первую очередь для тех, кто уже использует CFW или поддерживает существующую конфигурацию.
Различайте старое ядро Clash/Premium в CFW, Clash.Meta, mihomo и сторонние форки. Их поля конфигурации не полностью совместимы, поэтому не копируйте новые параметры вроде respect-rules, strict-route или новых стеков в старый профиль CFW без проверки совместимости.
2. Четыре понятия, которые нельзя путать
Реальный путь в CFW состоит из четырех слоев: как приложение попадает в ядро, какой выход выбирает ядро, как разрешается DNS и что происходит после сбоя. Включение одного переключателя не доказывает правильную работу остальных слоев.
- System Proxy настраивает поддерживаемые приложения на локальную точку; часть терминалов, игр, UDP-приложений и упакованных программ может его игнорировать.
- TUN перехватывает больше трафика, но маршрутизация и правила все равно решают, идет ли он через прокси. Само включение TUN не является гарантией.
- Global обрабатывает только трафик, уже попавший в ядро, и не перехватывает приложения, обходящие Clash; GLOBAL также должен выбирать реальный узел, а не DIRECT.
- Веб-трафик может идти через узел, тогда как DNS по-прежнему отправляется провайдеру, маршрутизатору, другому интерфейсу или DoH внутри браузера.
Приложение
│
│ 1. System Proxy: приложение отправляет трафик в локальный прокси
│ 2. TUN: виртуальный интерфейс перехватывает трафик сетевого уровня
▼
Ядро Clash
│
│ 3. Rule / Global / Direct: выбор исходящего пути
│ 4. DNS: определяет, где и как разрешаются имена
▼
DIRECT / прокси-узел / REJECT
│
▼
Назначение3. Границы приватности: что CFW может и не может скрыть
Поэтому под «защитой от утечек» здесь понимается снижение непреднамеренного раскрытия сети и адреса, а не абсолютная анонимность. Если важно скрыть точное местоположение, проверьте также настройки геолокации ОС, разрешения браузера и данные аккаунта, а не только смените узел.
- Для сайта назначения: при полном прохождении через прокси обычно виден IP выхода узла, а не исходный публичный IP дома или офиса.
- Для провайдера прокси: он обычно видит исходный публичный IP, потому что принимает соединение; CFW не может скрыть его от провайдера.
- Для локальной сети или интернет-провайдера: могут быть видны адрес прокси, время и метаданные трафика; видимость содержимого зависит от протокола и шифрования.
- Для DNS-провайдера: DoH/DoT шифрует передачу, но прямо вызываемый резолвер может видеть исходный IP и запрошенные имена. Шифрование — не анонимность.
- Аккаунты, cookies, язык, часовой пояс, отпечатки браузера, разрешения на геолокацию и определение местоположения по Wi-Fi тоже могут раскрывать личность или местоположение.
4. Быстрый старт для новичка
Удаленный профиль может определять узлы, правила DIRECT, DNS, итоговый MATCH, TUN и Fake IP. Недоверенный профиль может намеренно направлять часть трафика напрямую, поэтому его источник важен не меньше провайдера узлов. Перед обновлением удаленного профиля сохраните личные изменения.
- Импортируйте доверенную HTTPS-подписку или локальный YAML в Profiles. URL подписки часто содержит токен аккаунта и не должен попадать в скриншоты или публичные журналы.
- Выберите профиль, затем в Proxies выберите Rule и реальный прокси-узел.
- Включите General → System Proxy и проверьте соединение и выходной IP в браузере.
- Установите Service Mode и включайте TUN только когда нужен более широкий охват десктопных программ, терминала или UDP.
- Держите Allow LAN выключенным; локальным приложениям, использующим 127.0.0.1, доступ из LAN не нужен.
- Start with Windows только запускает CFW при входе; он не проверяет профиль, узел, DNS или состояние защиты от утечек.
5. Что выбрать: System Proxy или TUN
Для обычного просмотра с хорошей совместимостью обычно достаточно System Proxy и Rule. Используйте TUN, когда терминалы, игры, чаты или программы, игнорирующие системный прокси, должны попасть в Clash. Одновременное включение обоих не создает «двойного шифрования» и может усложнить диагностику.
- Установите сервис через General → Service Mode → Manage и подтвердите запрос Windows.
- Проверьте Service Mode перед включением TUN Mode; в устаревшей документации для совместимости обычно использовался gVisor.
- Не экспериментируйте одновременно со старым TAP и TUN; верните заведомо рабочую конфигурацию вместо отключения всего брандмауэра Windows.
- В режиме Rule проверьте совпадения DIRECT, итоговый MATCH и публичные адреса в списке обхода системного прокси.
- Для контролируемой проверки единого выхода временно выберите Global с реальным узлом, затем решите, возвращаться ли в Rule.
6. Пример DNS/TUN в старом CFW и его ограничения
Этот пример показывает синтаксис Mixin в старом CFW. Сохраните резервную копию и объедините пример с копией рабочей конфигурации, не заменяйте действующий профиль и не вставляйте его в текущий mihomo. Приоритет переопределения в CFW: Mixin > настройки TUN Mode > Profile, поэтому не редактируйте одни и те же поля в трех местах.
- Fake IP возвращает приложениям зарезервированные адреса, а ядро хранит соответствие доменов; это не шифрование и не анонимность.
- Объединяйте fake-ip-filter с существующим списком для LAN и системных служб, которым нужны реальные адреса.
- dns.ipv6: false лишь подавляет ответы AAAA; IPv6 в Windows он не отключает.
- Показанное значение dns-hijack относится к старому CFW и не универсально для всех клиентов.
- DoH/DoT шифрует только восходящий транспорт и не доказывает, что старый CFW отправляет DNS через узел. Если резолвер не должен видеть исходный IP, старый CFW сам по себе не является надежным решением.
mixin:
dns:
enable: true
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/16
fake-ip-filter:
- "*.lan"
- "localhost"
- "dns.msftncsi.com"
- "www.msftncsi.com"
- "www.msftconnecttest.com"
nameserver:
- "https://1.1.1.1/dns-query"
- "tls://1.0.0.1:853"
ipv6: false
tun:
enable: true
stack: gvisor
dns-hijack:
- "198.18.0.2:53"
auto-route: true
auto-detect-interface: true7. DoH в браузере, IPv6, WebRTC, QUIC и kill switch
- Безопасный DNS браузера: отключайте его только после проверки TUN и DNS hijacking, чтобы Clash единообразно разрешал имена. Не отключайте DoH до работы перехвата DNS.
- IPv6: переключатель CFW не является общим выключателем ОС. Если в физической сети есть публичный IPv6, а туннель работает только с IPv4, назначения IPv6 могут видеть исходный адрес. Полностью захватите его или осознанно ограничьте и проверьте снова.
- WebRTC: STUN может обходить обычный прокси приложения и раскрывать дополнительные адреса. Для строгих сценариев подойдет disable_non_proxied_udp в Chromium, но голосовые и видеозвонки могут ухудшиться или сломаться.
- QUIC и HTTP/3 используют UDP. Не предполагайте, что сбой обязательно приведет к безопасному возврату на TCP; проверьте путь или временно отключите QUIC поддерживаемой политикой браузера.
- Kill switch: переключатель TUN в CFW не является проверенным механизмом fail-closed. Сбои, сон, смена сети, обновления профиля и другие VPN могут создать непредусмотренные пути.
- Кандидат .local через mDNS в современном браузере не доказывает утечку публичного IP; ищите исходные публичные адреса IPv4/IPv6.
8. Настройки General и Proxies
- Port: локальная смешанная прокси-точка; используйте фактически показанное значение и не считайте 7890 неизменным.
- Allow LAN: разрешает другим устройствам LAN использовать локальный прокси; в базовой приватной конфигурации держите выключенным.
- Log Level: для обычной работы достаточно Info, Debug нужен для диагностики; перед публикацией журналов скрывайте домены, IP, пути процессов и данные подписки.
- IPv6: управляет поведением ядра, а не всем стеком IPv6 ОС.
- Home Directory: содержит конфигурацию, журналы и кэш; проверяйте перед передачей.
- GeoIP Database: поддерживает правила GEOIP; его обновление не обновляет узлы или ядро.
- UWP Loopback: снимает ограничения loopback для отдельных упакованных приложений; применяйте только тем, кому это нужно.
- Service Mode: обеспечивает привилегированную поддержку TUN; это не прокси-сервис.
- Mixin: внедряет общие поля в профили и полезен для сохранения личных настроек DNS.
- Типы групп: select для ручного выбора, url-test для измеряемого выбора, fallback для переключения при сбое и load-balance для распределения соединений; низкая задержка не равна высокой пропускной способности.
9. Профили, Mixin и синтаксис правил
Профили содержат узлы, группы и правила. Удаленные обновления могут перезаписать ручные правки, поэтому для долгосрочной настройки используйте Mixin, Diff или локальную копию. JavaScript в Mixin и парсеры — активный код, запускайте их только из доверенных источников.
- Правила оцениваются по порядку, а MATCH должен быть в конце.
- Замените Proxy точным именем существующей прокси-группы.
- PROCESS-NAME обычно требует полного имени процесса Windows, включая .exe.
- no-resolve лишь предотвращает дополнительное разрешение DNS для сопоставления правила; это не переключатель приватности.
- REJECT блокирует соединение, а не скрывает адрес через прокси.
rules:
- DOMAIN-SUFFIX,example.com,Proxy
- PROCESS-NAME,git.exe,Proxy
- IP-CIDR,203.0.113.0/24,Proxy,no-resolve
- MATCH,DIRECT10. Logs, Connections и Settings для проверки
- Logs показывает ошибки загрузки профиля, DNS, рукопожатия узла и запуска TUN.
- Connections показывает Process Path, совпавшее Rule и исходящие Chains; цепочка, заканчивающаяся DIRECT, обходит узел.
- Типы входа различают HTTP, SOCKS5 и TUN, а Network отличает TCP и UDP.
- Закрывайте старые соединения после смены узла, режима или профиля, чтобы старые TCP не продолжали использовать прежний выход.
- Параметры Break When Proxy Change / Profile Change / Mode Change в Settings уменьшают путаницу со старыми соединениями.
- Core Secret и случайный порт контроллера защищают локальный API управления; не открывайте API без аутентификации на 0.0.0.0.
11. Как заставить CFW работать с разными приложениями
Chrome и Edge обычно следуют системному прокси, но проверяйте прокси-расширения, DoH браузера, WebRTC и QUIC. Firefox может использовать системные настройки или вручную настроенный SOCKS v5 с удаленным DNS. IDE, его плагины, языковые серверы и встроенный терминал могут хранить отдельные настройки прокси.
Для упакованных приложений Windows сначала проверяйте TUN, а исключение UWP Loopback применяйте только к конкретным приложениям. Игры, голос и эмуляторы часто требуют TUN с поддержкой UDP; работающий лаунчер не доказывает, что сама игра идет через прокси. У WSL, Docker и виртуальных машин отдельные сетевые стеки, а 127.0.0.1 внутри контейнера обычно не является точкой CFW в Windows.
# Временные настройки для текущей сессии PowerShell
$env:HTTP_PROXY = "http://127.0.0.1:7890"
$env:HTTPS_PROXY = "http://127.0.0.1:7890"
# curl через явный HTTP-прокси
curl.exe --proxy http://127.0.0.1:7890 https://example.com/
# SOCKS с удаленным разрешением имени хоста
curl.exe --proxy socks5h://127.0.0.1:7890 https://example.com/
# Настроить и удалить HTTP(S)-прокси Git
git config --global http.proxy http://127.0.0.1:7890
git config --global --unset http.proxy
# Удалить переменные прокси из текущей сессии
Remove-Item Env:HTTP_PROXY -ErrorAction SilentlyContinue
Remove-Item Env:HTTPS_PROXY -ErrorAction SilentlyContinue12. Проверка и диагностика
- Проверяйте IPv4 и IPv6 отдельно двумя независимыми сервисами показа IP; неточный город геолокации сам по себе не доказывает утечку.
- В Connections проверьте процесс, правило, цепочку и записи UDP; отсутствие записи обычно означает, что приложение обошло Clash.
- Запустите стандартные и расширенные тесты DNS и ищите провайдера, маршрутизатор или неожиданные локальные резолверы; IP публичного резолвера не обязан совпадать с IP узла.
- В WebRTC ищите исходные публичные адреса и не считайте имена .local через mDNS автоматической публичной утечкой.
- Повторяйте тесты после смены узла, обновления профиля, сна, смены Wi-Fi, перезапуска CFW и неожиданного отключения TUN.
- Если приложения снова получают прямой доступ к интернету после остановки CFW, конфигурация не является fail-closed.
- Если TUN ломает соединение, проверьте Service Mode, правила брандмауэра, DNS, конкурирующие VPN/TUN и стек; восстановите резервную копию вместо полного отключения брандмауэра.