libmaxminddb

Node.js bindings for libmaxminddb (to read MaxMind DB with the best performance - using memory-mapped file!)

Usage no npm install needed!

<script type="module">
  import libmaxminddb from 'https://cdn.skypack.dev/libmaxminddb';
</script>

README

libmaxminddb

npm version TypeScript Test Status

Node.js bindings for libmaxminddb.
To read MaxMind Databases with the best performance (using memory-mapped files)!

This module provides its own TypeScript declarations (.d.ts).

Installation

npm install libmaxminddb

This package uses the native library libmaxminddb. If you have a common system then a prebuilt version will be used.
Otherwise look at the advanced libmaxminddb installation instructions.

Examples

const {MmdbReader} = require('libmaxminddb');

MmdbReader.open({filename: 'GeoIP2-Country-Test.mmdb'}).then(async (mmdb) => {
    const {netmask, entry} = await mmdb.lookup('50.114.1.1');
    console.log(entry);
});

For a more detailed example look at demo.js (or demo.ts for TypeScript).

Documentation

For a detailed API reference, see: node-libmaxminddb.nathan818.fr

Testing

To run the test suite, you first need to clone the submodules.

git submodule init
git submodule update --recursive

Then install the dependencies and run yarn test:

yarn install
yarn test

Contributing

Contributions are welcome. It is recommended to open an issue before introducing new features to discuss them.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Authors

License

This project is licensed under the Apache-2.0 License. See the LICENSE file for details.