# ifconfig.io

> Self-hosted, open-source what-is-my-IP service written in Go: curl endpoints return your IP, reverse DNS, port and headers as text, JSON or XML, built for raw speed.

- **Category:** Network Utilities
- **Licence:** MIT
- **Latest version:** 2024.10.05
- **Open source:** oss
- **Languages:** Go, HTML, Nix
- **Platforms:** Docker Compose
- **Tags:** Json Api, Go, Geoip, Ip address, Curl, Network diagnostics, Whatismyip, Ifconfig, Whatsmyip, Reverse DNS, Echo Service, HTTP Headers

## Description

ifconfig.io is a small Go web service that reports connection details back to whoever asks, in the spirit of ifconfig.me but tuned for throughput — the README claims a single server handles 18,000 requests per second while using about 50 MB of RAM. A browser page shows your IP address, remote host, country code, user agent, source port, language, referer, method, encoding, MIME type and X-Forwarded-For, and plain cURL endpoints such as /ip, /host, /country_code, /ua, /port, /lang, /encoding, /mime and /forwarded return each value as text, with /all available as XML, JSON or JavaScript. It is built on the gin framework to avoid per-request memory allocations. Self-hosting is a one-service Docker Compose file using the georgyo/ifconfig.io image; environment variables let you set the displayed hostname, listen port, proxy-protocol address, the request headers used to read the client IP and country code (Cloudflare's CF-Connecting-IP and CF-IPCountry by default), and optional TLS on a separate port. The published container image has not been refreshed in years, so building from source is the way to track changes.

## Links

- [Homepage](https://github.com/georgyo/ifconfig.io)
- [Website](https://ifconfig.io)
- [Docker](georgyo/ifconfig.io)

---
Source: https://selfhost.directory/project/ifconfigio