mirror of
https://github.com/itdoginfo/podkop.git
synced 2025-12-06 11:36:50 +03:00
dnsmasq add 8.8.8.8. Validate domain_list
This commit is contained in:
@@ -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] Списки доменов и подсетей с роутера
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user