8.3 KiB
Podkop Plus
|
|
|
НЕ ПИШИТЕ с проблемами Podkop Plus в официальный Telegram-чат. Это независимый форк. Разработчики и участники оригинального чата не имеют отношения к этому проекту.
Установка
sh <(wget -O - https://raw.githubusercontent.com/ushan0v/podkop-plus/main/install.sh)
Что нового в этом форке
- Добавлена поддержка подписок.
- Интеграция Zapret и ByeDPI как отдельного действия.
- Поддержка sing-box extended и транспорта XHTTP.
- Обновленный LuCI-интерфейс и расширенное управление секциями.
- Возможность исключать серверы из URLTest по стране или названию.
- Встроенный мониторинг соединений.
- Менеджер обновлений.
Подписки
- Работа с подписками адаптирована из podkop-evolution и значительно расширена.
- Реализована поддержка основных форматов: sing-box json, uri/base64 списки, clash/mihomo
- Добавлено чтение метаданных подписки.
- Подписки поддерживают HWID авторизацию.
- Для расшифровки подписок в формате
happ://cryptиспользуйте сервис leeeet.dev/happ-decryptor.
Секции
Podkop Plus расширяет набор условий, которые можно использовать в правилах:
- Домены (
domain_suffix) - IP-адреса (
ip_cidr) - Точный полный домен (
domain) - Ключевое слово домена (
domain_keyword) - Регулярное выражение домена (
domain_regex) - Исходные IP-адреса (
source_cidr) - Полностью маршрутизированные IP-адреса
- Встроенные наборы правил
- Наборы правил (домены)
- Наборы правил (домены и подсети)
- Списки доменов и IPs
Для Исходные IP-адреса и Полностью маршрутизированные IP-адреса можно не только вручную вводить IP-адреса, но и выбирать устройство в локальной сети из удобного списка с именами.
Наборы правил
Наборы правил (домены) принимают sing-box списки в форматах .srs и .json. Можно указывать как локальные пути, так и удаленные ссылки. Такие списки добавляются только в конфигурацию sing-box.
Наборы правил (домены и подсети) принимают те же форматы, но дополнительно извлекают подсети и добавляют их в nftables. Это полезно для списков, где важны не только домены, но и IP-диапазоны. Извлечение подсетей требует дополнительной нагрузки на роутер, поэтому секции разделены.
Списки доменов и IPs
Секция Списки доменов и IPs объединяет списки доменов и подсетей. Принимает локальные и удаленные .lst списки. Добавлена поддержка смешанных списков.
Интеграция Zapret
Zapret доступен как действие отдельной секции. Используется remittor/zapret-openwrt. Интеграция не конфликтует с отдельным полноценным пакетом zapret (luci-app-zapret).
Реализация: sing-box отбирает трафик секции и отправляет его в direct outbound с отдельным routing_mark -> zapret принимает помеченные пакеты из очереди и применяет выбранную стратегию DPI-обхода.
Для стратегии zapret намеренно запрещены:
- шаблоны и hostlist placeholders:
<HOSTLIST>,<HOSTLIST_NOAUTO>; - hostname/IP selectors внутри самой стратегии:
--hostlist*,--hostlist-auto*,--ipset*; - ручное управление очередью и fwmark:
--qnum,--dpi-desync-fwmark; - режимы, которые ломают lifecycle процесса:
--daemon; - режимы, которые не должны быть итоговой стратегией запуска:
--dry-run,--version; - внешние конфиги вида
@fileили$file, которые обходят встроенную валидацию и управление очередями.
Интеграция ByeDPI
ByeDPI доступен как действие отдельной секции. Используется DPITrickster/ByeDPI-OpenWrt. Процесс работает под управлением Podkop Plus.
Реализация: sing-box отбирает трафик секции и отправляет его в локальный SOCKS5 outbound -> ciadpi принимает соединение на 127.0.0.1:1080+ и применяет выбранную стратегию DPI-обхода.
Для стратегии ByeDPI намеренно запрещены:
- ручное назначение listen-адреса и порта:
--ip,-i,--port,-p; - прозрачный режим, несовместимый с SOCKS5-подключением:
--transparent,-E; - режимы, которые ломают lifecycle процесса:
--daemon,-D; - ручное управление pid-файлами:
--pidfile,-w; - режимы, которые выводят справку или версию и сразу завершают работу:
--help,-h,--version,-v;