Dev podkop
Find a file
Kirill Sobakin 0152f073b7
Merge pull request #270 from itdoginfo/fix/267-determine-dhcp-ip
Use network_get_ipaddr to obtain LAN listen IP
2025-12-09 16:40:41 +03:00
.github Fix path 2025-10-12 18:53:22 +03:00
fe-app-podkop fix: correct small points 2025-12-01 16:38:26 +02:00
luci-app-podkop fix: correct small points 2025-12-01 16:38:26 +02:00
podkop fix: add and source network functions, use network_get_ipaddr to obtain LAN listen IP 2025-12-09 15:15:58 +05:00
sdk Fix #211 2025-10-09 14:40:45 +03:00
.gitattributes refactor: Added .gitattributes for better dev life at win and linux 2025-10-08 22:26:16 +03:00
.gitignore feat: translate some keys 2025-10-21 21:57:24 +03:00
Dockerfile-apk Fix PKG_VERSION -> PODKOP_VERSION 2025-10-09 18:15:54 +03:00
Dockerfile-ipk Check ipk without v 2025-10-09 19:53:37 +03:00
install.sh translations 2025-12-02 10:34:38 +03:00
LICENSE Initial commit 2024-10-10 16:40:32 +03:00
README.md fix: nano fix 2025-10-23 14:26:17 +03:00
String-example.md Add grpc mode example from #259 2025-11-28 00:44:21 +03:00

Вещи, которые вам нужно знать перед установкой

  • Это бета-версия, которая находится в активной разработке. Из версии в версию что-то может меняться.
  • При возникновении проблем, нужен технически грамотный фидбэк в чат. Ознакомьтесь с закрепом в топике.
  • При обновлении обязательно сбрасывайте кэш LuCI.
  • Также при обновлении всегда заходите в конфигурацию и проверяйте свои настройки. Конфигурация может измениться.
  • Необходимо минимум 25МБ свободного места на роутере. Роутеры с флешками на 16МБ сразу мимо.
  • При старте программы редактируется конфиг Dnsmasq.
  • Podkop редактирует конфиг sing-box. Обязательно сохраните ваш конфиг sing-box перед установкой, если он вам нужен.
  • Информация здесь может быть устаревшей. Все изменения фиксируются в телеграм-чате.
  • Если у вас что-то не работает.
  • Если у вас установлен Getdomains, его следует удалить.
  • Требуется версия OpenWrt 24.10.
  • Dashboard доступен, если вы заходите по http (из-за особенностей clash api). И не будет работать, если вы заходите по https и/или домену.

Документация

https://podkop.net/

Установка Podkop

Полная информация в документации

Вкратце, достаточно одного скрипта для установки и обновления:

sh <(wget -O - https://raw.githubusercontent.com/itdoginfo/podkop/refs/heads/main/install.sh)

Изменения 0.7.0

Начиная с версии 0.7.0 изменена структура конфига /etc/config/podkop. Старые значения несовместимы с новыми. Нужно заново настроить Podkop.

Скрипт установки обнаружит старую версию и предупредит вас об этом. Если вы согласитесь, то он сделает автоматически написанное ниже.

При обновлении вручную нужно:

  1. Не ныть в issue и чатик.
  2. Забэкапить старый конфиг:
mv /etc/config/podkop /etc/config/podkop-070
  1. Стянуть новый дефолтный конфиг:
wget -O /etc/config/podkop https://raw.githubusercontent.com/itdoginfo/podkop/refs/heads/main/podkop/files/etc/config/podkop
  1. Настроить заново ваш Podkop через Luci или UCI.

ToDo

Important

PR принимаются только по issues, у которых стоит label "enhancement". Либо по согласованию с авторами в ТГ-чате. Остальные PR на данный момент не рассматриваются.

Будущее

  • Подписка. Здесь нужна реализация, чтоб для каждой секции помимо ручного выбора, был выбор фильтрации по тегу. Например, для main выбираем ключевые слова NL, DE, FI. А для extra секции фильтруем по RU. И создаётся outbound c urltest в которых перечислены outbound из фильтров.
  • Весь трафик в sing-box и маршрутизация полностью на его уровне.
  • При успешном запуске переходит в фоновый режим и следит за состоянием sing-box. Если вдруг идёт exit 1, выполняется dnsmasq restore и снова следит за состоянием. Вопрос в том, как это искусственно провернуть. Попробовать положить прокси и посмотреть, останется ли работать DNS в этом случае. И здесь, вероятно, можно обойтись триггером в init.d. Issue
  • Галочка, которая режет доступ к doh серверам.
  • IPv6. Только после наполнения Wiki.

Тесты

  • Unit тесты (BATS)
  • Интеграционные тесты бекенда (OpenWrt rootfs + BATS)

Ask DeepWiki