plausible / community-edition

Example Docker Compose setup for hosting Plausible Community Edition
1.45k stars 304 forks source link

[Feature Request] IPinfo IP to Country database for visitor location. #170

Open abdullahdevrel opened 1 month ago

abdullahdevrel commented 1 month ago

I am requesting to add support for IPinfo's IP to Country database to the project. The database has the following features:

Database schema

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

Documentation: https://ipinfo.io/developers/ip-to-country-database

The database can be downloaded simply by accessing the storage URI with an access token.

curl -L https://ipinfo.io/data/free/country.mmdb?token=<YOUR_TOKEN> -o country_asn.mmdb

Let me know what you think. Thanks!


Advantages over existing solutions:

ruslandoga commented 1 month ago

👋 @abdullahdevrel

I don’t think it would work since they don’t seem to provide geoname ids. Ah, it’s country-level only, no city data. I’ll explore making locus more configurable vie env vars tomorrow. Thank you for the suggestion!

abdullahdevrel commented 1 month ago

@ruslandoga

Thank you for considering the request. Ping me if you need any help or anything. I have been procrastinating making the request because I know city level data might be important for Plausible. But I discovered that GeoLite city returns null for a ton of IP ranges. Essentially, this makes even their city level data a country level data 😅

So, if you are using country level data, why not use the best from our database? We also have an IP to Country ISP (ASN) database for free as well. The promise is the same for it as well: high accuracy and zero compromise.