# mpolden/echoip

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/mpolden-echoip).**

4,324 stars · 560 forks · Go · BSD-3-Clause

## Links

- GitHub: https://github.com/mpolden/echoip
- Homepage: https://ifconfig.co
- awesome-repositories: https://awesome-repositories.com/repository/mpolden-echoip.md

## Topics

`geoip` `go` `ip-address-lookup` `ip-location` `ip-lookup`

## Description

echoip is a network utility and API for detecting public IPv4 and IPv6 addresses and retrieving associated metadata. It serves as a client IP detection tool and a geolocation API that maps incoming requests to physical locations and geographic metadata.

The project provides network identity analysis by resolving IP addresses to their corresponding autonomous system numbers and owning network organizations. It also includes a connectivity tester to verify if specific ports on a target remote host are open and reachable.

The system supports structured data export via JSON and plain text through content-type negotiation. Geolocation lookups include city, country, coordinates, and regional ISO codes derived from location databases.

## Tags

### Networking & Communication

- [Public IP Detectors](https://awesome-repositories.com/f/networking-communication/public-ip-detectors.md) — Detects the public IPv4 or IPv6 address of a client device through network requests.
- [Autonomous System Analysis](https://awesome-repositories.com/f/networking-communication/autonomous-system-analysis.md) — Analyzes the organization and autonomous system number responsible for a given IP address.
- [Client IP Identification](https://awesome-repositories.com/f/networking-communication/client-ip-identification.md) — Extracts the public IP address of the requesting client from network sockets or proxy headers.
- [ASN Ownership Mapping](https://awesome-repositories.com/f/networking-communication/network-addressing/asn-ownership-mapping.md) — Identifies the network organization and ownership of IP addresses by mapping them to Autonomous System Numbers.
- [Client IP Address Retrieval](https://awesome-repositories.com/f/networking-communication/network-addressing/ip-addressing-fundamentals/client-ip-address-retrieval.md) — Provides a network endpoint to identify the public IPv4 or IPv6 address of an incoming request.
- [Port-Based Connectivity Checks](https://awesome-repositories.com/f/networking-communication/network-device-discovery/port-based-connectivity-checks.md) — Verifies if a specific port on a remote host is open by attempting to establish a network connection.
- [Port Reachability Testing](https://awesome-repositories.com/f/networking-communication/port-reachability-testing.md) — Provides diagnostic capabilities to verify if specific network ports are open and reachable.

### Data & Databases

- [IP Geolocation](https://awesome-repositories.com/f/data-databases/geolocation-databases/ip-geolocation.md) — Maps IP addresses to physical locations and timezones using a geolocation database.

### System Administration & Monitoring

- [Network Connectivity Verifiers](https://awesome-repositories.com/f/system-administration-monitoring/network-connectivity-verifiers.md) — Verifies reachability of remote hosts and specific ports using TCP connections.

### Part of an Awesome List

- [Command Line Tools](https://awesome-repositories.com/f/awesome-lists/devtools/command-line-tools.md) — Listed in the “Command Line Tools” section of the The Book Of Secret Knowledge awesome list.
