dnsmasq add 8.8.8.8. Validate domain_list

This commit is contained in:
itdoginfo
2025-02-17 15:22:55 +03:00
parent dd62ecfbeb
commit daf7e30ed1
2 changed files with 29 additions and 4 deletions

View File

@@ -20,7 +20,8 @@ sh <(wget -O - https://raw.githubusercontent.com/itdoginfo/domain-routing-openwr
# Установка Podkop # Установка Podkop
Пакет работает на всех архитектурах. Пакет работает на всех архитектурах.
Тестировался на OpenWrt 23.05 и OpenWrt 24.10. Тестировался на **ванильной** OpenWrt 23.05 и OpenWrt 24.10.
На FriendlyWrt 23.05 присуствуют зависимости от iptables, которые ломают tproxy. Если у вас появляется warning про это в логах, следуйте инструкции по приведённой там ссылке.
Поддержки APK на данный момент нет. APK будет сделан после того как разгребу основное. Поддержки APK на данный момент нет. APK будет сделан после того как разгребу основное.
@@ -151,6 +152,7 @@ Luci: Services/podkop
- [ ] Сделать галку запрещающую подкопу редачить dhcp. Допилить в исключение вместе с пустыми полями proxy и vpn - [ ] Сделать галку запрещающую подкопу редачить dhcp. Допилить в исключение вместе с пустыми полями proxy и vpn
- [ ] Валидации предустановленных значений. Если прописаны другие, то вывод в лог о неизвестной переменной и продолжение работы - [ ] Валидации предустановленных значений. Если прописаны другие, то вывод в лог о неизвестной переменной и продолжение работы
- [ ] Добавление в список доменов домены первого уровня (LuCI) - [ ] Добавление в список доменов домены первого уровня (LuCI)
- [ ] Проверка, что версия в makefile совпадает с тегом
Приоритет 2 Приоритет 2
- [x] Списки доменов и подсетей с роутера - [x] Списки доменов и подсетей с роутера

View File

@@ -35,6 +35,7 @@ SUBNETS_TELERAM="${GITHUB_RAW_URL}/Subnets/IPv4/telegram.lst"
SING_BOX_CONFIG="/etc/sing-box/config.json" SING_BOX_CONFIG="/etc/sing-box/config.json"
CACHE_FILE_PATH="/tmp/cache.db" CACHE_FILE_PATH="/tmp/cache.db"
FAKEIP="198.18.0.0/15" FAKEIP="198.18.0.0/15"
VALID_SERVICES="russia_inside russia_outside ukraine_inside geoblock block porn news anime youtube discord meta twitter hdrezka tiktok telegram"
start_service() { start_service() {
log "Start podkop" log "Start podkop"
@@ -48,8 +49,7 @@ start_service() {
fi fi
if opkg list-installed | grep -qE "iptables|kmod-iptab"; then if opkg list-installed | grep -qE "iptables|kmod-iptab"; then
echo "Found incompatible iptables packages. If you're using FriendlyWrt: https://t.me/itdogchat/44512/181082" printf "\033[31;1mFound incompatible iptables packages. If you're using FriendlyWrt: https://t.me/itdogchat/44512/181082\033[0m\n"
exit 1
fi fi
if ! ip addr | grep -q "br-lan"; then if ! ip addr | grep -q "br-lan"; then
@@ -59,6 +59,8 @@ start_service() {
migration migration
config_foreach process_validate_service
procd_open_instance procd_open_instance
procd_set_param command /bin/sh -c "/etc/init.d/podkop main &" procd_set_param command /bin/sh -c "/etc/init.d/podkop main &"
procd_set_param stdout 1 procd_set_param stdout 1
@@ -202,7 +204,7 @@ main() {
fi fi
} }
# Migrations funcs # Migrations and validation funcs
migration() { migration() {
# list migrate # list migrate
local CONFIG="/etc/config/podkop" local CONFIG="/etc/config/podkop"
@@ -247,6 +249,26 @@ migration() {
fi fi
} }
validate_service() {
local domain="$1"
for valid_service in $VALID_SERVICES; do
if [ "$domain" = "$valid_service" ]; then
return 0
fi
done
log "Invalid service in domain_list: $domain. Exiting. Check config and LuCI cache"
exit 1
}
process_validate_service() {
config_get_bool domain_list_enabled "$section" "domain_list_enabled" "0"
if [ "$domain_list_enabled" -eq 1 ]; then
config_list_foreach "$section" domain_list validate_service
fi
}
# Main funcs # Main funcs
route_table_rule_mark() { route_table_rule_mark() {
@@ -308,6 +330,7 @@ dnsmasq_rm() {
uci set dhcp.@dnsmasq[0].filter_aaaa="0" uci set dhcp.@dnsmasq[0].filter_aaaa="0"
uci set dhcp.@dnsmasq[0].cachesize="1000" uci set dhcp.@dnsmasq[0].cachesize="1000"
uci -q delete dhcp.@dnsmasq[0].server uci -q delete dhcp.@dnsmasq[0].server
uci add_list dhcp.@dnsmasq[0].server="8.8.8.8"
uci commit dhcp uci commit dhcp
/etc/init.d/dnsmasq restart /etc/init.d/dnsmasq restart