Podkop Plus

Star Releases Telegram podkop zapret-openwrt ByeDPI-OpenWrt sing-box-extended

preview_sections preview_dashboard

НЕ ПИШИТЕ с проблемами Podkop Plus в официальный Telegram-чат. Это независимый форк. Разработчики и участники оригинального чата не имеют отношения к этому проекту.

  • Нашли баг или есть проблема? Создайте Issue в этом репозитории.
  • Не хотите или не умеете создавать Issue? Напишите в специальный топик чата Flint 2.

Установка

sh <(wget -O - https://raw.githubusercontent.com/ushan0v/podkop-plus/main/install.sh)

Что нового в этом форке

  • Добавлена поддержка подписок.
  • Интеграция Zapret, Zapret2 и ByeDPI как отдельных действий секции.
  • Поддержка sing-box extended и транспорта XHTTP.
  • Обновленный LuCI-интерфейс и расширенное управление секциями.
  • Новые условия маршрутизации.
  • Режим сервера с возможностю поднять собственный VPN/Proxy для подключения внешних устройств.
  • Менеджер обновлений и установки компонентов.
  • Встроенный мониторинг соединений.

Подписки

  • Реализована поддержка основных форматов: sing-box json, uri/base64 списки, clash/mihomo
  • Добавлено чтение метаданных подписки.
  • Подписки поддерживают HWID авторизацию.
  • Возможность исключать серверы из URLTest по стране, названию и регулярному выражению.
  • Для указания кастомного заголовка User-Agent при скачивании подписки добавьте его в формате URL | User-Agent).
  • Для расшифровки подписок в формате happ://crypt используйте сервис leeeet.dev/happ-decryptor.

Секции

Podkop Plus расширяет набор условий, которые можно использовать в правилах:

  • Домены (domain_suffix)
  • IP-адреса (ip_cidr)
  • Точный полный домен (domain)
  • Ключевое слово домена (domain_keyword)
  • Регулярное выражение домена (domain_regex)
  • Исходные IP-адреса (source_cidr)
  • Порт (port / port_range)
  • Полностью маршрутизированные IP-адреса
  • Встроенные наборы правил
  • Наборы правил (домены)
  • Наборы правил (домены и подсети)
  • Списки доменов и IPs

Для Исходные IP-адреса и Полностью маршрутизированные IP-адреса можно не только вручную вводить IP-адреса, но и выбирать устройство в локальной сети из удобного списка с именами.

Особенности работы некоторых условий:

  • Исходные IP-адреса: работает как логическое И с остальными правилами. В секцию уйдет только тот трафик устройства, который совпал с другими заданными условиями (например, с указанными доменами или подсетями). Остальной трафик пойдет напрямую.
  • Полностью маршрутизированные IP-адреса: работает независимо от других условий. Абсолютно весь трафик указанного устройства будет принудительно направлен через действие этой секции.
  • Порт: работает как логическое И с остальными правилами. Если заданы другие условия (например, домены или IP-адреса), через секцию пойдет только их трафик, обращающийся к этому порту. Если указан только порт (без других условий), абсолютно весь трафик на этот порт будет направлен через секцию, независимо от адреса назначения.

Наборы правил

Наборы правил (домены) принимают sing-box списки в форматах .srs и .json. Можно указывать как локальные пути, так и удаленные ссылки. Такие списки добавляются только в конфигурацию sing-box.

Наборы правил (домены и подсети) принимают те же форматы, но дополнительно извлекают подсети и добавляют их в nftables. Это полезно для списков, где важны не только домены, но и IP-диапазоны. Извлечение подсетей требует дополнительной нагрузки на роутер, поэтому секции разделены.

Списки доменов и IPs

Секция Списки доменов и IPs объединяет списки доменов и подсетей. Принимает локальные и удаленные .lst списки. Добавлена поддержка смешанных списков.

Серверы

Podkop Plus позволяет поднять собственный VPN/Proxy сервер прямо на роутере для подключения внешних устройств.

Поддерживаемые протоколы: VLESS, VMess, Trojan, Shadowsocks, SOCKS, Hysteria2 и Tailscale.

Вы можете выбрать, как роутер будет обрабатывать трафик подключенного к нему клиента:

  • Правила Podkop Plus — трафик подчиняется правилам маршрутизации, то есть обрабатывается так же, как трафик устройств в локальной сети.
  • Напрямую — весь трафик клиента идет напрямую в интернет, минуя обходы.
  • Выбранная секция — весь трафик клиента принудительно заворачивается в выбранную секцию.

Для подключения к серверу из внешней сети необходим выделенный (белый) IP-адрес от провайдера и открытый порт в Firewall роутера. Если у вас нет выделенного IP-адреса, используйте протокол Tailscale - он позволяет подключаться к вашему серверу из любой точки мира даже за NAT.

Интеграция Zapret

Zapret доступен как действие отдельной секции. Используется bol-van/zapret в OpenWrt-пакете zapret из релизов remittor/zapret-openwrt.

Вы можете найти адаптированные и проверенные стратегии zapret для Podkop Plus в специальном репозитории: ushan0v/podkop-plus-zapret-strategies.

Реализация: sing-box отбирает трафик секции и отправляет его в direct outbound с отдельным routing_mark -> zapret принимает помеченные пакеты из очереди (4000-4255) и применяет выбранную стратегию 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, которые обходят встроенную валидацию и управление очередями.

Интеграция Zapret2

Zapret2 доступен как отдельное действие секции zapret2. Используется bol-van/zapret2 в OpenWrt-пакете zapret2 из релизов remittor/zapret-openwrt.

Реализация: sing-box отбирает трафик секции и отправляет его в direct outbound с отдельным routing_mark -> zapret2 принимает помеченные пакеты из очереди (4300-4555) и применяет выбранную стратегию DPI-обхода.

NFQWS2 Strategy принимает параметры nfqws2 без --qnum и без базовых Lua-инициализаций: Podkop Plus добавляет очередь, --fwmark и стандартные zapret2 Lua-модули самостоятельно. Свои --blob и --lua-init допустимы для расширенных стратегий.

Для стратегии zapret2 намеренно запрещены:

  • шаблоны и hostlist placeholders: <HOSTLIST>, <HOSTLIST_NOAUTO>;
  • hostname/IP selectors внутри самой стратегии: --hostlist*, --hostlist-auto*, --ipset*;
  • ручное управление очередью и fwmark: --qnum, --fwmark, --dpi-desync-fwmark;
  • режимы, несовместимые с управляемой NFQUEUE-архитектурой: --fuzz, --intercept=0;
  • режимы, которые ломают lifecycle процесса: --daemon;
  • режимы, которые не должны быть итоговой стратегией запуска: --dry-run, --version;
  • внешние файлы аргументов вида @file или $file, которые обходят встроенную валидацию и управление очередями.

Интеграция ByeDPI

ByeDPI доступен как действие отдельной секции. Используется DPITrickster/ByeDPI-OpenWrt.

Реализация: 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;
S
Description
No description provided
Readme GPL-2.0
46 MiB
1.3.28
Latest
2026-09-17 17:07:03 +03:00
Languages
UnrealScript 44.4%
JavaScript 21.8%
Shell 16.4%
TypeScript 15.1%
Lua 2.2%
Other 0.1%