# ipapi

IP API is a simple IP information REST api designed for self-hosting.

On initial startup, it fetches:

* https://git.io/GeoLite2-ASN.mmdb
* https://git.io/GeoLite2-City.mmdb
* https://git.io/GeoLite2-Country.mmdb

It then provides a simple REST api at:

http://example.com:8080/api/<ip>

It supports IPv4 and IPv6.

It has a state file at /var/lib/ipapi/daemon.json that keeps track of the
last download times of the databases, and it replaces them if they are older
than 1 week (or, of course, if they are missing).

# Usage


```bash
curl https://ipapi.example.com/api/8.8.8.8
```

# Libraries

* go stdlib log/slog
* cobra cli
* uber/fx DI
* go-chi/chi router
