#!/bin/bash # copy pasted from https://github.com/dMopp/pihole5-adlist-update-cron #####CHANGE STUFF HERE PIHOLE_DIR="/etc/pihole" ADLIST_URL="https://v.firebog.net/hosts/lists.php?type=nocross" CLEAN_ADLISTS_BEFORE_UPDATE=false #####DO NOT CHANGE #####Variables DATE=$(date '+%Y-%m-%d') ADLIST="${PIHOLE_DIR}/adlists.list" FLUSH_SQL="${PIHOLE_DIR}/FLUSH.sql" IMPORT_SQL="${PIHOLE_DIR}/IMPORT.sql" GRAVITY_DB="${PIHOLE_DIR}/gravity.db" #####Fetch Files echo "Downloading Adlist(s)" wget -O ${ADLIST} ${ADLIST_URL} #####GENERATE SQL echo "Generating SQL files..." cat <<EOF > ${FLUSH_SQL} DELETE FROM adlist; EOF cat <<EOF > ${IMPORT_SQL} CREATE TEMP TABLE i(txt); .separator ~ .import ${ADLIST} i INSERT OR IGNORE INTO adlist (address) SELECT txt FROM i; DROP TABLE i; EOF #####CLEANUP DB (if selected) if ${CLEAN_ADLISTS_BEFORE_UPDATE}; then echo "Cleanup DB..." sqlite3 ${GRAVITY_DB} < ${FLUSH_SQL} fi #####IMPORT FILE to DB echo "Import Adlist(s)..." sqlite3 ${GRAVITY_DB} < ${IMPORT_SQL} pihole -g ###CLEANUP echo "Cleaning up..." rm ${ADLIST} rm ${FLUSH_SQL} rm ${IMPORT_SQL}