Compare commits

..

No commits in common. "dc38b1a3764030d5f8a02db46abeb7446cc4c7b0" and "637c4a1b81b621aa4d0a5e3869d946e1371495f3" have entirely different histories.

2 changed files with 17 additions and 12 deletions

View file

@ -1,4 +1,5 @@
#!/usr/bin/perl
# vi: et sts=4 sw=4 ts=4
###############################################################################
# You Don't Need Pi-hole
@ -116,7 +117,7 @@ MAIN: {
} @block_ip;
} sort keys %domains;
printf STDERR "%d domains written to %s from\n", $written, $out // 'STDOUT';
printf STDERR "%d domains written to %s from\n", $written, $out;
printf STDERR " - %d .domains files\n", (scalar @domain_lists);
printf STDERR " - %d .hosts files\n", (scalar @hosts_lists);
printf STDERR "(%d duplicates)\n", $dupes if $dupes;

View file

@ -1,4 +1,5 @@
#!/bin/bash
# vi: et sts=4 sw=4 ts=4
###############################################################################
# You Don't Need Pi-hole
@ -13,17 +14,20 @@
# You may NOT use this software for commercial purposes.
###############################################################################
set -e
WORKDIR=${0%/*}
CFG=$WORKDIR/update.cfg
# Config defaults
BACKUPSUFFIX=
BLOCKLIST=$WORKDIR/block.list
LIST_DIR=$WORKDIR/lists
OUT=()
URL=()
DNSMASQ_RESTART_COMMAND=()
if [[ -f $CFG ]]; then
. "$CFG" || exit
. "$CFG"
fi
TEMP_DIR=$(mktemp -d -t "${0##*/}.XXXXXX")
@ -34,9 +38,9 @@ trap 'cleanup' EXIT
copy_perms() {
local -r FROM=$1 TO=$2
chmod --reference="$FROM" -- "$TO" || exit
chmod --reference="$FROM" -- "$TO"
if [[ $UID -eq 0 ]]; then
chown --reference="$FROM" -- "$TO" || exit
chown --reference="$FROM" -- "$TO"
fi
}
@ -47,12 +51,12 @@ replace_with() {
if [[ -f $ORIG ]]; then
copy_perms "$ORIG" "$NEW"
if [[ -n $BACKUPSUFFIX ]]; then
mv -- "$ORIG" "$ORIG$BACKUPSUFFIX" || exit
mv -- "$ORIG" "$ORIG$BACKUPSUFFIX"
fi
else
mkdir -p -- "${ORIG%/*}" || exit
mkdir -p -- "${ORIG%/*}"
fi
mv -- "$NEW" "$ORIG" || exit
mv -- "$NEW" "$ORIG"
else
printf 'File "%s" not modified\n' \
"$ORIG" \
@ -63,7 +67,7 @@ replace_with() {
(cd "$WORKDIR" &&
git submodule update --init 'repos-noupdates/*' &&
git submodule update --init --remote 'repos/*'
) || exit
)
for (( I = 0 ; I < ${#OUT[@]} ; ++I )); do
MY_URL=${URL[$I]}
@ -81,13 +85,13 @@ for (( I = 0 ; I < ${#OUT[@]} ; ++I )); do
wget \
-O "$TEMP_OUT" \
"$MY_URL" || exit
"$MY_URL"
replace_with "$MY_OUT" "$TEMP_OUT"
done
TEMP_BLOCKLIST=$(mktemp -p "$TEMP_DIR")
"$WORKDIR/make-block.pl" --out="$TEMP_BLOCKLIST" || exit
"$WORKDIR/make-block.pl" --out="$TEMP_BLOCKLIST"
# Blocklist generation succeeded, install it!
@ -99,11 +103,11 @@ if [[ ! -e $BLOCKLIST ]]; then
# whatever file permissions 'mktemp' sets.
umask 0022
touch -- "$BLOCKLIST"
) || exit
)
fi
replace_with "$BLOCKLIST" "$TEMP_BLOCKLIST"
if [[ ${#DNSMASQ_RESTART_COMMAND[@]} -gt 0 ]]; then
"${DNSMASQ_RESTART_COMMAND[@]}" || exit
"${DNSMASQ_RESTART_COMMAND[@]}"
fi