1d34224416
Look, this will make the git history look funny, but trimming unnecessary depth from the source tree is a very necessary sanity-preserving measure when dealing with a super-modularized codebase like this one. While it makes the project configuration a bit less conventional, it will save you several clicks every time you jump between modules. Which you'll do a lot, because it's *modul*ar. The src/main/java convention makes a lot of sense for a non-modular project though. This ain't that. |
||
---|---|---|
.. | ||
java/nu/marginalia/geoip | ||
test/nu/marginalia/geoip | ||
build.gradle | ||
readme.md |
This micro library handles the GeoIP lookups, mappings from IP addresses to country codes.
It uses the free ip2location lite database, which is available from https://lite.ip2location.com/database/ip-country under a CC-BY-SA 4.0 license.
It also handles mapping from IP to ASN (Autonomous System Number) using data from apnic.net.
Further reading: