Space/Tab wildcard_regex_converter.sh

Signed-off-by: Dan Schaper <dan.schaper@pi-hole.net>
This commit is contained in:
Dan Schaper 2018-07-20 14:00:34 -07:00
parent b54e32f0ca
commit c5091b0e49
No known key found for this signature in database
GPG key ID: B4FF14C01CC08DC0

View file

@ -13,16 +13,16 @@
wildcardFile="/etc/dnsmasq.d/03-pihole-wildcard.conf" wildcardFile="/etc/dnsmasq.d/03-pihole-wildcard.conf"
convert_wildcard_to_regex() { convert_wildcard_to_regex() {
if [ ! -f "${wildcardFile}" ]; then if [ ! -f "${wildcardFile}" ]; then
return return
fi fi
local addrlines domains uniquedomains local addrlines domains uniquedomains
# Obtain wildcard domains from old file # Obtain wildcard domains from old file
addrlines="$(grep -oE "/.*/" ${wildcardFile})" addrlines="$(grep -oE "/.*/" ${wildcardFile})"
# Strip "/" from domain names and convert "." to regex-compatible "\." # Strip "/" from domain names and convert "." to regex-compatible "\."
domains="$(sed 's/\///g;s/\./\\./g' <<< "${addrlines}")" domains="$(sed 's/\///g;s/\./\\./g' <<< "${addrlines}")"
# Remove repeated domains (may have been inserted two times due to A and AAAA blocking) # Remove repeated domains (may have been inserted two times due to A and AAAA blocking)
uniquedomains="$(uniq <<< "${domains}")" uniquedomains="$(uniq <<< "${domains}")"
# Automatically generate regex filters and remove old wildcards file # Automatically generate regex filters and remove old wildcards file
awk '{print "((^)|(\\.))"$0"$"}' <<< "${uniquedomains}" >> "${regexFile:?}" && rm "${wildcardFile}" awk '{print "((^)|(\\.))"$0"$"}' <<< "${uniquedomains}" >> "${regexFile:?}" && rm "${wildcardFile}"
} }