todo/premium/zapret-vpn-bot.md
loop-uh baf0091fa3
Some checks failed
Published content check / validate (push) Failing after 17s
git.zapret.moe → git2.zapret.moe во всём хранилище, защита от возврата старых имён
git.zapret.moe в России заблокирован по имени, как и wiki.zapret.moe. Ссылки
на Forgejo во всех заметках, футерах, wizard.html и главной заменены на
git2.zapret.moe (включая закодированные адреса значков shields.io).

Какое имя рабочее, теперь решают реестры хоста /etc/zapret-*-domains.conf через
zapret-site-names: pre-commit хук vault отклоняет добавленные строки с
заблокированным именем, сборка Quartz сама переводит ссылки и baseUrl на
рабочие имена. Правило в AGENTS.md переписано под этот механизм.

scripts/wiki-stats.py: переходы с любых имён вики и git (wikiN, gitN) больше
не считаются внешними сайтами. content-check: проверка зеркал сторонних
проектов узнаёт любое имя git.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 15:51:32 -04:00

172 lines
31 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
date: 2026-07-25
updated: 2026-10-16
tags:
- zapret
- vpn
- vless
- mihomo
- подписки
- telegram
aliases:
- Zapret VPN
- zapretvpns_bot
- VPN-бот Zapret
- Zapret VPN бот
- Mihomo-подписка Zapret
link: https://telegram.me/zapretvpns_bot
description: "Как устроен Zapret VPN в боте @zapretvpns_bot: подписки Xray, Hysteria 2 и Mihomo, прямые конфиги, что внутри профиля, без HWID и привязки к клиенту."
---
> [!mirror] Резервное зеркало
> Актуальная версия этой страницы — на основной вики: [wiki2.zapret.moe/premium/zapret-vpn-bot](https://wiki2.zapret.moe/premium/zapret-vpn-bot)
# 🤖 Zapret VPN-бот: устройство, подписка и свобода выбора клиента
> [!info] О чём заметка
> Разбор **Zapret VPN** — сервиса от команды ZapretKVN, доступ к которому выдаёт Telegram-бот [@zapretvpns_bot](https://telegram.me/zapretvpns_bot): какие протоколы доступны, как устроена Mihomo-подписка и прямые конфиги, что внутри выдаваемого YAML-профиля и почему доступ не привязан ни к устройству, ни к конкретному приложению. С чего начать, тарифы, цены и выбор протокола — в [[Zapret/premium|гайде для новичка]]; здесь — устройство сервиса для тех, кому интересно, что внутри.
> [!tip] Простыми словами
> Эта статья — о том, как сервис устроен внутри: подписки, протоколы, почему нет привязки к устройству. Чтобы просто подключиться, читать её не нужно: хватит [[Zapret/premium|гайда для новичка]].
## TL;DR
- **Три вида подписок и прямые конфиги.** Подписка — одна постоянная ссылка, по которой приложение само забирает свежий список серверов: **Xray-подписка** (серверы VLESS), **Hysteria 2-подписка** и **Mihomo-подписка** (все ваши протоколы в одном YAML-профиле). Рядом — **прямые конфиги** отдельных серверов: ссылки `vless://…`, файлы WireGuard и AWG.
- Новичку протокол выбирать не нужно: кнопка **«🚀 Подключить устройство»** спрашивает устройство и сама называет приложение и подписку.
- Подписка не единственный вход, и **это принципиально**: приложения не фильтруются ни по названию, ни по заголовку `User-Agent`. Happ, INCY или любой другой «обязательный» клиент не требуется.
- **HWID не запрашивается.** Ни аппаратный идентификатор телефона, ни идентификатор установки не участвуют в выдаче и обслуживании доступа.
- «Слот устройства» в боте — просто **номер конфига** (их до 10, можно подписать: телефон, роутер, консоль…), а `Fingerprint` у VLESS — это **сетевой TLS-профиль браузера**, которым маскируется рукопожатие. Ни то, ни другое не является HWID.
- Протоколы: [[xray/vless|VLESS]] с [[xray/reality|REALITY]] на [[xray/project-x|xray-core]], [[Hysteria/00-overview|Hysteria 2]], WireGuard, [[amnezia-2-0/amnezia-2-0|AmneziaWG 2.0]] и [[amnezia-3-0/amnezia-3-0|AmneziaWG 3.0]], WARP; отдельно — прокси для Telegram (MTProxy, TeleMT, MTG, общие «Белые списки»). SOCKS5 выведен из сервиса 28 сентября 2026 года.
- Единственное реальное ограничение — техническое: клиент должен понимать нужный протокол и формат конфига. Это вопрос совместимости, а не политики сервиса.
## Что это такое и чем отличается от программы Zapret
Команда известна прежде всего **бесплатной программой Zapret** — она работает без всякого сервера и меняет то, как ваш трафик выглядит для DPI провайдера. Программа была и остаётся бесплатной, а платные уровни не влияют на её работу; этот принцип зафиксирован в [[Zapret/premium|общей инструкции]].
**Zapret VPN — отдельная услуга.** Это уже настоящий туннель через серверы команды, нужный там, где обхода на стороне клиента не хватает или где требуется зарубежный адрес.
Проще говоря: программа Zapret меняет, **как выглядит** ваш трафик, а Zapret VPN — **куда он идёт**. Пользоваться можно любым из двух или обоими сразу.
## Что выдаётся: подписка и прямые конфиги
Здесь и лежит главное отличие от распространённой практики, поэтому разберём подробно.
**Xray-подписка.** Одна личная ссылка со всеми серверами VLESS, доступными по вашему тарифу. Её понимают наши клиенты [ZapretKVN для Android](https://git2.zapret.moe/zapretkvn/ZapretKVN-android) и [Zapret KVN для Windows](https://git2.zapret.moe/zapretkvn/zapret-kvn), а также v2rayN, Happ, V2RayTun и другие клиенты на Xray. Когда появляется новый сервер или старый меняет адрес, приложение подтягивает это само при обновлении подписки.
**Hysteria 2-подписка.** То же самое для серверов Hysteria 2 — в формате, который читают Zapret KVN, v2rayN (с версии 7.24.9), Throne и Husi. Clash-клиенты эту ссылку не читают: им нужна Mihomo-подписка.
**Mihomo-подписка.** Бот собирает для каждого слота устройства персональный YAML-профиль формата [[Clash/02-mihomo|mihomo]] и отдаёт его по личной ссылке. В нём сразу все ваши узлы всех протоколов с готовыми группами выбора и правилами маршрутизации. Это основной вход для iPhone (Clash Mi), macOS и Linux (Clash Verge Rev), Android-клиентов FlClash и Clash Meta.
**Прямые конфигурации.** Для каждого сервера можно получить и отдельный ключ: ссылку `vless://…`, файл WireGuard или AWG. Его вставляют в приложение, которое не умеет подписки, или в роутер — и никакая подписка для этого не нужна.
Почему это важно: **подписка не превращается в единственную дверь**. Если ваше приложение не умеет читать профили mihomo (или вы просто предпочитаете sing-box, v2rayN, Happ, клиент на роутере) — берёте Xray-подписку или прямой конфиг и работаете с ними.
> [!important] Клиент не фильтруется по названию и `User-Agent`
> Формулировка из самого бота: «Zapret VPN не блокирует приложения по названию или `User-Agent`». Это ровно та практика, которая на рынке распространена наоборот — когда панель отдаёт конфигурацию только «одобренным» клиентам, а остальным возвращает ошибку. Механика таких ограничений разобрана в [[subscriptions/hwid-client-lock|заметке про HWID-привязку и запрет «чужих» клиентов]].
## Что внутри выдаваемого профиля
Полезно знать, что именно вы импортируете. Ниже — устройство Mihomo-профиля на октябрь 2026 года.
| Настройка | Значение |
|---|---|
| Локальный порт | `mixed-port: 7890` — общий порт для HTTP и SOCKS5 на вашем устройстве |
| Доступ из локальной сети | `allow-lan: true` — другие устройства дома могут ходить через этот клиент как через прокси |
| Режим | `mode: rule` — работа по правилам |
| Уровень логов | `warning` — в журнал не пишется лишнее |
| Главная группа | **«🌐 VPnBot»** — в ней выбирается способ: «🛡 Стабильный», «⚡ По задержке», «👆 Ручной выбор», группы по протоколам или `DIRECT`. Если бот у вас на английском, эти три группы называются «🛡 Stable», «⚡ By latency», «👆 Manual choice» |
**Три способа выбрать сервер.** «🛡 Стабильный» — группа типа `fallback`: клиент держится за первый рабочий сервер и переключается, только если тот перестал отвечать. «⚡ По задержке» — группа `url-test`: клиент раз в 30 минут меряет задержку до каждого сервера и берёт самый быстрый (с допуском 50 мс, чтобы не прыгать между почти равными). «👆 Ручной выбор» — вы сами указываете сервер. Серверы, вход на которые часть российских сетей сейчас не пропускает, бот ставит в конец автоматических групп — они остаются в профиле, но клиент сначала пробует остальные. Как устроены типы групп — в [[Clash/01-clash-core|Ядре Clash]].
**Правила: российское — напрямую, заблокированное — через VPN.** Профиль не гонит весь трафик в туннель. Правила проверяются сверху вниз, и первое совпадение решает:
- сайты, заблокированные в России, идут через VPN — даже если формально это российский сервис;
- российские сервисы, государственные сайты и вообще всё российское (`GEOSITE category-ru`, `GEOIP RU`) идут напрямую, через вашего провайдера: банкам и Госуслугам не нужен зарубежный адрес, а часть из них такие адреса блокирует;
- торрент-трекеры и пиринговые сети, а также расширения и сайты, которые выявляют VPN, отклоняются (`REJECT`);
- всё остальное — через группу «🌐 VPnBot».
Проще говоря: с этим профилем можно не выключать VPN, чтобы открыть банк или Госуслуги, — они и так идут мимо туннеля. Если нужен иной порядок — свои правила добавляются поверх профиля, рецепты собраны в [[Clash/04-rules|заметке про правила маршрутизации]].
> [!tip] Правки не пропадут при обновлении подписки
> Профиль обновляется по ссылке, поэтому свои правила добавляйте не в скачанный файл, а через механизм переопределений в клиенте (в разных оболочках он называется «Merge», «Override», «слияние профиля»). Иначе при очередном обновлении ваши строки будут перезаписаны — типичная ошибка, описанная в [[Clash/05-troubleshooting|разборе проблем]].
## Протоколы
В профиль mihomo собираются узлы шести видов: **VLESS**, **Hysteria 2**, **WireGuard**, **AWG 2.0**, **AWG 3.0** и **WARP**. Отдельно бот выдаёт прокси для Telegram (MTProxy, TeleMT, MTG, «Белые списки») — они включаются в самом Telegram и в профиль не входят. Стабильнее всего они работают в клиенте проекта [ZaStoGram](https://t.me/zastogram) (Android и Windows), который и без прокси обходит блокировку Telegram через официальные WSS-шлюзы — см. [[mtproxy/telegram-wss-transport|WSS для Telegram]].
Основная рабочая связка — **[[xray/vless|VLESS]] + [[xray/reality|REALITY]]** на [[xray/project-x|xray-core]]. Ничего своего в криптографии команда не изобретала, и это правильно: VLESS не накладывает второй слой шифрования поверх TLS (меньше нагрузка и меньше характерных признаков), а REALITY позволяет соединению выглядеть обращением к настоящему постороннему сайту — без своего домена и без следов в публичных логах сертификатов.
**[[Hysteria/00-overview|Hysteria 2]]** полезна там, где канал плохой: она работает поверх QUIC/UDP и держится на потерях пакетов лучше TCP-протоколов. Обратная сторона — в сетях, где UDP режут, она отваливается первой; поэтому держать VLESS запасным вариантом имеет смысл всегда.
**WireGuard и AmneziaWG** — для сценариев, где нужен именно VPN-интерфейс (игры, роутеры, устройства со встроенной поддержкой WG). Обычный WireGuard из России часто блокируют по характерным пакетам; AWG — это [[amnezia-2-0/reference|обфусцированный WireGuard]], который сложнее опознать. AWG 3.0 — [[amnezia-3-0/amnezia-3-0|следующее поколение маскировки]], ему нужен AmneziaVPN 5.0.0.5 или новее, Throne 1.2.2+ или mihomo 1.19.30+.
**WARP** — запасной маршрут через сеть Cloudflare: полезен как дополнительный выход, но это не собственные серверы проекта.
## Слоты устройств: почему это не HWID
Термин путает, поэтому разберём отдельно.
**Слот** — это порядковый номер конфига в вашем аккаунте (их до десяти), которому можно дать имя и иконку: телефон, ноутбук, телевизор, роутер, консоль. Нужен он для вашего же удобства — чтобы понимать, какой ключ где используется, и отозвать конкретный, не трогая остальные.
**Чем это отличается от HWID-привязки.** Слот не считывает никаких характеристик вашего железа и не проверяется при подключении: сервер по-прежнему аутентифицирует вас по UUID или ключу протокола. Вы можете взять конфиг из слота «Телефон» и использовать его на ноутбуке — ничего не сломается. При настоящей HWID-привязке подписка бы просто перестала загружаться в приложении, которое не отправило идентификатор устройства.
**И `Fingerprint` — тоже не HWID.** В настройках VLESS это выбор TLS-отпечатка (`chrome`, `firefox`, `safari` и др.), то есть какого браузера рукопожатие будет имитировать ваш клиент. Это параметр маскировки, влияющий на то, как вас видит DPI, а не идентификатор вашего устройства — механика разобрана в [[DPI/browser-ja4-fingerprint-block|заметке про JA4-отпечатки]].
## Как получить доступ
- [ ] Пополнить баланс в боте [@zapretvpns_bot](https://telegram.me/zapretvpns_bot) («💳 Подписка и баланс» → «💰 Пополнить») и купить тариф от ⚡ MasterVless. Оплата засчитывается сама; кнопка «🔄 Проверить оплату» — запасной путь, если через минуту баланс не изменился.
- [ ] Нажать **«🚀 Подключить устройство»**, выбрать «Весь интернет» и своё устройство — бот назовёт приложение и выдаст подходящую подписку.
- [ ] Либо взять подписку или прямой ключ самому в меню «🌐 VPN, WireGuard и Telegram»: там у каждого протокола свой раздел, а у VLESS — и общая Xray-подписка, и ключи отдельных серверов (команда `/inbounds`).
- [ ] Импортировать полученное в клиент — на Android по [[premium/android|инструкции для ZapretKVN]], для остальных приложений — по заметке [[premium/apps|Приложения для VPN]], по [[Clash/03-first-run|инструкции первого запуска]] для оболочек на mihomo или по [[xray/clients-and-routing|инструкции для клиентов Xray]].
- [ ] Проверить результат: [[Clash/03-first-run|чек-лист из пяти пунктов]] — два сайта проверки IP, тест на утечку DNS и нужное вам приложение.
Все шаги со скриншотами, тарифы и выбор протокола — в [[Zapret/premium|гайде для новичка]].
## Что с приватностью: честно
Отсутствие HWID — не то же самое, что «сервис ничего не знает». Ниже то, что заявлено в политике самого бота, без приукрашивания.
**Хранится:** ваш Telegram `user_id` и стандартные данные аккаунта, которые Telegram передаёт боту; сведения о подписке, тарифе, балансе и платежах; технические данные выданных конфигов — сервер, слот устройства, внутренний адрес, UUID или публичный ключ; обращения в поддержку.
**Может логироваться:** технические сетевые метаданные — время создания и удаления конфигов, сервер и слот, внутренний адрес клиента, протокол, порт и служебные события соединений. Заявленная цель — диагностика и разбор жалоб на злоупотребления; журналы анализируются вручную, когда приходит конкретная жалоба.
**Не хранится:** данные банковской карты. Содержимое трафика не читается, история платежей и конфиги не продаются третьим лицам.
**Личный кабинет на сайте** [lk.zapret.moe](https://lk.zapret.moe) показывает то же, что бот: подписку, баланс, платежи, ссылки подписок, тарифы, реферальную программу, белые списки Telegram и мастер подключения устройства, — и позволяет пополнить баланс, купить тариф с баланса, включить Xray-подписку, выбрать её состав, сменить, выключить и удалить её ссылку, включить Hysteria 2-подписку, выбрать её состав, получить, сменить и выключить её ссылку или удалить её, получить, показать, перенести на другой вариант, переименовать и удалить отдельный ключ VLESS на сервере, оценить сервер от 1 до 5, получить, скачать (файл и QR), восстановить и удалить ключ AWG 2.0 и AWG 3.0 по слотам устройств, получить, скачать и удалить ключ WireGuard, получить (ссылка и QR) и удалить личный MTProxy и MTProxy Zig и отдельный ключ Hysteria 2 на сервере, получить конфиг WARP по слоту устройства (настройки по умолчанию или быстрый сценарий бота; файл, QR и текст — без сообщения в Telegram), создать обращение в поддержку, переписываться в нём и отметить его решённым (ответ поддержки виден на странице и приходит в Telegram; файлы — пока в боте), привязать устройство Zapret Premium кодом из приложения, посмотреть и отвязать привязанные устройства, передать подписку другому аккаунту. Нажатие на сайте ждёт ответа в том же журнале ожиданий, что карточка бота, но с адресатом «страница»: итог остаётся в базе и его читает сайт, в Telegram ничего не уходит. Ссылку подписки для страницы кабинета выпускает тот же владелец доставки, что для карточки в боте: адресат ссылки — интерфейс, где её попросили, и показать её может и бот, и кабинет. Пароля у него нет — вход только одноразовой ссылкой из бота, которая живёт 5 минут. Вход держится 30 дней; в базе кабинета лежит не сама сессия браузера, а её отпечаток (хэш SHA-256), поэтому копия базы не открывает ни одного кабинета. Сам сайт не имеет доступа к базам бота: данные ровно одного человека ему отдаёт отдельная служба по открытой сессии. Ни счёт на пополнение, ни покупку тарифа сайт не делает сам: служба сессий передаёт просьбу от имени того, чья сессия открыта, счёт выставляет владелец счетов, а покупку проводит служба покупок тем же расчётом, что бот. Других просителей эти службы не принимают. Закрыть кабинет на всех устройствах можно кнопкой «🚪 Закрыть все входы» в боте — подробнее в [[Zapret/premium#Личный кабинет на сайте|гайде для новичка]].
**Ограничения по использованию:** запрещены торренты и распространение пиратского контента, атаки, сканирование и брутфорс, спам и фишинг.
> [!warning] Любой VPN — это доверие оператору
> Трафик расшифровывается на сервере, поэтому оператор технически видит адреса, к которым вы подключаетесь. Отсутствие HWID-привязки сокращает объём данных о ваших устройствах и оставляет вам свободу выбора клиента — но не отменяет самого факта посредника. Это верно для любого VPN-сервиса, включая этот, и оценивать риск нужно исходя из своей модели угроз (общие принципы — в [[Privacy|заметке про приватность]]).
Отдельно про саму ссылку подписки: она содержит персональный токен, поэтому **делиться ею нельзя** — это фактически ваш доступ. У выдачи есть ограничение частоты запросов и возможность отзыва, но эти меры защищают инфраструктуру, а не спасают от опубликованной в открытом чате ссылки.
## Оговорки и что делать, если не работает
**VPN не отменяет DPI.** Связка VLESS+REALITY тоже находится под давлением: обзор актуальных методов детекта — в [[VLESS/dpi-tls-june-2026|разборе DPI-почерка TLS]]. Если узел перестал подключаться, начните с обновления подписки и проверки версии ядра в клиенте, дальше — по [[Clash/05-troubleshooting|методике диагностики]].
**Старое ядро не понимает новые протоколы.** Свежее приложение с прошлогодним ядром внутри — обычная ситуация, и лечится она обновлением именно ядра (см. [[Clash/07-clients|обзор клиентов]]).
**Российский сайт открывается без VPN, хотя VPN включён.** Так и задумано: российские сервисы идут напрямую по правилам профиля. Если нужен иной порядок — [[Clash/04-rules|рецепты правил]].
**Торрент не качается.** Пиринговые сети отклоняются правилами профиля и запрещены условиями сервиса.
## 📚 См. также
- [[premium/glossary|📘 Что есть что]] — коротко обо всём и словарь терминов.
- [[premium/guides|📚 Все инструкции Zapret VPN]] — оглавление всех статей.
- [[Zapret/premium|Zapret VPN и Zapret Premium: гайд для новичка]] — подписка, тарифы, выбор протокола, шаги со скриншотами.
- [[premium/android|VPN на Android: ZapretKVN по шагам]] — установка, подписка, список приложений, Telegram.
- [[premium/apps|Приложения для VPN]] — что поставить на каждое устройство, AWG 3.0 против AWG 2.0.
- [[premium/premium|Что даёт Zapret Premium]] — премиум-статус в программе Zapret GUI.
- [[subscriptions/hwid-client-lock|HWID-привязка и запрет «чужих» клиентов]] — как устроены ограничения, которых здесь нет.
- [[Clash/00-overview|Clash и mihomo]] — про формат выдаваемой подписки и клиенты, которые её открывают.
- [[Clash/04-rules|Правила маршрутизации: рецепты]] — как добавить раздельную маршрутизацию поверх профиля.
- [[xray/vless|Протокол VLESS]] и [[xray/reality|REALITY]] — что работает под капотом основной связки.
- [[premium/discord|Настройка Discord через VPN]] — частый частный случай.
- 🔗 [@zapretvpns_bot](https://telegram.me/zapretvpns_bot) — сам бот · [канал проекта](https://t.me/bypassblock) · [новости по KVN](https://t.me/vpndiscordyooutube)
---
> [!quote] 🤖 Эти статьи открыты — можно обучать на них ИИ
> При желании вы можете натренировать ИИ на наших статьях. Исходное форматирование и скачивание всего репозитория одним zip-архивом доступны в Forgejo: [исходник этой заметки](https://git2.zapret.moe/zapretdiscordyoutube/todo/src/branch/main/premium/zapret-vpn-bot.md) · [весь репозиторий](https://git2.zapret.moe/zapretdiscordyoutube/todo/src/branch/main).