openwrt-packages/utils/cache-domains/files/cache-domains

53 lines
1.0 KiB
Bash

#!/bin/sh
CACHE_DOMAINS_DIR="/var/cache-domains"
CACHE_DOMAINS_SRC="https://api.github.com/repos/uklans/cache-domains/tarball/master"
CONFIG_FILE="/etc/cache-domains.json"
configure() {
mkdir -p ${CACHE_DOMAINS_DIR}
rm -fr ${CACHE_DOMAINS_DIR}/*
if ! wget -qO - ${CACHE_DOMAINS_SRC} | tar -xzC ${CACHE_DOMAINS_DIR}; then
echo "ERROR: Could not retrieve ${CACHE_DOMAINS_SRC}"
return 1
fi
INITIAL_DIR="$(pwd)"
cd ${CACHE_DOMAINS_DIR}/*/scripts/
if [ ! -f ${CONFIG_FILE} ]; then
cp config.example.json ${CONFIG_FILE}
echo "Using example config file ${CONFIG_FILE}"
fi
cp ${CONFIG_FILE} config.json
./create-dnsmasq.sh
cp ./output/dnsmasq/* /var/dnsmasq.d/
cd ${INITIAL_DIR}
/etc/init.d/dnsmasq restart
}
cleanup() {
# leave dnsmasq in a clean state
for FILE in ${CACHE_DOMAINS_DIR}/*/scripts/output/dnsmasq/*; do
rm -f /tmp/dnsmasq.d/$(basename ${FILE})
done
/etc/init.d/dnsmasq restart
}
case ${1} in
config*)
configure
;;
clean*)
cleanup
;;
*)
echo "${0} <configure|cleanup>"
;;
esac