Skip to content

Conversation

@phillip-stephens
Copy link
Contributor

@phillip-stephens phillip-stephens commented Sep 29, 2025

This PR adds support for IPInfo.io data annotation using their .mmdb file downloads

Details on the various tiers of IPInfo.io access

Examples

Lite

echo "1.0.0.1" | ./zannotate --ipinfo --ipinfo-database=./data-snapshots/ipinfo_lite.mmdb                                                                                                                                                                                                                               
{"ip":"1.0.0.1","ipinfo":{"country":"Australia","country_code":"AU","continent":"Oceania","continent_code":"OC","asn":"AS13335","as_name":"Cloudflare, Inc.","as_domain":"cloudflare.com"}}

Core

echo "1.0.0.1" | ./zannotate --ipinfo --ipinfo-database=./data-snapshots/ipinfo_core_sample.mmdb                                                                                                                                                                                                                        
{"ip":"1.0.0.1","ipinfo":{"city":"Brisbane","region":"Queensland","region_code":"QLD","country":"Australia","country_code":"AU","continent":"Oceania","continent_code":"OC","latitude":-27.48159,"longitude":153.0175,"timezone":"Australia/Brisbane","postal_code":"4101","asn":"AS13335","as_name":"Cloudflare, Inc.","as_domain":"cloudflare.com","as_type":"hosting","is_anonymous":true,"is_anycast":true,"is_hosting":true,"is_mobile":false,"is_satellite":false}}

Plus

echo "1.0.0.1" | ./zannotate --ipinfo --ipinfo-database=./data-snapshots/ipinfo_plus_sample.mmdb                                                                                                                                                                                                                        
{"ipinfo":{"city":"Brisbane","region":"Queensland","region_code":"QLD","country":"Australia","country_code":"AU","continent":"Oceania","continent_code":"OC","latitude":-27.48159,"longitude":153.0175,"timezone":"Australia/Brisbane","postal_code":"4101","geoname_id":2174003,"radius":200,"geo_changed":"2024-02-18","asn":"AS13335","as_name":"Cloudflare, Inc.","as_domain":"cloudflare.com","as_type":"hosting","as_changed":"2025-09-28","is_proxy":false,"is_relay":false,"is_tor":false,"is_vpn":true,"is_anonymous":true,"is_anycast":true,"is_hosting":true,"is_mobile":false,"is_satellite":false},"ip":"1.0.0.1"}

Testing

Using a Lite tier mmdb download, as well as truncated Core and Plus DB's from IPInfo, I tested this and added integration tests.

Thanks @abdullahdevrel for being so helpful with providing details/examples for the paid tiers of IPInfo.io!

Associated Issues

Resolves #31

@phillip-stephens phillip-stephens marked this pull request as ready for review October 1, 2025 21:53
@phillip-stephens
Copy link
Contributor Author

Going to wait, sent an email the IPInfo DevRel who reached out on the issue (#31 ) and test with Core/Plus datasets

@abdullahdevrel
Copy link

Thank you @phillip-stephens. I am sharing the information here as well as a reference:

Please kindly check them out here:

Ping me anytime!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add ipinfo enrichment

4 participants