Skip to content

Commit

Permalink
Fix wildcard domains in dnsmasq script (uklans#143)
Browse files Browse the repository at this point in the history
While uklans#140 added support for round-robin DNS the script needs a slight modification to ensure that wildcard domains are still added with the old method due to dnsmasq limitations.
This change will include all wildcard domains in the generated `lancache.conf` along with all the `addn-hosts=` entries.
  • Loading branch information
nightah authored Oct 22, 2020
1 parent 354615d commit b4431bc
Showing 1 changed file with 17 additions and 1 deletion.
18 changes: 17 additions & 1 deletion scripts/create-dnsmasq.sh
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,25 @@ while read -r entry; do
while read -r fileid; do
while read -r filename; do
destfilename=$(echo $filename | sed -e 's/txt/hosts/')
lancacheconf=${outputdir}/lancache.conf
outputfile=${outputdir}/${destfilename}
echo "addn-hosts=/etc/dnsmasq.d/${destfilename}" >> ${outputdir}/lancache.conf
echo "addn-hosts=/etc/dnsmasq.d/${destfilename}" >> ${lancacheconf}
touch "$outputfile"
# Wildcard entries
while read -r fileentry; do
# Ignore comments
if [[ $fileentry == \#* ]]; then
continue
fi
wildcard=$(echo $fileentry | grep "*." | sed -e "s/^\*\.//")
if grep -q "$wildcard" "$lancacheconf"; then
continue
fi
for i in ${cacheip}; do
echo "address=/${wildcard}/${i}" >> "$lancacheconf"
done
done <<< $(cat ${basedir}/$filename);
# All other entries
while read -r fileentry; do
# Ignore comments
if [[ $fileentry == \#* ]]; then
Expand Down

0 comments on commit b4431bc

Please sign in to comment.