Description
Context
I am the DevRel of IPinfo.io, and we really appreciate the support the library has for our API.
We are hoping to do a PR for integrating IPinfo's free IP databases for the project. We are hoping to write the integration code to support our free IP to Country ASN database.
Features of the database:
- Daily updates, full accuracy and no range aggregation
- IPv4 and IPv6 information from the same database
- Supported file format: CSV, MMDB, and JSON
- Licensed under CC-BY-SA 4.0
FIELD NAME | EXAMPLE | DATA TYPE | DESCRIPTION |
---|---|---|---|
start_ip | 1.0.16.0 | TEXT | Starting IP address of an IP address range |
end_ip | 1.0.31.255 | TEXT | Ending IP address of an IP address range |
country | JP | TEXT | ISO 3166 country code of the location |
country_name | Japan | TEXT | Name of the country |
continent | AS | TEXT | Continent code of the country |
continent_name | Asia | TEXT | Name of the continent |
asn | AS2519 | TEXT | Autonomous System Number |
as_name | ARTERIA Networks Corporation | TEXT | Name of the AS (Autonomous System) organization |
as_domain | arteria-net.com | TEXT | Official domain or website of the AS organization |
Users can download the database using their free account access token. The download URL is:
curl -L https://ipinfo.io/data/free/country_asn.mmdb?token=<ACCESS_TOKEN> -o country_asn.mmdb
The MMDB reader library facilitates only IP address lookups and no reverse IP lookups or information searches.
Review
We would appreciate a review from the maintainer(s) before we start coding. We are hoping to implement the feature set described here: https://github.com/alexreisner/geocoder/blob/master/README_API_GUIDE.md#geolite2-geoip2
The features I am seeing at this moment are:
- Pre-downloading the database and linking the file path
- We have rate limits for data downloads. Users might also want to implement some sort of cronjob outside the project to refresh the data. Automatic download sounds nice but I am not sure about the implementation side. If you have any feedback please let us know.
- Installing the maxminddb. The contribution guideline states: "Do not add dependencies on other gems". So, users must install the MMDB reader library before they get started.
If you have any feedback that will be greatly appreciated.