This dart library is capable of searching ip addresses in MAXMINDs mmdb databases.
As its main use case, this library can be used to get the geo location of an IP address by using the GeoLite2 Database.
dart pub global activate maxminddb
maxminddb search 1.2.3.4
- Usage documentation:
maxminddb -h
- Initialize the database:
var database = await MaxMindDatabase.memory( File('GeoLite2-City.mmdb').readAsBytesSync()); // OR var database = await MaxMindDatabase.file(File('GeoLite2-City.mmdb'));
- Search the database:
print(await database.search('8.8.8.8'));
The result might vary depending on the database you are using.
The database can either be loaded in memory or queried from a file system. Depending on the compute power and disk speed, loading the database in memory should be roughly 20 times faster.
The library can be benchmarked using the benchmark example.