cross-posted from: https://gekinzuku.com/post/98403
While it’s easy to get an IP address from popular websites such as whatismyip.com, it’s not often friendly to a context where you might need to get your IP address for command line tools.
In order to grab your IP address via the command line, there’s a page on a site called ipinfo.io/ip which only contains body content corresponding to your IP address. The easiest way to fetch that data is with the
curl
command (should be available on both Windows and Linux).curl ipinfo.io/ip
It may also be beneficial to add this to your
.bashrc
or.aliasrc
on Linux systems with something like
alias myip="curl ipinfo.io/ip"
Now you have an easy way to grab your IP address from the command line!
curl --silent https://myipv4.p1.opendns.com/get_my_ip | jq --raw-output '.ip' curl --silent https://eth0.me curl --silent https://ifconfig.me/ip curl --silent https://ipecho.net/plain curl --silent https://ipinfo.io/ip dig @resolver4.opendns.com myip.opendns.com +short
That last one is generally much faster than the rest.
Also, you can add
-w '\n'
to curl commands to make it add a newline.ip -6 addr
I like to be sworn at in json:
curl myip.wtf/json
curl ifconfig.io
works tooipify.org is yet another.
You can also use curl “https://eth0.me”
Nice! That’s a good short one as well, and I wasn’t aware of it before.
I accidentally found it while I was looking for something completely unrelated and it just stuck in my mind. 😹
% curl ipinfo.io/ip curl: (7) Failed to connect to ipinfo.io port 80 after 25 ms: Connection refused % curl https://ipinfo.io/ip curl: (7) Failed to connect to ipinfo.io port 443 after 29 ms: Connection refused
They suck and apparently block curl (and lynx and elinks) from dynamic IP, it works in Firefox or on a server with static IP.
Another one is ifconfig.me/ip so
curl https://ifconfig.me/ip
that works.
Oh I had no clue they block curl from a dynamic IP. That’s a good alternative to have!
Is ‘ifconfig -all’ no longer a thing?
If you’re connected to the internet via a local network such as a router or modem,
ifconfig
will give your local IP address, not your public IP address. Instead, the methods in this post and comments all discuss ways to get your public IP address. It usually requires contacting an external server that you trust and asking them “which IP address did I just contact you with?”Thank you for being kind in explaining that to me.
Another one: curlmyip.net
ip -c -br a
master race