Skip to content
/ pingu Public

Ping multiple IPv4 addresses using HTTP requests.

License

Notifications You must be signed in to change notification settings

midse/pingu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pingu

Ping multiple IPv4 addresses using HTTP requests.

Configuration

Variable Required Default Description
PINGU_ADDRESS No 0.0.0.0:8080 Listen address & port
PINGU_USER No pingu Username used for basic auth
PINGU_PASSWORD Yes - Password used for basic auth
PINGU_PRIVILEGED No true Privileged mode uses raw sockets on Linux (more details)

If you want to run Pingu with a normal user (not root), you will need to allow it to bind to raw sockets :

setcap cap_net_raw=+ep /path/to/pingu

Run Pingu

PINGU_PASSWORD="your_strong_password" ./pingu

Interact with Pingu

Simple request

curl -u user:password -d '{"addresses": ["127.0.0.1", "8.8.8.8", "1.1.1.1"]}' http://127.0.0.1:8080/ping

{
  "addresses": [
    {
      "address": "127.0.0.1",
      "status": true
    },
    {
      "address": "8.8.8.8",
      "status": true
    },
    {
      "address": "1.1.1.1",
      "status": true
    }
  ]
}

Customize ping parameters

Parameter Default Constraints
addresses - Max 10 IPv4 addresses
count 1 min=1 max=10
ttl 128 min=1 max=128
timeout 1000 Milliseconds. min=1 max=10000
interval 1000 Milliseconds. min=1 max=10000
curl -u user:password -d '{"addresses": ["127.0.0.1"], "count": 5, "ttl": 128, "interval": 5000, "timeout": 5000}' http://127.0.0.1:8080/ping