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.

Usage in command line:

  • dart pub global activate maxminddb
  • maxminddb search
  • Usage documentation: maxminddb -h

Usage in a dart program:

  1. Initialize the database:
    var database = await MaxMindDatabase.memory(
    // OR
    var database = await MaxMindDatabase.file(File('GeoLite2-City.mmdb'));
  2. Search the database:
    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.