VPN subscription parser and manager for Podkop on OpenWrt
Obhodiq — это дополнение для Podkop на OpenWrt. Оно нужно для работы с VPN-подписками: Obhodiq забирает ссылку подписки, разбирает её, собирает из неё список серверов и передаёт результат в Podkop, а Podkop уже занимается маршрутизацией, URLTest, ручным выбором и проверкой задержки.
- Демо-проверка
- Важно
- Что умеет Obhodiq
- Как это работает
- Форматы, которые умеет читать парсер
- Что это значит на практике
- Требования
- Важно по времени работы
- Установка
- Ручная установка
- Смена языка вручную
- Удаление
- Интерфейс
- Как работает автообновление
- Что важно понимать
- Если подписка не заработала
- Проверка и статус
- Поддержать
Проверить, как Obhodiq разбирает подписку, можно на отдельной странице:
Что важно:
- данные подписки остаются только в кэше браузера
- в демо используется локальный
device id, который сохраняется в браузере и повторно используется при следующих запросах - это уменьшает вероятность того, что провайдер будет считать каждую повторную проверку новым устройством
- разные VPN-провайдеры могут учитывать такие обращения по-разному
Important
Obhodiq не заменяет Podkop. Он работает только вместе с оригинальным Podkop и требует, чтобы Podkop был установлен заранее.
Important
Дисклеймер. Obhodiq не является средством обхода блокировок, VPN-сервисом или самостоятельным VPN-клиентом. Автор проекта выступает против использования программы для нарушения действующих законов любой страны.
Проект предназначен для технической обработки подписок и управления конфигурацией Podkop на OpenWrt: Obhodiq забирает ссылку подписки, разбирает её и подготавливает конфигурационные данные для уже установленного Podkop. Фактическое подключение, URLTest, маршрутизация, transport-логика и обработка трафика выполняются уже самим Podkop и его зависимостями.
Warning
Сейчас Obhodiq находится в бета-статусе. Он уже пригоден для использования, но разные провайдеры, типы подписок и отдельные серверы могут вести себя по-разному.
Note
Сам Obhodiq:
- не содержит собственного VPN/proxy-движка
- не поднимает туннели
- не выполняет маршрутизацию трафика самостоятельно
- не выступает провайдером VPN или прокси
- не предоставляет доступ к каким-либо ресурсам сам по себе
Всё, что связано с фактическим соединением и передачей трафика, выполняется уже самим Podkop и его зависимостями.
- принимать VPN-подписки по ссылке
- разбирать обычные, base64- и многие JSON-подписки
- вытаскивать из подписки серверы и передавать их в Podkop
- оставлять
URLTestдля автоматического выбора лучшего сервера - давать ручной выбор сервера
- включать и выключать отдельные серверы
- импортировать
WS-серверы выключенными по умолчанию, но оставлять возможность включить их вручную - показывать информацию о подписке, текущем сервере и пинге от Podkop
- обновлять подписку вручную и по расписанию
- Добавляешь ссылку подписки.
- Obhodiq скачивает подписку и разбирает поддерживаемые ссылки внутри неё.
- Поддерживаемые серверы подготавливаются и экспортируются в Podkop.
- Дальше Podkop уже сам работает с маршрутизацией,
URLTest, ручным выбором и пингом.
Obhodiq рассчитан на подписки, которые сейчас чаще всего выдают VPN-провайдеры: V2Ray / Xray / sing-box подписки и некоторые провайдерские обёртки вокруг них.
Сейчас парсер умеет работать с:
- обычными списками ссылок
- base64-подписками
- многими JSON-подписками
- HAPP-обёртками вида
happ://add/https://...
Для части провайдерских обёрток в Obhodiq также используется эмуляция клиента HApp 1.0, чтобы некоторые точки выдачи подписок вообще начали отдавать ожидаемый ответ.
Семейства ссылок, которые сейчас умеет распознавать и разбирать парсер:
vless://vmess://trojan://ss://socks4://socks5://hy2://hysteria://hysteria2://
Important
WS-серверы в Obhodiq сейчас добавляются выключенными по умолчанию. В наших проверках они часто работали нестабильно, но разработчиками Podkop / sing-box заявлена возможная поддержка WS, поэтому при желании их можно включить вручную и проверить отдельно.
Важно разделять две вещи:
- Obhodiq смог распарсить ссылку и добавить сервер в список.
- Podkop смог реально применить этот сервер, пропинговать его и использовать.
Obhodiq отвечает только за первую часть. Дальше уже сам Podkop решает, что он реально может применить, пропинговать и использовать.
Что сейчас жёстко отсекается до экспорта:
XHTTP
Дополнительно:
happ://add/https://...считается форматом-обёрткой, а не отдельным типом прокси- шифрованные
happ://crypt4/...не заявляются как полностью поддержанные WS,GRPC,Hysteriaи похожие форматы могут нормально распарситься, но их фактическая работа уже зависит от Podkop,sing-boxи конкретного провайдераWSсейчас добавляется в список выключенным по умолчанию, потому что в наших проверках такие серверы часто не работали стабильно; при этом разработчиками Podkop/sing-box заявлена возможная поддержкаWS, поэтому такой сервер можно включить вручную и проверить отдельно- Podkop использует
sing-box, поэтому поддержкаVLESS,WS,Realityи других вариантов, зависящих от транспорта соединения, определяется возможностямиsing-box - для сложных случаев Podkop также допускает ручную настройку через
Outbound Config
По текущим проверкам:
- лучше всего у нас проверены обычные
VLESS-подписки, которые Podkop нормально использует вURLTest Trojan,Shadowsocks,Socks,Hysteria2,VMessи другие семейства ссылок парсер умеет читать, но это не означает, что любая такая ссылка гарантированно отработает в Podkop у любого провайдера- если у сервера нет пинга, это значит не то, что ссылка обязательно битая, а то, что именно Podkop не вернул по нему нормальный пинг в текущей конфигурации
Полезные ссылки по этому поводу:
- OpenWrt
- уже установленный оригинальный Podkop
- рекомендуемые версии Podkop:
0.7.19-0.7.21 - рекомендуемые версии OpenWrt:
24.10.6,25.12.5
Important
Парсинг подписки, применение изменений, обновление пинга и включение или выключение серверов могут занимать некоторое время.
Скорость этих операций зависит от:
- мощности роутера
- числа серверов в подписке
- того, как быстро сам Podkop возвращает данные
Если ты нажал обновление, переключение или отключение сервера, нужно дождаться завершения операции и не прожимать много действий подряд.
Сначала установи оригинальный Podkop:
sh <(wget -O - https://raw.githubusercontent.com/itdoginfo/podkop/refs/heads/main/install.sh)Потом установи Obhodiq:
sh <(wget -O - https://renqismike.github.io/obhodiq/install.sh)Если у провайдера плохо открывается GitHub Pages, запасной вариант:
sh <(wget -O - https://github.com/renqismike/obhodiq/raw/main/install.sh)Если нужна ручная установка, используй файлы пакетов из release assets.
Для OpenWrt с opkg:
opkg install obhodiq_0.2.0_all.ipk luci-app-obhodiq_0.2.0_all.ipkДля OpenWrt с apk:
apk add --allow-untrusted obhodiq-0.2.0.apk luci-app-obhodiq-0.2.0.apkКоманды ниже одинаково подходят для Obhodiq, установленного как через opkg (ipk), так и через apk.
/usr/bin/obhodiq set-lang ru
/usr/bin/obhodiq set-lang enРекомендуемое полное удаление:
sh <(wget -O - https://renqismike.github.io/obhodiq/uninstall.sh)Запасной вариант:
sh <(wget -O - https://github.com/renqismike/obhodiq/raw/main/uninstall.sh)Ручное удаление пакетов через opkg:
opkg remove luci-app-obhodiq
opkg remove obhodiqРучное удаление пакетов через apk:
apk del luci-app-obhodiq
apk del obhodiqВажно:
- вариант через
uninstall.sh— основной и рекомендуемый, потому что он использует официальный файл удаления из репозитория - ручное удаление через
opkgилиapkтоже должно корректно вычищать хвосты Obhodiq, если установлена актуальная версия пакета - удаление Obhodiq не должно удалять и ломать сам Podkop
Основные действия:
Сохранить ссылку— сохраняет ссылку подпискиОбновить подписку— заново скачивает и пересобирает текущую подпискуАвтообновление подписки— задаёт расписание автообновления- кнопка питания — включает или отключает интеграцию Obhodiq
Список серверов:
Автооставляет Podkop в режимеURLTest- радиокнопка переключает между авто-режимом и ручным сервером
- галочка включает или исключает сервер из экспорта
Пингпоказывает значение, которое вернул Podkop
Автообновление работает по расписанию cron, а не от момента, когда ты выбрал значение в списке.
Текущее расписание такое:
30 минут— в00и30минут каждого часа1 час— в начале каждого часа3 часа— в00:00,03:00,06:00,09:00,12:00,15:00,18:00,21:006 часов— в00:00,06:00,12:00,18:0012 часов— в00:00и12:0024 часа— каждый день в03:00Никогда— автообновление отключено
Если Obhodiq выключен кнопкой питания, автообновление тоже не выполняется.
- если сервер попал в список, это значит, что Obhodiq смог его распарсить
- если у сервера есть пинг, это значит, что Podkop смог вернуть по нему нормальный пинг
- если пинга нет, это не всегда означает, что ссылка битая, но это значит, что именно в Podkop такой сервер сейчас не дал нормальный пинг
- наличие семейства ссылки в этом README означает поддержку разбора в Obhodiq, а не безусловную гарантию работы каждого сервера у любого провайдера
- сам факт наличия поддержки формата в Obhodiq не гарантирует, что конкретная подписка конкретного провайдера распарсится без проблем
- не каждая провайдерская подписка будет совпадать с теми форматами, которые уже проверялись в Obhodiq
- если твоя ссылка не распарсилась или серверы повели себя странно, открой issue в репозитории
- по возможности приложи обезличенный пример ответа или описание формата без личных токенов, UUID, доменов и приватных URL
- если это новый рабочий формат, я постараюсь отдельно его проверить и при возможности добавить поддержку
Это всё ещё бета-версия, и она проверялась только на ограниченном наборе подписок от разных VPN-провайдеров, а не на всех возможных вариантах на рынке.
Во время разработки приложение проверялось на:
- OpenWrt
24.10.6сopkg - OpenWrt
25.12.5сapk - Podkop
0.7.19-r1-0.7.21-r1
Если Obhodiq оказался вам полезен и вы хотите поддержать развитие проекта, можно воспользоваться любым удобным способом ниже.
|
|
|
| USDT (TRC20 / Tron) | USDT (BEP20 / BNB Smart Chain) | Binance Pay |
TYmyHohGWZWGrfb7fKHhCNDX6cvC81jMrU |
0x038feAFa22c8FDC8dB98CAd1943a64545B42CB0d |
Binance Pay |
Спасибо за поддержку проекта.



