From f45248df805c426f9d9e654c0f71eb1fd8b795e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20K=C3=B6nig?= Date: Tue, 28 Dec 2021 13:39:45 +0100 Subject: [PATCH] Use FTL's new dns-port API endpoint MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Christian König --- pihole | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/pihole b/pihole index 5b062267..d9f8b5fa 100755 --- a/pihole +++ b/pihole @@ -312,7 +312,7 @@ analyze_ports() { } statusFunc() { - # Determine if there is pihole-FTL service is listening on any UDP port + # Determine if there is pihole-FTL service is listening local listening pid port pid="$(getFTLPID)" @@ -323,21 +323,22 @@ statusFunc() { esac return 0 else - #get the port pihole-FTL is listening on - port="$(lsof -Pni UDP -p ${pid} -a | grep -m1 : | awk -F ":" '{print $2}')" + #get the port pihole-FTL is listening on by using FTL's telnet API + port="$(echo ">dns-port >quit" | nc 127.0.0.1 4711)" listening="$(lsof -Pni:53)" - if [[ ! -z "$port" ]]; then - if [[ "${1}" != "web" ]] && [[ "$port" -eq 53 ]]; then - analyze_ports "${listening}" - fi - else + if [[ "${port}" == "0" ]]; then case "${1}" in "web") echo "-1";; *) echo -e " ${CROSS} DNS service is NOT listening";; esac return 0 + else + if [[ "${1}" != "web" ]] && [[ "$port" -eq 53 ]]; then + analyze_ports "${listening}" + fi fi fi + # Determine if Pi-hole's blocking is enabled if grep -q "BLOCKING_ENABLED=false" /etc/pihole/setupVars.conf; then # A config is commented out @@ -361,7 +362,6 @@ statusFunc() { "${PI_HOLE_BIN_DIR}"/pihole enable fi - fi } tailFunc() {