๐ A very "simple" web server that returns your IP address in plaintext...and literally nothing else.
MIT License
โก Now powered purely by Cloudflare Workers, making it blazing fast from anywhere in the world โ and even simpler! Try this code on the playground.
A very, very "simple" and lightning-fast web server that returns the requester's IP address in plaintext...and literally nothing else. Perfect for CLI usage via curl
, wget
, httpie
, etc. or for automated tasks like dynamic DNS updates.
The server returns your IPv6 address by default, but you can explicitly choose between IPv4 and IPv6 with curl
flags:
curl simpip.com # returns IPv6 *OR* IPv4
curl -4 simpip.com # returns IPv4
curl -6 simpip.com # returns IPv6, or fails to connect if network is incompatible
In my terminal's dotfiles, I have three aliases:ip4
and ip6
which are self-explanatory, and ip
which returns both addresses iff your network supports IPv6; otherwise, IPv6 sliently fails and only your IPv4 address is shown.
alias ip4="curl -4 simpip.com --max-time 1 --proto-default https --silent"
alias ip6="curl -6 simpip.com --max-time 1 --proto-default https --silent"
alias ip="ip4; ip6"
Timeout is set to 1 second with --max-time 1
(otherwise we will get stuck indefinitely attempting to connect via IPv6 even if our network doesn't support it) and a secure connection preference is set with --proto-default https
. Connection errors (particularly for IPv6) are silenced with --silent
so that the output of ip
contains nothing but IP addresses, like so:
jake@macbook:~$ ip4
1.1.1.1
jake@macbook:~$ ip6
2606:4700:4700::1111
jake@macbook:~$ ip
1.1.1.1
2606:4700:4700::1111
MIT