small-package/luci-app-mosdns/root/etc/mosdns/mosupdater.sh

46 lines
1.2 KiB
Bash
Executable File

#!/bin/bash -e
# shellcheck source=/dev/null
set -o pipefail
source /etc/mosdns/lib.sh
TMPDIR=$(mktemp -d) || exit 1
getdat geosite_cn.txt
getdat geosite_no_cn.txt
getdat geoip_cn.txt
if [ "$(grep -o cn "$TMPDIR"/geosite_cn.txt | wc -l)" -lt 100 ]; then
rm -rf "$TMPDIR"/geosite_cn.txt
fi
if [ "$(grep -o google "$TMPDIR"/geosite_no_cn.txt | wc -l)" -eq 0 ]; then
rm -rf "$TMPDIR"/geosite_no_cn.txt
fi
cp -rf "$TMPDIR"/* /etc/mosdns/rule
rm -rf "$TMPDIR"
syncconfig=$(uci -q get mosdns.mosdns.syncconfig)
if [ "$syncconfig" -eq 1 ]; then
TMPDIR=$(mktemp -d) || exit 2
getdat def_config_v5.yaml
if [ "$(grep -o plugin "$TMPDIR"/def_config_v5.yaml | wc -l)" -eq 0 ]; then
rm -rf "$TMPDIR"/def_config_v5.yaml
else
mv "$TMPDIR"/def_config_v5.yaml "$TMPDIR"/def_config_orig.yaml
fi
cp -rf "$TMPDIR"/* /etc/mosdns
rm -rf "$TMPDIR"
fi
adblock=$(uci -q get mosdns.mosdns.adblock)
if [ "$adblock" -eq 1 ]; then
TMPDIR=$(mktemp -d) || exit 3
getdat serverlist.txt
if [ "$(grep -o .com "$TMPDIR"/serverlist.txt | wc -l)" -lt 1000 ]; then
rm -rf "$TMPDIR"/serverlist.txt
fi
cp -rf "$TMPDIR"/* /etc/mosdns/rule
rm -rf /etc/mosdns/rule/serverlist.bak "$TMPDIR"
fi
exit 0