Pinggy API
Pinggy tunnels provide some handy APIs through its Web Debugger for programmatic access to tunnel URLs and other information.
To access these APIs, the Web Debugger needs to be enabled. Example:
ssh -p 443 -R0:localhost:8000 -L4300:localhost:4300 a.pinggy.io
Here, the port 4300
can be changed to any port where the Web Debugger will be listening.
Get the list of URLs / addresses
To get a list of tunnel URLs / addresses, simply send a GET request to http://localhost:4300/urls
curl http://localhost:4300/urls
Sample output:
{
"urls": [
"http://rnckk-2405-201-9018-a834-e551-ccf2-398f-130d.a.free.pinggy.link",
"https://rnckk-2405-201-9018-a834-e551-ccf2-398f-130d.a.free.pinggy.link"
]
}
This also works for TCP, TLS, TLSTCP, and UDP tunnels.
Get IP whitelist
Pinggy supports whitelisting IP addresses to allow access to the tunnel only from those addresses. Example:
ssh -p 443 -L4300:localhost:4300 -t -R0:localhost:8000 tcp@a.pinggy.io \"w:2205:213:9013:a835:e552:ccf2:398f:1234/128,56.3.51.0/24\"
To get the list of whitelisted IP addresses, simply send a GET request to http://localhost:4300/ipwhitelist
curl http://localhost:4300/ipwhitelist
Sample output:
[
"2205:213:9013:a835:e552:ccf2:398f:1234/128",
"56.3.51.0/24"
]
This also works for TCP, TLS, TLSTCP, and UDP tunnels.