From c046930032fd3bd3d4f4d844d193dc93f1e39c76 Mon Sep 17 00:00:00 2001 From: itdoginfo Date: Fri, 14 Feb 2025 21:06:44 +0300 Subject: [PATCH] Added migration --- README.md | 9 ++++++++- install.sh | 2 -- podkop/files/etc/init.d/podkop | 18 +++++++++++++++++- 3 files changed, 25 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index a09e793..65fe161 100644 --- a/README.md +++ b/README.md @@ -90,7 +90,14 @@ Luci: Services/podkop - [ ] `service network restart` ломает маршруты при sing-box - [ ] Совпадение секции с ruleset ломает конфиг sing-box - [ ] В каких-то случаях плохо отрабатывает localfile - +- [ ] exit 1 если в конфиге присуствует +``` + option doh_backup_noresolv '0' + list doh_backup_server '' + list doh_backup_server '' + list doh_server '127.0.0.1#5053' + list doh_server '127.0.0.1#5054' +``` # ToDo Этот раздел не означает задачи, которые нужно брать и делать. Это общий список хотелок. Если вы хотите помочь, пожалуйста, спросите сначала в телеграмме. diff --git a/install.sh b/install.sh index d549826..579be9f 100755 --- a/install.sh +++ b/install.sh @@ -28,8 +28,6 @@ main() { case $UPDATE in y) echo "Upgraded podkop..." - sed -i '/second/d' /etc/config/podkop - sed -i '/ru_inside/d; /ru_outside/d; /update_interval/d; /ua/d' /etc/config/podkop break ;; diff --git a/podkop/files/etc/init.d/podkop b/podkop/files/etc/init.d/podkop index 065af15..b962f6d 100755 --- a/podkop/files/etc/init.d/podkop +++ b/podkop/files/etc/init.d/podkop @@ -43,6 +43,8 @@ start_service() { echo "The version of sing-box ($sing_box_version) is lower than the minimum version. Update sing-box: opkg update && opkg install sing-box" exit 1 fi + + migration config_foreach wget_github @@ -171,6 +173,20 @@ nolog() { echo -e "${CYAN}[$timestamp]${RESET} ${GREEN}$message${RESET}" } +# Migrations funcs +migration() { + # list migrate + grep -q "list domain_list 'ru_inside'" /etc/config/podkop && sed -i "s/list domain_list 'ru_inside'/list domain_list 'russia_inside'/" /etc/config/podkop + grep -q "list domain_list 'ru_outside'" /etc/config/podkop && sed -i "s/list domain_list 'ru_outside'/list domain_list 'russia_outside'/" /etc/config/podkop + grep -q "list domain_list 'ua'" /etc/config/podkop && sed -i "s/list domain_list 'ua'/list domain_list 'ukraine_inside'/" /etc/config/podkop + + # second remove + grep -q "config second 'second'" /etc/config/podkop && sed -i '/second/d' /etc/config/podkop + + # cron update + grep -qE "^\s*option update_interval '[0-9*/,-]+( [0-9*/,-]+){4}'" /etc/config/podkop && sed -i "s|^\(\s*option update_interval\) '[0-9*/,-]\+\( [0-9*/,-]\+\)\{4\}'|\1 '1d'|" /etc/config/podkop +} + # Main funcs route_table_rule_mark() { @@ -603,7 +619,7 @@ sing_box_rule_dns() { sing_box_config_check() { if ! sing-box -c $SING_BOX_CONFIG check >/dev/null 2>&1; then log "Sing-box configuration is invalid" - return + exit 1 fi }