From 976e808d75313a96f763a61b64ffcc4a2c6c840a Mon Sep 17 00:00:00 2001 From: seriousm4x Date: Fri, 22 Dec 2023 09:30:39 +0100 Subject: [PATCH] feat: add ping privileged env UPSNAP_PING_PRIVILEGED #207 --- backend/networking/ping.go | 8 +++++++- docker-compose.yml | 1 + 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/backend/networking/ping.go b/backend/networking/ping.go index 09c7f2bf..829a32a6 100644 --- a/backend/networking/ping.go +++ b/backend/networking/ping.go @@ -2,8 +2,10 @@ package networking import ( "net" + "os" "os/exec" "runtime" + "strconv" "time" "github.com/pocketbase/pocketbase/models" @@ -21,7 +23,11 @@ func PingDevice(device *models.Record) bool { } pinger.Count = 1 pinger.Timeout = 500 * time.Millisecond - pinger.SetPrivileged(true) + privileged, err := strconv.ParseBool(os.Getenv("UPSNAP_PING_PRIVILEGED")) + if err != nil { + privileged = true + } + pinger.SetPrivileged(privileged) err = pinger.Run() if err != nil { logger.Error.Println(err) diff --git a/docker-compose.yml b/docker-compose.yml index aa7fe0d5..d710ab73 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -14,6 +14,7 @@ services: # - UPSNAP_INTERVAL=@every 10s # Sets the interval in which the devices are pinged # - UPSNAP_SCAN_RANGE=192.168.1.0/24 # Scan range is used for device discovery on local network # - UPSNAP_SCAN_TIMEOUT=500ms # Scan timeout is nmap's --host-timeout value to wait for devices (https://nmap.org/book/man-performance.html) + # - UPSNAP_PING_PRIVILEGED=true # Set to false if you don't have root user permissions # - UPSNAP_WEBSITE_TITLE=Custom name # Custom website title # # dns is used for name resolution during network scan # dns: