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
|
||||
Пакет работает на всех архитектурах.
|
||||
Тестировался на OpenWrt 23.05 и OpenWrt 24.10.
|
||||
Тестировался на **ванильной** OpenWrt 23.05 и OpenWrt 24.10.
|
||||
На FriendlyWrt 23.05 присуствуют зависимости от iptables, которые ломают tproxy. Если у вас появляется warning про это в логах, следуйте инструкции по приведённой там ссылке.
|
||||
|
||||
Поддержки APK на данный момент нет. APK будет сделан после того как разгребу основное.
|
||||
|
||||
@@ -151,6 +152,7 @@ Luci: Services/podkop
|
||||
- [ ] Сделать галку запрещающую подкопу редачить dhcp. Допилить в исключение вместе с пустыми полями proxy и vpn
|
||||
- [ ] Валидации предустановленных значений. Если прописаны другие, то вывод в лог о неизвестной переменной и продолжение работы
|
||||
- [ ] Добавление в список доменов домены первого уровня (LuCI)
|
||||
- [ ] Проверка, что версия в makefile совпадает с тегом
|
||||
|
||||
Приоритет 2
|
||||
- [x] Списки доменов и подсетей с роутера
|
||||
|
||||
@@ -35,6 +35,7 @@ SUBNETS_TELERAM="${GITHUB_RAW_URL}/Subnets/IPv4/telegram.lst"
|
||||
SING_BOX_CONFIG="/etc/sing-box/config.json"
|
||||
CACHE_FILE_PATH="/tmp/cache.db"
|
||||
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() {
|
||||
log "Start podkop"
|
||||
@@ -48,8 +49,7 @@ start_service() {
|
||||
fi
|
||||
|
||||
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"
|
||||
exit 1
|
||||
printf "\033[31;1mFound incompatible iptables packages. If you're using FriendlyWrt: https://t.me/itdogchat/44512/181082\033[0m\n"
|
||||
fi
|
||||
|
||||
if ! ip addr | grep -q "br-lan"; then
|
||||
@@ -59,6 +59,8 @@ start_service() {
|
||||
|
||||
migration
|
||||
|
||||
config_foreach process_validate_service
|
||||
|
||||
procd_open_instance
|
||||
procd_set_param command /bin/sh -c "/etc/init.d/podkop main &"
|
||||
procd_set_param stdout 1
|
||||
@@ -202,7 +204,7 @@ main() {
|
||||
fi
|
||||
}
|
||||
|
||||
# Migrations funcs
|
||||
# Migrations and validation funcs
|
||||
migration() {
|
||||
# list migrate
|
||||
local CONFIG="/etc/config/podkop"
|
||||
@@ -247,6 +249,26 @@ migration() {
|
||||
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
|
||||
|
||||
route_table_rule_mark() {
|
||||
@@ -308,6 +330,7 @@ dnsmasq_rm() {
|
||||
uci set dhcp.@dnsmasq[0].filter_aaaa="0"
|
||||
uci set dhcp.@dnsmasq[0].cachesize="1000"
|
||||
uci -q delete dhcp.@dnsmasq[0].server
|
||||
uci add_list dhcp.@dnsmasq[0].server="8.8.8.8"
|
||||
uci commit dhcp
|
||||
|
||||
/etc/init.d/dnsmasq restart
|
||||
|
||||
Reference in New Issue
Block a user