Star 历史趋势
数据来源: GitHub API · 生成自 Stargazers.cn
README.md

Podkop Plus

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

preview_sections preview_dashboard

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

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

Установка

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

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

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

Варианты sing-box

  • stable — оригинальная полная версия sing-box.
  • tiny — официальная облегченная версия sing-box. Занимает меньше места. По функционалу идентична stable, за исключением отсутствия поддержки Tailscale для режима сервера.
  • extended — модифицированная сборка с расширенным функционалом. Необходима для транспорта XHTTP и протокола MTProto в режиме сервера. Полный списк нововведений: shtorm-7/sing-box-extended.
  • extended compressed — версия, полностью аналогичная extended, но бинарный файл сжат упаковщиком UPX. Значительно экономит место при сохранении всего функционала. Сжатая версия может работать нестабильно на некоторых устройствах.

Подписки

  • Реализована поддержка основных форматов: 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;

Поддержать проект

Если хотите поддержать проект и его развитие, это можно сделать здесь:

  • 💳 Карты РФ / СБП / Tinkoff Pay: Донат на CloudTips
  • 💎 TON / USDT (сеть TON): UQBuYHpmHorHquBItuuUsNJJs5lWoP6Bi0cgY-gM5RCQvYgC
  • 🟢 USDT (сеть TRC-20): TR4SXiL9sV2GwNz8mDbJkN8SmK9jQ3GuZF
  • 🪙 USDT (сеть ERC-20 / BEP-20): 0x21F86eF81d33A449037d6E750D2504BF225EAA9d

关于 About

Dev podkop

语言 Languages

Shell34.9%
JavaScript26.6%
TypeScript20.9%
UnrealScript17.1%
Makefile0.3%
PowerShell0.2%

提交活跃度 Commit Activity

代码提交热力图
过去 52 周的开发活跃度
762
Total Commits
峰值: 100次/周
Less
More

核心贡献者 Contributors