46 lines
1.2 KiB
Bash
Executable File
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
|