Prints your public IP address to stdout by querying a specified STUN server.
Useful for finding your public IP when behind a NAT or firewall. Uses an open standard that's faster and arguably safer than querying some rando's "what is my ip" website.
$ git clone firstname.lastname@example.org:nickbp/iplookup $ cd iplookup $ cargo build --release $ ./target/release/iplookup stun.l.google.com:19302 123.456.789.123
iplookup requires Rust 1.39.0 or later.
- To simplify scripting, the only thing written to stdout is the resulting public IP. Anything else goes to stderr.
- Automatic retries with exponential backoff, waiting a maximum of 31s for a response.
- Prints additional information about the request and response if the
DEBUGenvironment variable is non-empty.
This project is licensed under GPL 3 or any later version.