diff --git a/luci-app-mosdns/root/etc/init.d/mosdns b/luci-app-mosdns/root/etc/init.d/mosdns index cc2b44f..2c778ae 100755 --- a/luci-app-mosdns/root/etc/init.d/mosdns +++ b/luci-app-mosdns/root/etc/init.d/mosdns @@ -26,7 +26,6 @@ USE_PROCD=1 PROG=/usr/bin/mosdns CONF=$(uci -q get mosdns.config.configfile) CRON_FILE=/etc/crontabs/root -V2DAT_DIR=/usr/share/v2ray DUMP_FILE=/etc/mosdns/cache.dump DUMP_FILE_DEFAULT=/usr/share/mosdns/cache.dump DEFAULT_CONF=/usr/share/mosdns/default.yaml @@ -150,11 +149,7 @@ delcron() { } v2dat_dump() { - mkdir -p /var/mosdns - rm -f /var/mosdns/geo*.txt - v2dat unpack geoip -o /var/mosdns -f cn $V2DAT_DIR/geoip.dat - v2dat unpack geosite -o /var/mosdns -f cn -f 'geolocation-!cn' $V2DAT_DIR/geosite.dat - [ "$adblock" -eq 1 ] && [ "$ad_source" = "geosite.dat" ] && v2dat unpack geosite -o /var/mosdns -f category-ads-all $V2DAT_DIR/geosite.dat + $MOSDNS_SCRIPT v2dat_dump } start_service() { diff --git a/luci-app-mosdns/root/usr/share/mosdns/mosdns.sh b/luci-app-mosdns/root/usr/share/mosdns/mosdns.sh index 06332b0..62b6590 100755 --- a/luci-app-mosdns/root/usr/share/mosdns/mosdns.sh +++ b/luci-app-mosdns/root/usr/share/mosdns/mosdns.sh @@ -98,6 +98,22 @@ flush_cache() { curl -s 127.0.0.1:$(uci -q get mosdns.config.listen_port_api)/plugins/cache/flush || exit 1 } +v2dat_dump() { + # env + v2dat_dir=/usr/share/v2ray + adblock=$(uci -q get mosdns.config.adblock) + ad_source=$(uci -q get mosdns.config.ad_source) + configfile=$(uci -q get mosdns.config.configfile) + mkdir -p /var/mosdns + rm -f /var/mosdns/geo*.txt + # default config + if [ "$configfile" = "/etc/mosdns/config.yaml" ]; then + v2dat unpack geoip -o /var/mosdns -f cn $v2dat_dir/geoip.dat + v2dat unpack geosite -o /var/mosdns -f cn -f 'geolocation-!cn' $v2dat_dir/geosite.dat + [ "$adblock" -eq 1 ] && [ "$ad_source" = "geosite.dat" ] && v2dat unpack geosite -o /var/mosdns -f category-ads-all $v2dat_dir/geosite.dat + fi +} + case $script_action in "dns") interface_dns @@ -123,6 +139,9 @@ case $script_action in "flush") flush_cache ;; + "v2dat_dump") + v2dat_dump + ;; "version") mosdns version ;;