What is my IP address?

172.19.0.107

Multiple command line HTTP clients are supported, including curl, httpie, GNU Wget and fetch.

CLI examples

$ curl www.butt.works
172.19.0.107

$ http -b www.butt.works
172.19.0.107

$ wget -qO- www.butt.works
172.19.0.107

$ fetch -qo- https://www.butt.works
172.19.0.107

$ bat -print=b www.butt.works/ip
172.19.0.107

JSON output

$ http www.butt.works/json
{
  "ip": "172.19.0.107",
  "ip_decimal": 2886926443,
  "country_eu": false,
  "hostname": "web01.kc.linuxrocker.com"
}

Setting the Accept: application/json header also works as expected.

Plain output

Always returns the IP address including a trailing newline, regardless of user agent.

$ http www.butt.works/ip
172.19.0.107

Port testing

$ http www.butt.works/port/8080
{
  "ip": "172.19.0.107",
  "port": 8080,
  "reachable": false
}

FAQ

How do I force IPv4 or IPv6 lookup?

As of 2018-07-25 it's no longer possible to force protocol using the v4 and v6 subdomains. IPv4 or IPv6 still can be forced by passing the appropiate flag to your client, e.g curl -4 or curl -6.