Skip to content

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

License

Notifications You must be signed in to change notification settings

nathan818fr/node-libmaxminddb

Repository files navigation

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 npm run test:

npm ci
npm run 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.

About

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

Resources

License

Stars

Watchers

Forks