Оптимизированные конфигурации маршрутизации (роутинга) для мобильных устройств для клиентов Happ, INCY и Shadowrocket на базе кастомных легковесных баз GeoIP и Geosite.
Проект автоматически собирает компактные бинарные базы правил (geoip.dat и geosite.dat), исключает рекламу, телеметрию, трекеры и обеспечивает прямое соединение (Direct) с российскими сервисами без задержек VPN, направляя заблокированные и зарубежные ресурсы в прокси-туннель.
| Профиль | Файл диплинка (.DEEPLINK) | JSON-конфиг (для подписки) | Описание |
|---|---|---|---|
| DEFAULT | DEFAULT.DEEPLINK | DEFAULT.JSON | Основной профиль: RU/BY, банки, гос. сервисы, Twitch напрямую. YouTube, Telegram, GitHub и зарубежный интернет — через прокси. Реклама и телеметрия заблокированы. |
| WHITELIST | WHITELIST.DEEPLINK | WHITELIST.JSON | Белый список: Напрямую идут только проверенные ресурсы из geosite:whitelist и geoip:whitelist (банки, Госуслуги и др.). Весь остальной интернет — через прокси. |
| BASIC | BASIC.DEEPLINK | BASIC.JSON | Базовый профиль: Настроены DoH DNS, ссылки на кастомные базы geodata и прямой доступ для системных пуш-уведомлений (geosite:apple-push, geosite:android-push), без других правил (для ручной настройки). |
| Профиль | Автообновление (Autorouting) | Разовый импорт (.DEEPLINK) | JSON-конфиг | Описание |
|---|---|---|---|---|
| DEFAULT | DEFAULT.AUTOLINK | DEFAULT.DEEPLINK | DEFAULT.JSON | Основной профиль: Полная маршрутизация с разделением RU-трафика и зарубежных ресурсов. |
| WHITELIST | WHITELIST.AUTOLINK | WHITELIST.DEEPLINK | WHITELIST.JSON | Белый список: Прямой доступ только к доверенным государственным и банковским сервисам. |
| BASIC | BASIC.AUTOLINK | BASIC.DEEPLINK | BASIC.JSON | Базовый профиль: Системные пуши напрямую, DNS и базы geodata для тонкой ручной кастомизации. |
Импортируйте нужный .CONF файл по ссылке в Shadowrocket (Config ➔ + ➔ вставить URL):
- 🛡️ DEFAULT.CONF — основной профиль со всеми оптимизациями.
- 📋 WHITELIST.CONF — режим строгого белого списка.
- ⚙️ BASIC.CONF — базовый профиль без предустановленных правил маршрутизации сайтов.
Порядок обработки правил во всех профилях строго упорядочен:
- Блокировка (Block / Reject):
- Рекламные сети, трекеры и баннеры (
geosite:category-ads). - Торрент-трекеры (
geosite:torrent), предотвращающие утечки в туннель и нагрузку на сервер.
- Рекламные сети, трекеры и баннеры (
- Системные исключения (Direct):
- Push-уведомления Apple (
geosite:apple-push) и Google FCM / Huawei HMS / Xiaomi (geosite:android-push). - Загрузка системных обновлений iOS/macOS (
geosite:apple-update). - Скачивание APK и приложений из Google Play (
geosite:google-play). - Сетевые протоколы операторов связи (VoWiFi / IMS) и домены локального определения IP (
geosite:domains-geo-detect).
- Push-уведомления Apple (
- Прямое соединение (Direct):
- Локальные и приватные адреса (
geosite:private,geoip:private). - Российские ресурсы, порталы и банки (
geosite:category-ru,geoip:ru,geoip:by,geoip:direct,geoip:custom-list-add). - Ресурсы белого списка (
geosite:whitelist,geoip:whitelist). - Стриминг и медиа: Twitch (
geosite:twitch), Pinterest (geosite:pinterest).
- Локальные и приватные адреса (
- Проксирование (Proxy):
- Заблокированные и международные социальные сети: YouTube (
geosite:youtube), Telegram (geosite:telegram), Instagram / Threads (geosite:instagram), X / Twitter (geosite:twitter). - Инструменты разработки: GitHub (
geosite:github). - Ресурсы, блокирующие пользователей из РФ (GeoBlock): AI-сервисы (ChatGPT, Claude, Gemini, Copilot), Canva, Spotify, Notion и др. (
geosite:category-geoblock-ru). - Финальное правило (Catch-all): весь остальной зарубежный трафик направляется через Proxy.
- Заблокированные и международные социальные сети: YouTube (
Все сгенерированные конфигурации по умолчанию используют защищённые и оптимизированные резолверы:
- Remote DNS (для зарубежных и заблокированных доменов):
Cloudflare DoH—https://1.1.1.1/dns-queryGoogle DoH—https://dns.google/dns-query
- Direct DNS (для российских ресурсов):
Yandex DNS—77.88.8.8,77.88.8.1Cloudflare DNS—1.1.1.1,1.0.0.1
Скомпилированные файлы всегда доступны в ветке release и через глобальный CDN:
| Файл | Описание | Прямая ссылка через jsDelivr CDN |
|---|---|---|
geoip.dat |
Бинарная база диапазонов IP | https://cdn.jsdelivr.net/gh/pincetgore/PinRouting@release/geoip.dat |
geosite.dat |
Бинарная база доменных правил | https://cdn.jsdelivr.net/gh/pincetgore/PinRouting@release/geosite.dat |
geoip.dat.sha256 |
Контрольная сумма SHA-256 | https://cdn.jsdelivr.net/gh/pincetgore/PinRouting@release/geoip.dat.sha256 |
geosite.dat.sha256 |
Контрольная сумма SHA-256 | https://cdn.jsdelivr.net/gh/pincetgore/PinRouting@release/geosite.dat.sha256 |
text.tar.gz |
Текстовые дампы CIDR списков | В релизах GitHub Releases |
В репозитории настроен автоматический пайплайн GitHub Actions:
- Проверяет синтаксис и валидность всех профилей и правил (
ruff,lint_rules.py,pinrouting lint). - Запускает симуляцию роутинга (
pinrouting test), гарантируя отсутствие регрессий. - Загружает свежие списки GeoLite2, DB-IP, IPinfo, Re:filter, Antifilter и CDN.
- Компилирует бинарные файлы
geoip.datиgeosite.datчерезgeoip-toolиdomain-list-community. - Публикует релизы с бинарниками, контрольными суммами и архивом
text.tar.gz. - Генерирует клиентские конфигурации Happ, INCY и Shadowrocket.
Расписание запуска: ежедневно в 01:00 UTC, при каждом коммите в репозиторий или вручную через Actions.
- Проверяет домены на liveness через 3 независимых DNS-резолвера (
1.1.1.1,8.8.8.8,77.88.8.8) с подтверждениемNXDOMAIN. - Проверяет IP и подсети через TCP-пробы (443 TLS, 80 HTTP) и ICMP ping со сэмплированием хостов для сетей
/24и шире. - Формирует детальный отчет в Markdown и JSON (прикрепляется к GitHub Step Summary и артефактам).
- Удаляет неживые записи и автоматически создает Pull Request (
action: pr) либо коммитит в ветку.
Расписание запуска: ежемесячно 1-го числа в 03:00 UTC или вручную через Actions (workflow_dispatch).
├── .github/workflows/
│ ├── build-and-update.yml # Автоматизированный CI/CD пайплайн сборки
│ └── check-dead-entries.yml # Проверка и очистка неживых доменов и IP (PR / Commit)
├── HAPP/ # Конфигурации и диплинки для клиента Happ
│ ├── DEFAULT.JSON / .DEEPLINK
│ ├── WHITELIST.JSON / .DEEPLINK
│ └── BASIC.JSON / .DEEPLINK
├── INCY/ # Конфигурации для клиента INCY (автообновление и разовый импорт)
│ ├── DEFAULT.JSON / .AUTOLINK / .DEEPLINK
│ ├── WHITELIST.JSON / .AUTOLINK / .DEEPLINK
│ └── BASIC.JSON / .AUTOLINK / .DEEPLINK
├── SHADOWROCKET/ # Конфигурации и списки правил для Shadowrocket
│ ├── DEFAULT.CONF # Основной профиль маршрутизации
│ ├── WHITELIST.CONF # Профиль белого списка РФ
│ ├── BASIC.CONF # Базовый профиль для подписки
│ ├── EXTENDED.CONF # Шаблон пользовательских правил (include)
│ ├── rules/ # Сгенерированные списки правил (.list)
│ └── tools/ # Скрипты генерации конфигураций и правил
│ └── build_shadowrocket.py
├── geoip/ # Конфигурация и кастомные списки GeoIP
│ ├── buildtools/ # Скрипты генерации IP-списков по странам
│ ├── config.json # Правила объединения баз и вычитания списков РКН
│ ├── CUSTOM-FIX-ADD.txt # Точечные фиксы ложных блокировок
│ ├── CUSTOM-LIST-ADD.txt # Зарубежная инфраструктура Yandex, VK, Apple APNs
│ └── CUSTOM-WHITELIST.txt # Кастомный белый список подсетей
├── geosite/
│ ├── buildtools/ # Скрипты тестирования, линтинга и дедупликации доменов
│ │ ├── lint_rules.py # Линтер синтаксиса и избыточности правил
│ │ ├── test_routing.py # Симуляция и регрессионное тестирование роутинга
│ │ └── deduplicate.py # Анализатор пересечений IP и доменов
│ └── data/ # Текстовые списки доменов по категориям
├── profiles/ # SSOT JSON-манифесты профилей (DEFAULT, WHITELIST, BASIC)
├── tools/ # Пакет PinRouting CLI и инструментов автоматизации
│ └── pinrouting/
│ ├── cli/
│ │ ├── build.py # Сборка конфигураций всех клиентов
│ │ ├── check_dead.py # Проверка и очистка неживых доменов и IP
│ │ ├── lint.py # Линтинг профилей и правил
│ │ └── test.py # Регрессионные тесты роутинга
│ ├── emitters/ # Генераторы форматов HAPP, INCY, Shadowrocket
│ └── models.py # Модели конфигураций и профилей
├── Makefile # make lint, make test, make build, make check-dead
├── pyproject.toml # Конфигурация Python проекта и линтера Ruff
├── LICENSE # Лицензия MIT
└── README.md # Документация проекта
Проект агрегирует данные, списки и инструменты из следующих открытых источников:
- Loyalsoldier/geoip — инструмент компиляции бинарных баз
geoip.dat. - v2fly/domain-list-community — компилятор бинарных баз правил
geosite.dat.
- @ip-location-db — ежедневные выгрузки сопоставления IP и стран (GeoLite2, DB-IP Lite).
- Davoyan/ipinfo — ежедневные списки IP-диапазонов IPinfo Lite для России и Беларуси.
- Netsyms / MaxMind — зеркало базы GeoLite2 ASN для фильтрации подсетей по номерам автономных систем (ASN).
- Re:filter — актуальные списки заблокированных ресурсов (ipsum, community).
- Antifilter.Network — выгрузка заблокированных IP-адресов.
- Antifilter Community — общественный список блокировок.
- PentiumB/CDN-RuleSet — сводная база диапазонов глобальных CDN.
- mansourjabin/cdn-ip-database — база IP-адресов сетей доставки контента.
- DigneZzZ/routing — архитектурные подходы к оптимизации мобильного роутинга и концепции сквозного тестирования правил.
- escapingworm/russia-whitelist — проверенные белые списки подсетей РФ (CIDR).
- kirilllavrov/RU-domain-list-for-whitelist — списки российских доменов для белого списка.
- hxehex/russia-mobile-internet-whitelist — белые списки ресурсов мобильного интернета РФ.
- pincetgore/amnezia-app-ru-list — структурированные базы доверенных доменов РФ по отраслям.
- misha-tgshv/shadowrocket-configuration-file — база сайтов кредитных организаций ЦБ РФ, чекеры доступности и шаблоны конфигураций Shadowrocket.
- roscomvpn-routing, roscomvpn-geoip, roscomvpn-geosite — базовые правила маршрутизации от hydraponique.
Проект распространяется под открытой лицензией MIT. Вы можете свободно использовать, модифицировать и распространять его как в личных, так и в коммерческих целях с обязательным сохранением указания авторства.
Если проект оказался вам полезен и помогает удобно маршрутизировать трафик, вы можете поддержать его развитие и поблагодарить автора: