diff --git a/gravity.sh b/gravity.sh index 204b0945..67223b06 100755 --- a/gravity.sh +++ b/gravity.sh @@ -204,26 +204,31 @@ gravity_unique() { } gravity_hostFormat() { - # Format domain list as "192.168.x.x domain.com" - echo "::: Formatting domains into a HOSTS file..." - if [[ -f /etc/hostname ]]; then - hostname=$(> ${piholeDir}/${accretionDisc} - cat ${piholeDir}/${eventHorizon} | awk -v ipv6addr="${IPv6_address}" '{sub(/\r$/,""); print ipv6addr" "$0}' >> ${piholeDir}/${accretionDisc} - fi - if [[ -n "${IPv4_address}" ]] ; then - echo -e "${IPv4_address} $hostname\n${IPv4_address} pi.hole" >> ${piholeDir}/${accretionDisc} - cat ${piholeDir}/${eventHorizon} | awk -v ipv4addr="${IPv4_address}" '{sub(/\r$/,""); print ipv4addr" "$0}' >> ${piholeDir}/${accretionDisc} - fi - # Copy the file over as /etc/pihole/gravity.list so dnsmasq can use it - cp ${piholeDir}/${accretionDisc} ${adList} + # Format domain list as "192.168.x.x domain.com" + echo "::: Formatting domains into a HOSTS file..." + if [[ -f /etc/hostname ]]; then + hostname=$( ${piholeDir}/${accretionDisc} + cat ${piholeDir}/${eventHorizon} | awk -v ipv4addr="$IPv4_address" -v ipv6addr="$IPv6_address" '{sub(/\r$/,""); print ipv4addr" "$0"\n"ipv6addr" "$0}' >> ${piholeDir}/${accretionDi$ + elif [[ -n "${IPv4_address}" && -z "${IPv6_address}" ]];then + # Only IPv4 + echo -e "$IPv4addr $hostname\n$IPv4addr pi.hole" > ${piholeDir}/${accretionDisc} + cat ${piholeDir}/${eventHorizon} | awk -v ipv4addr="$IPv4_address" '{sub(/\r$/,""); print ipv4addr" "$0}' >> ${piholeDir}/${accretionDisc} + elif [[ -z "${IPv4_address}" && -n "${IPv6_address}" ]];then + # Only IPv6 + echo -e "$IPv6_address $hostname\n$IPv6_address pi.hole" > ${piholeDir}/${accretionDisc} + cat ${piholeDir}/${eventHorizon} | awk -v ipv6addr="$IPv6_address" '{sub(/\r$/,""); print ipv6addr" "$0}' >> ${piholeDir}/${accretionDisc} + fi # Copy the file over as /etc/pihole/gravity.list so dnsmasq can use it + cp ${piholeDir}/${accretionDisc} ${adList} } # blackbody - remove any remnant files from script processes