Maxmind reader
Purpose
Minimalist, efficient and performance focused module to read a maxmind database.
Basically it can read a maxmind db from S3 and store it into memory.
Compatibility
/!\ This module use async/await syntax, this is why you must have node 7.6+.
Supported and tested : >= 14
Version | Supported | Tested |
---|
18.x | yes | yes |
16.x | yes | yes |
14.x | yes | yes |
12.x | no | yes |
10.x | no | yes |
9.x | no | yes |
8.x | no | yes |
>= 7.6 | no | yes |
Installation
$ npm install @voodoo.io/maxmind-reader --save
Usage
Instantiation & init
const S3Tools = require('@voodoo.io/aws-utils').s3
const s3 = new aws.S3()
const s3Tools = new S3Tools(s3)
const Geoloc = require('@voodoo.io/maxmind-reader')
const geoloc = new Geoloc({
}, s3Tools)
await geoloc.init()
Basic usage
const isoCode = geoloc.getCountry('149.62.156.82')
Config
Property | description | Default value |
---|
S3_GEOLOC_KEY | '/path/to/GeoLite2-Country.mmdb' | empty |
S3_GEOLOC_BUCKET | Bucket's name | empty |
delay | Interval in ms between two reloading | 3600000 (1hour) |
enableScheduler | Enable the scheduler? | true |
Test
$ npm test
Coverage report can be found in coverage/.