#!/bin/sh set -e 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 rm -fr "${CACHE_DOMAINS_DIR}" echo "ERROR: Could not retrieve ${CACHE_DOMAINS_SRC}" exit 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} " ;; esac