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).
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.
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).
For a detailed API reference, see: node-libmaxminddb.nathan818.fr
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
Contributions are welcome. It is recommended to open an issue before introducing new features to discuss them.
We use SemVer for versioning. For the versions available, see the tags on this repository.
This project is licensed under the Apache-2.0 License. See the LICENSE file for details.