mirror of
				https://github.com/mpolden/echoip.git
				synced 2025-10-31 00:48:10 +01:00 
			
		
		
		
	
		
			
				
	
	
	
		
			2.5 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	
			2.5 KiB
		
	
	
	
	
	
	
	
ipd
A simple service for looking up your IP address. This is the code that powers https://ifconfig.co
Usage
Just the business, please:
$ curl ifconfig.co
127.0.0.1
$ http ifconfig.co
127.0.0.1
$ wget -qO- ifconfig.co
127.0.0.1
$ fetch -qo- http://ifconfig.co
127.0.0.1
$ bat -print=b ifconfig.co/ip
127.0.0.1
Country and city lookup:
$ http ifconfig.co/country
Elbonia
$ http ifconfig.co/country-iso
EB
$ http ifconfig.co/city
Bornyasherk
As JSON:
$ http --json ifconfig.co
{
  "city": "Bornyasherk",
  "country": "Elbonia",
  "country_iso": "EB",
  "ip": "127.0.0.1",
  "ip_decimal": 2130706433
}
Pass the appropriate flag (usually -4 and -6) to your tool to switch between
IPv4 and IPv6 lookup.
The subdomains https://v4.ifconfig.co and https://v6.ifconfig.co can be used to force IPv4 or IPv6 lookup.
Features
- Easy to remember domain name
- Supports IPv4 and IPv6
- Supports HTTPS
- Open source under the BSD 3-Clause license
- Fast
- Supports typical CLI tools (curl,httpie,wgetandfetch)
- JSON output (optional)
- Country and city lookup through the MaxMind GeoIP database
Why?
- To scratch an itch
- An excuse to use Go for something
- Faster than ifconfig.me and has IPv6 support
Building
Compiling requires the Golang compiler to be installed.
This application can be installed by using go get:
go get github.com/mpolden/ipd
For more information on building a Go project, see the official Go documentation.
Usage
$ ipd -h
Usage:
  ipd [OPTIONS]
Application Options:
  -f, --country-db=FILE                                  Path to GeoIP country database
  -c, --city-db=FILE                                     Path to GeoIP city database
  -l, --listen=ADDR                                      Listening address (default: :8080)
  -r, --reverse-lookup                                   Perform reverse hostname lookups
  -p, --port-lookup                                      Enable port lookup
  -t, --template=FILE                                    Path to template (default: index.html)
  -H, --trusted-header=NAME                              Header to trust for remote IP, if present (e.g. X-Real-IP)
  -L, --log-level=[debug|info|warn|error|fatal|panic]    Log level to use (default: info)
Help Options:
  -h, --help                                             Show this help message