vpnbot-network-policy/README.md
loop-uh e5235e50ca Добавить elevenlabs.io в proxy_domain_suffixes (ИИ-сервис через VPN)
elevenlabs.io блокирует российские IP, поэтому домен закрепляется за
группой VPnBot принудительно, чтобы он не попал в DIRECT-класс из
внешних ru-blocked/geosite провайдеров. Проекции перегенерированы
tools/build_artifacts.py.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-19 23:09:15 +03:00

83 lines
6.7 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.

# VPnBot network policy
Публичная клиентская маршрутизация VPnBot. Редактируемый источник находится в
`policy.json`, а этот скрипт атомарно строит из него Mihomo, v2rayN и остальные
проверяемые клиентские проекции.
## Важно: это только клиентская маршрутизация
Этот репозиторий загружают **клиентские приложения на устройствах
пользователей**: Mihomo/Clash Meta и v2rayN. Он определяет, какой трафик
устройство отправляет `DIRECT`, `REJECT` или в выбранный VPN-профиль.
Он **не** является node-side firewall, не устанавливается на VPN-ноду как
источник server egress и не решает, должен ли уже принятый нодой трафик выйти
напрямую, через WARP либо быть заблокированным. Node-side действия принадлежат
приватному компоненту `vpnbot_node_services/services/network-policy`. Эти две
политики имеют независимых владельцев и не генерируют друг друга.
`policy.json` — единственный редактируемый источник клиентской маршрутизации.
Сгенерированные каталоги и manifest вручную не редактируются: их пересобирает
`tools/build_artifacts.py` в этом же репозитории.
Версия политики: `2026.08.28.1`.
Исходная политика SHA-256: `503d5cb4e862cee9482fe05f2741717ab2c237abb26c511cd4cfeb70fdbeef0c`.
## v2rayN для Windows
1. Откройте в главном меню v2rayN «Настройка региональных пресетов» → «Россия».
Этот шаг задаёт российские источники `geoip.dat` и `geosite.dat` из
[runetfreedom/russia-v2ray-rules-dat](https://github.com/runetfreedom/russia-v2ray-rules-dat).
2. Обновите Geo-файлы через меню проверки обновлений. Они нужны и для
`ru-blocked → proxy`, и для `category-ru/geoip:ru → direct`.
3. В окне обычных настроек замените поле «Источник правил маршрутизации
(необязательно)» на:
`https://git2.zapret.moe/zapretkvn/vpnbot-network-policy/raw/branch/main/v2rayN/template.json`
4. Откройте «Настройка правил», выберите
`VPnBot: Россия напрямую, остальное через VPN`, выполните «Импорт правил из URL» и
установите этот набор активным. Названия пунктов могут немного отличаться
между версиями v2rayN, но исходный URL остаётся тем же.
После первого импорта повторяйте обновление правил из URL, когда v2rayN не
обновляет внешний шаблон автоматически. Сам публичный набор VPnBot и его
Mihomo-проекции обновляются без изменения адресов.
Правила проверяются сверху вниз. Сначала применяются явные клиентские исключения
из серверной блокировки: `api.oneme.ru` и государственные сайты (`mos.ru`,
`gosuslugi.ru` и другие) идут напрямую через домашнего провайдера, хотя каждый
VPN-сервер продолжает отклонять эти назначения. Затем локально
блокируются подтверждённые каналы VPN-детектирования и P2P.
Затем ресурсы из `ru-blocked` идут через VPN. После них российские приложения,
банки, маркетплейсы и проверенные клиентские исключения (`api.oneme.ru`,
`loopy.ru` и `championat.com`) идут напрямую вместе с остальными
`category-ru`/`geoip:ru`.
Так обычные VK, Mail.ru, MAX, банки и магазины не ломаются в клиентской
подписке, а заблокированные в России сайты продолжают открываться через VPN.
Остальные узкие подтверждённые служебные адреса проверки VPN остаются выше
общих российских правил и по-прежнему отклоняются.
## Mihomo / Clash Meta
Профиль, выданный ботом, содержит одно раннее клиентское исключение DIRECT и
11 критических VPN-detection суффиксов REJECT прямо в YAML, а также проверенный
снимок собственных provider-файлов. Большие динамические
списки `ru-blocked` подключаются отдельными штатными rule-provider: домены в
текстовом формате, сети в двоичном формате Mihomo MRS. Поэтому клиенту не нужно
успеть заменить встроенную `geosite.dat` до первой проверки YAML; оба внешних
списка обновляются самим Mihomo каждые шесть часов. Версия политики и её
SHA-256 видны в комментариях в начале профиля. Ручная настройка не нужна.
## Внешние данные
- Mihomo получает `ru-blocked` как отдельные domain/IP rule-provider из
[runetfreedom/russia-blocked-geosite](https://github.com/runetfreedom/russia-blocked-geosite)
и [runetfreedom/russia-blocked-geoip](https://github.com/runetfreedom/russia-blocked-geoip).
v2rayN продолжает получать `geoip:ru-blocked`, `geosite:ru-blocked`,
`geoip:ru` и `geosite:category-ru` из
[runetfreedom/russia-v2ray-rules-dat](https://github.com/runetfreedom/russia-v2ray-rules-dat).
- Коммерческие ASN Яндекса, VK и Ozon намеренно не блокируются: ASN слишком
широк для безопасной государственной границы и может содержать обычных
пользователей или общую инфраструктуру.