From 5f5b1cbe1f7044101771e6df802c05139578773d Mon Sep 17 00:00:00 2001 From: itdoginfo Date: Sat, 22 Feb 2025 00:04:24 +0300 Subject: [PATCH] Warnning for friendlywrt, http-dns-proxy. Validation domains in local file --- README.md | 32 ++------------------------------ podkop/files/etc/init.d/podkop | 17 +++++++++++++---- 2 files changed, 15 insertions(+), 34 deletions(-) diff --git a/README.md b/README.md index 14bd92e..bce2f0a 100644 --- a/README.md +++ b/README.md @@ -88,9 +88,8 @@ Luci: Services/podkop - [x] awg работает не стабильно - [x] Сеть рестартится при любом раскладе - [x] Выкл-вкл wg через luci не отрабатывает поднятие маршрута -- [ ] Если eof после последней строки в rt_tables, то скрипт не добавляет перенос строки -- [ ] В каких-то случаях плохо отрабатывает localfile -- [ ] warnging если в конфиге присуствует. Значит в системе есть https-dns-proxy, который тоже может перетирать конфигурацию dhcp. Рекомендовать его выключить и сделать disable. Возможно в будущем добавить несовместимость на уровне Makefile +- [x] В каких-то случаях плохо отрабатывает localfile +- [x] warnging если в конфиге присуствует. Значит в системе есть https-dns-proxy, который тоже может перетирать конфигурацию dhcp. Рекомендовать его выключить и сделать disable. Возможно в будущем добавить несовместимость на уровне Makefile ``` option doh_backup_noresolv '0' list doh_backup_server '' @@ -105,30 +104,6 @@ Luci: Services/podkop # ToDo Этот раздел не означает задачи, которые нужно брать и делать. Это общий список хотелок. Если вы хотите помочь, пожалуйста, спросите сначала в телеграмме. -Сделано -- [x] Скрипт для автоматической установки. -- [x] Подсети дискорда. -- [x] Удаление getdomains через скрипт. Кроме туннеля и sing-box. -- [x] Дополнительная вкладка для ещё одного туннеля. Домены, подсети. -- [x] Улучшение скрипта автоматической установки. Спрашивать про туннели. -- [x] Зависимость от dnsmasq-full -- [x] Весь трафик для устойства пускать в туннель\прокси -- [x] Исключение для IP, не ходить в туннель\прокси совсем 0x0 -- [x] Врубать галочкой yacd в sing-box -- [x] Свои списки. Просто список доменов с переносом строки -- [x] Свои списки ipv4 -- [x] В nft разделить правило tproxy на маркировку и tproxy -- [x] Вернуть две цепочки nft -- [x] Ntp (порт 123) делать маркировку 0x0. По галке -- [x] Открытый прокси порт на роутере для браузеров -- [x] Автонастройка wireguard по примеру getdomains -- [x] Автонастройка awg по примеру getdomains -- [x] RU перевод -- [x] Переделать на PROCD и выкинуть ucitrack. -- [x] Нужен дебаг. Restart ucitrack в отдельный скрипт postinst, не отрабатывает. -- [x] Закомментировать дефолтные значения у list. interface поставить в пустое. -- [x] Скрипт установки: проверка установлен ли уже podkop. Если да, то просто предлагать обновится без установки тунелей и прокси. - Приоритет 1 - [x] Изменить название "Alternative Config" - [x] "domain_service_enabled" Добавить _second @@ -143,9 +118,6 @@ Luci: Services/podkop Проблема в том, что это нужно только если SS. Выставлять выбор при парсинг из конфига вопрос можно ли. Если совсем тупо - сделать костыль в допонительные настройки - [x] Проверка места в скрипте install. Если доступно меньше 20MB - exit 1 c выводом колько надо и сколько доступно. + показ модели роутера - [x] Правило запрещающее QUIC -- [ ] Проверить обновление списков, отрабатывает ли -- [ ] Проверка на ванильную openwrt -- [ ] Проверка откуда установлен sing-box. Например, проверять установлен ли он из официального репозитория - [x] TG в сервисы - [ ] Диагностика: Proxy check completed successfully предположительно не показывает IP, если вернулся это IPv6. - [ ] Сделать галку запрещающую подкопу редачить dhcp. Допилить в исключение вместе с пустыми полями proxy и vpn diff --git a/podkop/files/etc/init.d/podkop b/podkop/files/etc/init.d/podkop index a5584a1..dd5640f 100755 --- a/podkop/files/etc/init.d/podkop +++ b/podkop/files/etc/init.d/podkop @@ -53,8 +53,12 @@ start_service() { exit 1 fi - if opkg list-installed | grep -qE "iptables|kmod-iptab"; then - printf "\033[31;1mFound incompatible iptables packages. If you're using FriendlyWrt: https://t.me/itdogchat/44512/181082\033[0m\n" + if grep -q FriendlyWrt /etc/banner; then + printf "\033[31;1mYou use FriendlyWrt. If you have problems, check out: https://t.me/itdogchat/44512/181082\033[0m\n" + fi + + if grep -qE 'doh_backup_noresolv|doh_backup_server|doh_server' /etc/config/dhcp; then + printf "\033[31;1mDetected https-dns-proxy. Disable or uninstall it for correct functionality.\033[0m\n" fi if ! ip addr | grep -q "br-lan"; then @@ -1373,8 +1377,13 @@ list_custom_local_domains_create() { local filename=$(basename "$local_file" | cut -d. -f1) while IFS= read -r domain; do - log "From local file: $domain" - sing_box_ruleset_domains $domain $section + domain=$(echo "$domain" | sed 's/^[[:space:]]*//;s/[[:space:]]*$//') + if [ -n "$domain" ] && echo "$domain" | grep -E -q '^([a-zA-Z0-9][-a-zA-Z0-9]*\.)+[a-zA-Z]{2,}$'; then + log "Added $domain from local file" + sing_box_ruleset_domains "$domain" "$section" + else + log "Invalid domain skipped: $domain" + fi done <"$local_file" }