Giter Site home page Giter Site logo

node-geoip2's People

Contributors

blimmer avatar czyzykowski avatar davidtsai avatar deadalready avatar pandrese avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

node-geoip2's Issues

JS Stack Trace

I'm hitting this issue. I think it's an issue with the .gyp stuff. Running on node 6.

(node) v8::ObjectTemplate::Set() with non-primitive values is deprecated
(node) and will stop working in the next major release.

==== JS stack trace =========================================

Security context: 0xffdfdec9fa9 <JS Object>#0#
    1: .node [module.js:568] [pc=0x29d0fa3f4604] (this=0x10a9db3ee9f9 <an Object with map 0x10929e2ae641>#1#,module=0x294c25c7f449 <a Module with map 0x10929e2181b9>#2#,filename=0x294c25c7f421 <String[64]: /XXX/node_modules/geoip2/lib/node_mmdb.node>)
    2: load [module.js:~447] [pc=0x29d0f9b260f6] (this=0x294c25c7f449 <a Module with map 0x10929e2181b9>#2#,filename=0x294c25c7f421 <String[64]: /XXX/node_modules/geoip2/lib/node_mmdb.node>)
    3: tryModuleLoad(aka tryModuleLoad) [module.js:415] [pc=0x29d0f9738edd] (this=0xffdfde04189 <undefined>,module=0x294c25c7f449 <a Module with map 0x10929e2181b9>#2#,filename=0x294c25c7f421 <String[64]: /XXX/node_modules/geoip2/lib/node_mmdb.node>)
    4: _load [module.js:~381] [pc=0x29d0f9f4bbad] (this=0x10a9db3eea79 <JS Function Module (SharedFunctionInfo 0x10a9db328801)>#3#,request=0x3453ce4b
==== C stack trace ===============================

 1: v8::Template::Set(v8::Local<v8::Name>, v8::Local<v8::Data>, v8::PropertyAttribute)
 2: init(v8::Local<v8::Object>)
 3: node::DLOpen(v8::FunctionCallbackInfo<v8::Value> const&)
 4: v8::internal::FunctionCallbackArguments::Call(void (*)(v8::FunctionCallbackInfo<v8::Value> const&))
 5: v8::internal::MaybeHandle<v8::internal::Object> v8::internal::(anonymous namespace)::HandleApiCallHelper<false>(v8::internal::Isolate*, v8::internal::(anonymous namespace)::BuiltinArguments<(v8::internal::BuiltinExtraArguments)1>)
 6: v8::internal::Builtin_HandleApiCall(int, v8::internal::Object**, v8::internal::Isolate*)
 7: 0x29d0f960961b
(node) v8::ObjectTemplate::Set() with non-primitive values is deprecated
(node) and will stop working in the next major release.

==== JS stack trace =========================================

Security context: 0xffdfdec9fa9 <JS Object>#0#
    1: .node [module.js:568] [pc=0x29d0fa3f4604] (this=0x10a9db3ee9f9 <an Object with map 0x10929e2ae641>#1#,module=0x294c25c7f449 <a Module with map 0x10929e2181b9>#2#,filename=0x294c25c7f421 <String[64]: /XXX/node_modules/geoip2/lib/node_mmdb.node>)
    2: load [module.js:~447] [pc=0x29d0f9b260f6] (this=0x294c25c7f449 <a Module with map 0x10929e2181b9>#2#,filename=0x294c25c7f421 <String[64]: /XXX/node_modules/geoip2/lib/node_mmdb.node>)
    3: tryModuleLoad(aka tryModuleLoad) [module.js:415] [pc=0x29d0f9738edd] (this=0xffdfde04189 <undefined>,module=0x294c25c7f449 <a Module with map 0x10929e2181b9>#2#,filename=0x294c25c7f421 <String[64]: /XXX/node_modules/geoip2/lib/node_mmdb.node>)
    4: _load [module.js:~381] [pc=0x29d0f9f4bbad] (this=0x10a9db3eea79 <JS Function Module (SharedFunctionInfo 0x10a9db328801)>#3#,request=0x3453ce4b 1: v8::Template::Set(v8::Local<v8::Name>, v8::Local<v8::Data>, v8::PropertyAttribute)
 2: init(v8::Local<v8::Object>)
 3: node::DLOpen(v8::FunctionCallbackInfo<v8::Value> const&)
 4: v8::internal::FunctionCallbackArguments::Call(void (*)(v8::FunctionCallbackInfo<v8::Value> const&))
 5: v8::internal::MaybeHandle<v8::internal::Object> v8::internal::(anonymous namespace)::HandleApiCallHelper<false>(v8::internal::Isolate*, v8::internal::(anonymous namespace)::BuiltinArguments<(v8::internal::BuiltinExtraArguments)1>)
 6: v8::internal::Builtin_HandleApiCall(int, v8::internal::Object**, v8::internal::Isolate*)
 7: 0x29d0f960961b

geoIp2 support for node v10.12.0

I recently upgraded the node version and the npm install fails with the following error

make: *** [Release/obj.target/node_mmdb/src/node_mmdb.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: make failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:262:23)
gyp ERR! stack at ChildProcess.emit (events.js:182:13)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:240:12)
gyp ERR! System Darwin 17.7.0
gyp ERR! command "/usr/local/Cellar/node/9.4.0/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd //geoip2
gyp ERR! node -v v10.12.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok

Cannot Install on Linux Mint (Ubuntu Trusty) 64bit

Hello!

First of all, thank you for developing this module. When I saw it, I was happy that it used Maxmind's C lib for faster lookups, and that it is supposed to use the commercial versions of the mmdb files!
But I tried several times to install (both as sudo and regular user) and it failed. A friend also tried to install on his local machine and it failed.
Here is the console output (this was for an occasion that I tried to install as sudo):

> [email protected] install /usr/local/lib/node_modules/node-geoip2
> node-gyp rebuild

make: Entering directory `/usr/local/lib/node_modules/node-geoip2/build'
  CC(target) Release/obj.target/libmaxminddb/deps/libmaxminddb/src/maxminddb.o
  AR(target) Release/obj.target/deps/maxminddb.a
  COPY Release/maxminddb.a
  CXX(target) Release/obj.target/node_mmdb/src/node_mmdb.o
In file included from ../src/node_mmdb.h:6:0,
                 from ../src/node_mmdb.cpp:2:
../node_modules/nan/nan.h:261:25: error: redefinition of ‘template<class T> v8::Local<T> _NanEnsureLocal(v8::Local<T>)’
 NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Local<T> val) {
                         ^
../node_modules/nan/nan.h:256:25: error: ‘template<class T> v8::Local<T> _NanEnsureLocal(v8::Handle<T>)’ previously declared here
 NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Handle<T> val) {
                         ^
../node_modules/nan/nan.h:661:13: error: ‘node::smalloc’ has not been declared
     , node::smalloc::FreeCallback callback
             ^
../node_modules/nan/nan.h:661:35: error: expected ‘,’ or ‘...’ before ‘callback’
     , node::smalloc::FreeCallback callback
                                   ^
../node_modules/nan/nan.h: In function ‘v8::Local<v8::Object> NanNewBufferHandle(char*, size_t, int)’:
../node_modules/nan/nan.h:665:50: error: ‘callback’ was not declared in this scope
         v8::Isolate::GetCurrent(), data, length, callback, hint);
                                                  ^
../node_modules/nan/nan.h:665:60: error: ‘hint’ was not declared in this scope
         v8::Isolate::GetCurrent(), data, length, callback, hint);
                                                            ^
../node_modules/nan/nan.h: In function ‘v8::Local<v8::Object> NanNewBufferHandle(const char*, uint32_t)’:
../node_modules/nan/nan.h:672:67: error: call of overloaded ‘New(v8::Isolate*, const char*&, uint32_t&)’ is ambiguous
     return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);
                                                                   ^
../node_modules/nan/nan.h:672:67: note: candidates are:
In file included from ../node_modules/nan/nan.h:25:0,
                 from ../src/node_mmdb.h:6,
                 from ../src/node_mmdb.cpp:2:
/home/yamir/.node-gyp/3.2.0/include/node/node_buffer.h:31:40: note: v8::MaybeLocal<v8::Object> node::Buffer::New(v8::Isolate*, v8::Handle<v8::String>, node::encoding) <near match>
 NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                        ^
/home/yamir/.node-gyp/3.2.0/include/node/node_buffer.h:31:40: note:   no known conversion for argument 3 from ‘uint32_t {aka unsigned int}’ to ‘node::encoding’
/home/yamir/.node-gyp/3.2.0/include/node/node_buffer.h:43:40: note: v8::MaybeLocal<v8::Object> node::Buffer::New(v8::Isolate*, char*, size_t) <near match>
 NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                        ^
/home/yamir/.node-gyp/3.2.0/include/node/node_buffer.h:43:40: note:   no known conversion for argument 2 from ‘const char*’ to ‘char*’
In file included from ../src/node_mmdb.h:6:0,
                 from ../src/node_mmdb.cpp:2:
../node_modules/nan/nan.h: In function ‘v8::Local<v8::Object> NanNewBufferHandle(uint32_t)’:
../node_modules/nan/nan.h:676:61: error: could not convert ‘node::Buffer::New(v8::Isolate::GetCurrent(), ((size_t)size))’ from ‘v8::MaybeLocal<v8::Object>’ to ‘v8::Local<v8::Object>’
     return node::Buffer::New(v8::Isolate::GetCurrent(), size);
                                                             ^
../node_modules/nan/nan.h: In function ‘v8::Local<v8::Object> NanBufferUse(char*, uint32_t)’:
../node_modules/nan/nan.h:683:12: error: ‘Use’ is not a member of ‘node::Buffer’
     return node::Buffer::Use(v8::Isolate::GetCurrent(), data, size);
            ^
make: *** [Release/obj.target/node_mmdb/src/node_mmdb.o] Error 1
make: Leaving directory `/usr/local/lib/node_modules/node-geoip2/build'
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:269:23)
gyp ERR! stack     at emitTwo (events.js:87:13)
gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Linux 3.13.0-37-generic
gyp ERR! command "/usr/local/bin/iojs" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /usr/local/lib/node_modules/node-geoip2
gyp ERR! node -v v3.2.0
gyp ERR! node-gyp -v v2.0.2
gyp ERR! not ok 
npm ERR! Linux 3.13.0-37-generic
npm ERR! argv "/usr/local/bin/iojs" "/usr/local/bin/npm" "install" "-g" "node-geoip2"
npm ERR! node v3.2.0
npm ERR! npm  v2.13.3
npm ERR! code ELIFECYCLE

npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] install script 'node-gyp rebuild'.
npm ERR! This is most likely a problem with the node-geoip2 package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get their info via:
npm ERR!     npm owner ls node-geoip2
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /home/yamir/{directory path hidden by me}/npm-debug.log

segmentation fault when DB file doesn't exist

› node
> var geoip = require('node-geoip2')
undefined
> geoip.init("./foo-file-dne")
zsh: segmentation fault  node
blimmer:~/code/server (develop ✗)
› node
> var geoip = require('node-geoip2')
undefined
> geoip.init("/tmp/GeoLite2-City.mmdb")
MMDB {}

Environment:
OS X 10.11.3
Node 4.2.6
node-geoip2 0.10.1

Error on installation on Linux IA32 Machine

[email protected] install /home/apple/node_modules/node-geoip2
node-gyp rebuild

gyp WARN EACCES user "root" does not have permission to access the dev dir "/roo t/.node-gyp/4.1.1"
gyp WARN EACCES attempting to reinstall using temporary dev dir "/home/apple/node modules/node-geoip2/.node-gyp"
make: Entering directory /home/apple/node_modules/node-geoip2/build' CC(target) Release/obj.target/libmaxminddb/deps/libmaxminddb/src/maxminddb.o ../deps/libmaxminddb/src/maxminddb.c:2:20: fatal error: config.h: No such file o r directory compilation terminated. make: *** [Release/obj.target/libmaxminddb/deps/libmaxminddb/src/maxminddb.o] Er ror 1 make: Leaving directory/home/apple/node_modules/node-geoip2/build'
gyp ERR! build error
gyp ERR! stack Error: make failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node
modules/node-gyp/lib/build.js:270:23)
gyp ERR! stack at emitTwo (events.js:87:13)
gyp ERR! stack at ChildProcess.emit (events.js:172:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_proces s.js:200:12)
gyp ERR! System Linux 3.2.0-4-686-pae
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_mod ules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/apple/node_modules/node-geoip2
gyp ERR! node -v v4.1.1
gyp ERR! node-gyp -v v3.0.3
gyp ERR! not ok
npm WARN ENOENT ENOENT: no such file or directory, open '/home/apple/package.json '
npm WARN EPACKAGEJSON /home/appleNo description
npm WARN EPACKAGEJSON /home/appleNo repository field.
npm WARN EPACKAGEJSON /home/appleNo README data
npm WARN EPACKAGEJSON /home/appleNo license field.
npm ERR! Linux 3.2.0-4-686-pae
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "node-geoip2"
npm ERR! node v4.1.1
npm ERR! npm v3.3.5
npm ERR! code ELIFECYCLE

npm ERR! [email protected] install: node-gyp rebuild
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script 'node-gyp rebuild'.
npm ERR! This is most likely a problem with the node-geoip2 package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node-gyp rebuild
npm ERR! You can get their info via:
npm ERR! npm owner ls node-geoip2
npm ERR! There is likely additional logging output above.

Error installing on Centos 6.7

I am getting following error while installing on CentOS, please help ...

$ npm install node-geoip2 --save
npm WARN package.json [email protected] No README data

[email protected] install /home/as/sails/z2/node_modules/node-geoip2
node-gyp rebuild

make: Entering directory /home/as/sails/z2/node_modules/node-geoip2/build' CC(target) Release/obj.target/libmaxminddb/deps/libmaxminddb/src/maxminddb.o AR(target) Release/obj.target/deps/maxminddb.a COPY Release/maxminddb.a CXX(target) Release/obj.target/node_mmdb/src/node_mmdb.o ../src/node_mmdb.cpp: In function ‘void init(v8::Handle<v8::Object>)’: ../src/node_mmdb.cpp:275:68: error: could not convert ‘mmdbTpl’ from ‘v8::Handle<v8::FunctionTemplate>’ to ‘v8::Local<v8::FunctionTemplate>’ Nan::SetPrototypeMethod(mmdbTpl, "lookup", NodeMMDB::Lookup); ^ ../src/node_mmdb.cpp:276:72: error: could not convert ‘mmdbTpl’ from ‘v8::Handle<v8::FunctionTemplate>’ to ‘v8::Local<v8::FunctionTemplate>’ Nan::SetPrototypeMethod(mmdbTpl, "lookupSync", NodeMMDB::LookupSync); ^ make: *** [Release/obj.target/node_mmdb/src/node_mmdb.o] Error 1 make: Leaving directory/home/as/sails/z2/node_modules/node-geoip2/build'
gyp ERR! build error
gyp ERR! stack Error: make failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:267:23)
gyp ERR! stack at ChildProcess.emit (events.js:98:17)
gyp ERR! stack at Process.ChildProcess._handle.onexit (child_process.js:809:12)
gyp ERR! System Linux 2.6.32-573.12.1.el6.x86_64
gyp ERR! command "node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/as/sails/z2/node_modules/node-geoip2
gyp ERR! node -v v0.10.29
gyp ERR! node-gyp -v v0.13.1
gyp ERR! not ok
npm ERR! [email protected] install: node-gyp rebuild
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is most likely a problem with the node-geoip2 package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node-gyp rebuild
npm ERR! You can get their info via:
npm ERR! npm owner ls node-geoip2
npm ERR! There is likely additional logging output above.

npm ERR! System Linux 2.6.32-573.12.1.el6.x86_64
npm ERR! command "/usr/local/bin/node" "/usr/local/bin/npm" "install" "node-geoip2" "--save"
npm ERR! cwd /home/as/sails/z2
npm ERR! node -v v0.10.29
npm ERR! npm -v 1.4.14
npm ERR! code ELIFECYCLE
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /home/as/sails/z2/npm-debug.log
npm ERR! not ok code 0

Please help

Error on installation on Windows

error C1083: Cannot open include file: 'stdbool.h': No such file or directory

npm-debug.log

0 info it worked if it ends with ok
1 verbose cli [ 'C:\Program Files\nodejs\node.exe',
1 verbose cli 'C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js',
1 verbose cli 'i',
1 verbose cli '--save',
1 verbose cli 'geoip2' ]
2 info using [email protected]
3 info using [email protected]
4 verbose node symlink C:\Program Files\nodejs\node.exe
5 silly cache add args [ 'geoip2', null ]
6 verbose cache add spec geoip2
7 silly cache add parsed spec { raw: 'geoip2',
7 silly cache add scope: null,
7 silly cache add name: 'geoip2',
7 silly cache add rawSpec: '',
7 silly cache add spec: '',
7 silly cache add type: 'range' }
8 verbose addNamed geoip2@

9 silly addNamed semver.valid null
10 silly addNamed semver.validRange *
11 silly addNameRange { name: 'geoip2', range: '', hasData: false }
12 silly mapToRegistry name geoip2
13 silly mapToRegistry using default registry
14 silly mapToRegistry registry https://registry.npmjs.org/
15 silly mapToRegistry uri https://registry.npmjs.org/geoip2
16 verbose addNameRange registry:https://registry.npmjs.org/geoip2 not in flight; fetching
17 verbose request uri https://registry.npmjs.org/geoip2
18 verbose request no auth needed
19 info attempt registry request try #1 at 15:51:07
20 verbose request id 8df9c18a2929dbcc
21 http request GET https://registry.npmjs.org/geoip2
22 http 200 https://registry.npmjs.org/geoip2
23 silly get cb [ 200,
23 silly get { server: 'CouchDB/1.6.1 (Erlang OTP/R16B03)',
23 silly get etag: '"928UESKR39PFRVH8Z7648DVMF"',
23 silly get 'content-type': 'application/json',
23 silly get 'content-encoding': 'gzip',
23 silly get 'cache-control': 'max-age=300',
23 silly get 'content-length': '2553',
23 silly get 'accept-ranges': 'bytes',
23 silly get date: 'Mon, 29 Aug 2016 12:51:07 GMT',
23 silly get via: '1.1 varnish',
23 silly get age: '0',
23 silly get connection: 'keep-alive',
23 silly get 'x-served-by': 'cache-fra1224-FRA',
23 silly get 'x-cache': 'MISS',
23 silly get 'x-cache-hits': '0',
23 silly get 'x-timer': 'S1472475067.471887,VS0,VE202',
23 silly get vary: 'Accept-Encoding' } ]
24 verbose get saving geoip2 to C:\Users\BIA\AppData\Roaming\npm-cache\registry.npmjs.org\geoip2.cache.json
25 silly addNameRange number 2 { name: 'geoip2', range: '
', hasData: true }
26 silly addNameRange versions [ 'geoip2', [ '1.0.1', '1.0.2', '1.0.3', '1.0.4' ] ]
27 verbose addNamed [email protected]
28 silly addNamed semver.valid 1.0.4
29 silly addNamed semver.validRange 1.0.4
30 silly mapToRegistry name geoip2
31 silly mapToRegistry using default registry
32 silly mapToRegistry registry https://registry.npmjs.org/
33 silly mapToRegistry uri https://registry.npmjs.org/geoip2
34 verbose addRemoteTarball https://registry.npmjs.org/geoip2/-/geoip2-1.0.4.tgz not in flight; adding
35 verbose addRemoteTarball [ 'https://registry.npmjs.org/geoip2/-/geoip2-1.0.4.tgz',
35 verbose addRemoteTarball 'c164451a8cfbc5e56f3df5a424ea2109885b86a2' ]
36 info retry fetch attempt 1 at 15:51:07
37 info attempt registry request try #1 at 15:51:07
38 http fetch GET https://registry.npmjs.org/geoip2/-/geoip2-1.0.4.tgz
39 http fetch 200 https://registry.npmjs.org/geoip2/-/geoip2-1.0.4.tgz
40 silly fetchAndShaCheck shasum c164451a8cfbc5e56f3df5a424ea2109885b86a2
41 verbose addTmpTarball C:\Users\BIA\AppData\Local\Temp\npm-17256-801fd54b\registry.npmjs.org\geoip2-\geoip2-1.0.4.tgz not in flight; adding
42 verbose addTmpTarball already have metadata; skipping unpack for [email protected]
43 silly cache afterAdd [email protected]
44 verbose afterAdd C:\Users\BIA\AppData\Roaming\npm-cache\geoip2\1.0.4\package\package.json not in flight; writing
45 verbose afterAdd C:\Users\BIA\AppData\Roaming\npm-cache\geoip2\1.0.4\package\package.json written
46 silly install resolved [ { name: 'geoip2',
46 silly install resolved version: '1.0.4',
46 silly install resolved description: 'Maxmind GeoIP2 database reader for geolocating ip addresses. Fast native implementation by wrapping libmaxminddb.',
46 silly install resolved main: './node-geoip2.js',
46 silly install resolved author: { name: 'David Tsai' },
46 silly install resolved license: 'MIT',
46 silly install resolved keywords:
46 silly install resolved [ 'geoip',
46 silly install resolved 'geoip2',
46 silly install resolved 'geolocation',
46 silly install resolved 'maxmind',
46 silly install resolved 'mmdb',
46 silly install resolved 'maxminddb',
46 silly install resolved 'ip' ],
46 silly install resolved scripts: { test: 'mocha', install: 'node-gyp rebuild' },
46 silly install resolved repository:
46 silly install resolved { type: 'git',
46 silly install resolved url: 'git://github.com/davidtsai/node-geoip2.git' },
46 silly install resolved dependencies: { nan: '2.3.3' },
46 silly install resolved devDependencies: { mocha: '^2.5.1', chai: '^3.5.0' },
46 silly install resolved gypfile: true,
46 silly install resolved gitHead: 'b9b17a81cd5488a4103105286432017bc92664b0',
46 silly install resolved bugs: { url: 'https://github.com/davidtsai/node-geoip2/issues' },
46 silly install resolved homepage: 'https://github.com/davidtsai/node-geoip2#readme',
46 silly install resolved _id: '[email protected]',
46 silly install resolved _shasum: 'c164451a8cfbc5e56f3df5a424ea2109885b86a2',
46 silly install resolved from: 'geoip2@',
46 silly install resolved _npmVersion: '3.7.2',
46 silly install resolved _nodeVersion: '4.3.0',
46 silly install resolved _npmUser: { name: 'davidtsai', email: '[email protected]' },
46 silly install resolved dist:
46 silly install resolved { shasum: 'c164451a8cfbc5e56f3df5a424ea2109885b86a2',
46 silly install resolved tarball: 'https://registry.npmjs.org/geoip2/-/geoip2-1.0.4.tgz' },
46 silly install resolved maintainers: [ [Object] ],
46 silly install resolved _npmOperationalInternal:
46 silly install resolved { host: 'packages-16-east.internal.npmjs.com',
46 silly install resolved tmp: 'tmp/geoip2-1.0.4.tgz_1464310412742_0.0435489087831229' },
46 silly install resolved directories: {},
46 silly install resolved _resolved: 'https://registry.npmjs.org/geoip2/-/geoip2-1.0.4.tgz' } ]
47 info install [email protected] into C:\git\news
48 info installOne [email protected]
49 verbose installOne of geoip2 to C:\git\news not in flight; installing
50 verbose lock using C:\Users\BIA\AppData\Roaming\npm-cache_locks\geoip2-500d78934c249c07.lock for C:\git\news\node_modules\geoip2
51 silly install write writing geoip2 1.0.4 to C:\git\news\node_modules\geoip2
52 silly cache addNamed cb [email protected]
53 verbose unbuild node_modules\geoip2
54 verbose gentlyRm vacuuming C:\git\news\node_modules\geoip2
55 verbose tar unpack C:\Users\BIA\AppData\Roaming\npm-cache\geoip2\1.0.4\package.tgz
56 verbose tar unpacking to C:\git\news\node_modules\geoip2
57 verbose gentlyRm vacuuming C:\git\news\node_modules\geoip2
58 silly gunzTarPerm modes [ '777', '666' ]
59 silly gunzTarPerm extractEntry package.json
60 silly gunzTarPerm modified mode [ 'package.json', 420, 438 ]
61 silly gunzTarPerm extractEntry .npmignore
62 silly gunzTarPerm modified mode [ '.npmignore', 420, 438 ]
63 silly gunzTarPerm extractEntry README.md
64 silly gunzTarPerm modified mode [ 'README.md', 420, 438 ]
65 silly gunzTarPerm extractEntry node-geoip2.js
66 silly gunzTarPerm modified mode [ 'node-geoip2.js', 420, 438 ]
67 silly gunzTarPerm extractEntry databases/GeoLite2-City.mmdb
68 silly gunzTarPerm modified mode [ 'databases/GeoLite2-City.mmdb', 420, 438 ]
69 silly gunzTarPerm extractEntry binding.gyp
70 silly gunzTarPerm modified mode [ 'binding.gyp', 420, 438 ]
71 silly gunzTarPerm extractEntry circle.yml
72 silly gunzTarPerm modified mode [ 'circle.yml', 420, 438 ]
73 silly gunzTarPerm extractEntry .gitmodules
74 silly gunzTarPerm modified mode [ '.gitmodules', 420, 438 ]
75 silly gunzTarPerm extractEntry deps/config/linux/x64/config.h
76 silly gunzTarPerm modified mode [ 'deps/config/linux/x64/config.h', 420, 438 ]
77 silly gunzTarPerm extractEntry deps/config/linux/x64/maxminddb_config.h
78 silly gunzTarPerm modified mode [ 'deps/config/linux/x64/maxminddb_config.h', 420, 438 ]
79 silly gunzTarPerm extractEntry deps/config/mac/x64/config.h
80 silly gunzTarPerm modified mode [ 'deps/config/mac/x64/config.h', 420, 438 ]
81 silly gunzTarPerm extractEntry deps/config/mac/x64/maxminddb_config.h
82 silly gunzTarPerm modified mode [ 'deps/config/mac/x64/maxminddb_config.h', 420, 438 ]
83 silly gunzTarPerm extractEntry deps/config/win/x64/config.h
84 silly gunzTarPerm modified mode [ 'deps/config/win/x64/config.h', 420, 438 ]
85 silly gunzTarPerm extractEntry deps/config/win/x64/maxminddb_config.h
86 silly gunzTarPerm modified mode [ 'deps/config/win/x64/maxminddb_config.h', 420, 438 ]
87 silly gunzTarPerm extractEntry deps/libmaxminddb/.npmignore
88 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/.npmignore', 420, 438 ]
89 silly gunzTarPerm extractEntry deps/libmaxminddb/README.md
90 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/README.md', 420, 438 ]
91 silly gunzTarPerm extractEntry deps/libmaxminddb/LICENSE
92 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/LICENSE', 420, 438 ]
93 silly gunzTarPerm extractEntry deps/libmaxminddb/appveyor.yml
94 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/appveyor.yml', 420, 438 ]
95 silly gunzTarPerm extractEntry deps/libmaxminddb/.uncrustify.cfg
96 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/.uncrustify.cfg', 420, 438 ]
97 silly gunzTarPerm extractEntry deps/libmaxminddb/AUTHORS
98 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/AUTHORS', 420, 438 ]
99 silly gunzTarPerm extractEntry deps/libmaxminddb/Changes.md
100 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/Changes.md', 420, 438 ]
101 silly gunzTarPerm extractEntry deps/libmaxminddb/.perltidyrc
102 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/.perltidyrc', 420, 438 ]
103 silly gunzTarPerm extractEntry deps/libmaxminddb/Makefile.am
104 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/Makefile.am', 420, 438 ]
105 silly gunzTarPerm extractEntry deps/libmaxminddb/NOTICE
106 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/NOTICE', 420, 438 ]
107 silly gunzTarPerm extractEntry deps/libmaxminddb/README.dev.md
108 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/README.dev.md', 420, 438 ]
109 silly gunzTarPerm extractEntry deps/libmaxminddb/.gitmodules
110 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/.gitmodules', 420, 438 ]
111 silly gunzTarPerm extractEntry deps/libmaxminddb/.travis.yml
112 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/.travis.yml', 420, 438 ]
113 silly gunzTarPerm extractEntry deps/libmaxminddb/bin/Makefile.am
114 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/bin/Makefile.am', 420, 438 ]
115 silly gunzTarPerm extractEntry deps/libmaxminddb/bin/mmdblookup.c
116 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/bin/mmdblookup.c', 420, 438 ]
117 silly gunzTarPerm extractEntry deps/libmaxminddb/bootstrap
118 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/bootstrap', 493, 511 ]
119 silly gunzTarPerm extractEntry deps/libmaxminddb/common.mk
120 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/common.mk', 420, 438 ]
121 silly gunzTarPerm extractEntry deps/libmaxminddb/configure.ac
122 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/configure.ac', 420, 438 ]
123 silly gunzTarPerm extractEntry deps/libmaxminddb/dev-bin/make-man-pages.pl
124 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/dev-bin/make-man-pages.pl', 493, 511 ]
125 silly gunzTarPerm extractEntry deps/libmaxminddb/dev-bin/make-release.sh
126 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/dev-bin/make-release.sh', 493, 511 ]
127 silly gunzTarPerm extractEntry deps/libmaxminddb/dev-bin/regen-prototypes.pl
128 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/dev-bin/regen-prototypes.pl', 493, 511 ]
129 silly gunzTarPerm extractEntry deps/libmaxminddb/dev-bin/regen-win32-test-projs.pl
130 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/dev-bin/regen-win32-test-projs.pl',
130 silly gunzTarPerm 493,
130 silly gunzTarPerm 511 ]
131 silly gunzTarPerm extractEntry deps/libmaxminddb/dev-bin/uncrustify-all.sh
132 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/dev-bin/uncrustify-all.sh', 493, 511 ]
133 silly gunzTarPerm extractEntry deps/libmaxminddb/dev-bin/valgrind-all.pl
134 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/dev-bin/valgrind-all.pl', 493, 511 ]
135 silly gunzTarPerm extractEntry deps/libmaxminddb/doc/libmaxminddb.md
136 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/doc/libmaxminddb.md', 420, 438 ]
137 silly gunzTarPerm extractEntry deps/libmaxminddb/doc/mmdblookup.md
138 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/doc/mmdblookup.md', 420, 438 ]
139 silly gunzTarPerm extractEntry deps/libmaxminddb/doc/release.md
140 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/doc/release.md', 420, 438 ]
141 silly gunzTarPerm extractEntry deps/libmaxminddb/include/maxminddb.h
142 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/include/maxminddb.h', 420, 438 ]
143 silly gunzTarPerm extractEntry deps/libmaxminddb/include/maxminddb_config.h.in
144 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/include/maxminddb_config.h.in', 420, 438 ]
145 silly gunzTarPerm extractEntry deps/libmaxminddb/projects/VS12/README.md
146 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/projects/VS12/README.md', 420, 438 ]
147 silly gunzTarPerm extractEntry deps/libmaxminddb/projects/VS12/libmaxminddb-release.props
148 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/projects/VS12/libmaxminddb-release.props',
148 silly gunzTarPerm 420,
148 silly gunzTarPerm 438 ]
149 silly gunzTarPerm extractEntry deps/libmaxminddb/projects/VS12/libmaxminddb-x64.props
150 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/projects/VS12/libmaxminddb-x64.props',
150 silly gunzTarPerm 420,
150 silly gunzTarPerm 438 ]
151 silly gunzTarPerm extractEntry deps/libmaxminddb/projects/VS12/libmaxminddb.props
152 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/projects/VS12/libmaxminddb.props',
152 silly gunzTarPerm 420,
152 silly gunzTarPerm 438 ]
153 silly gunzTarPerm extractEntry deps/libmaxminddb/projects/VS12/libmaxminddb.sln
154 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/projects/VS12/libmaxminddb.sln', 420, 438 ]
155 silly gunzTarPerm extractEntry deps/libmaxminddb/projects/VS12/libmaxminddb.vcxproj
156 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/projects/VS12/libmaxminddb.vcxproj',
156 silly gunzTarPerm 420,
156 silly gunzTarPerm 438 ]
157 silly gunzTarPerm extractEntry deps/libmaxminddb/projects/VS12/libmaxminddb.vcxproj.filters
158 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/projects/VS12/libmaxminddb.vcxproj.filters',
158 silly gunzTarPerm 420,
158 silly gunzTarPerm 438 ]
159 silly gunzTarPerm extractEntry deps/libmaxminddb/projects/VS12/maxminddb_config.h
160 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/projects/VS12/maxminddb_config.h',
160 silly gunzTarPerm 420,
160 silly gunzTarPerm 438 ]
161 silly gunzTarPerm extractEntry deps/libmaxminddb/projects/VS12-tests/ipv6_lookup_in_ipv4.vcxproj
162 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/projects/VS12-tests/ipv6_lookup_in_ipv4.vcxproj',
162 silly gunzTarPerm 420,
162 silly gunzTarPerm 438 ]
163 silly gunzTarPerm extractEntry deps/libmaxminddb/projects/VS12-tests/bad_pointers.vcxproj
164 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/projects/VS12-tests/bad_pointers.vcxproj',
164 silly gunzTarPerm 420,
164 silly gunzTarPerm 438 ]
165 silly gunzTarPerm extractEntry deps/libmaxminddb/projects/VS12-tests/data_entry_list.vcxproj
166 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/projects/VS12-tests/data_entry_list.vcxproj',
166 silly gunzTarPerm 420,
166 silly gunzTarPerm 438 ]
167 silly gunzTarPerm extractEntry deps/libmaxminddb/projects/VS12-tests/data_types.vcxproj
168 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/projects/VS12-tests/data_types.vcxproj',
168 silly gunzTarPerm 420,
168 silly gunzTarPerm 438 ]
169 silly gunzTarPerm extractEntry deps/libmaxminddb/projects/VS12-tests/dump.vcxproj
170 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/projects/VS12-tests/dump.vcxproj',
170 silly gunzTarPerm 420,
170 silly gunzTarPerm 438 ]
171 silly gunzTarPerm extractEntry deps/libmaxminddb/projects/VS12-tests/get_value.vcxproj
172 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/projects/VS12-tests/get_value.vcxproj',
172 silly gunzTarPerm 420,
172 silly gunzTarPerm 438 ]
173 silly gunzTarPerm extractEntry deps/libmaxminddb/projects/VS12-tests/get_value_pointer_bug.vcxproj
174 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/projects/VS12-tests/get_value_pointer_bug.vcxproj',
174 silly gunzTarPerm 420,
174 silly gunzTarPerm 438 ]
175 silly gunzTarPerm extractEntry deps/libmaxminddb/projects/VS12-tests/ipv4_start_cache.vcxproj
176 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/projects/VS12-tests/ipv4_start_cache.vcxproj',
176 silly gunzTarPerm 420,
176 silly gunzTarPerm 438 ]
177 silly gunzTarPerm extractEntry deps/libmaxminddb/projects/VS12-tests/basic_lookup.vcxproj
178 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/projects/VS12-tests/basic_lookup.vcxproj',
178 silly gunzTarPerm 420,
178 silly gunzTarPerm 438 ]
179 silly gunzTarPerm extractEntry deps/libmaxminddb/projects/VS12-tests/libtap.vcxproj
180 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/projects/VS12-tests/libtap.vcxproj',
180 silly gunzTarPerm 420,
180 silly gunzTarPerm 438 ]
181 silly gunzTarPerm extractEntry deps/libmaxminddb/projects/VS12-tests/maxminddb_test_helper.vcxproj
182 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/projects/VS12-tests/maxminddb_test_helper.vcxproj',
182 silly gunzTarPerm 420,
182 silly gunzTarPerm 438 ]
183 silly gunzTarPerm extractEntry deps/libmaxminddb/projects/VS12-tests/metadata.vcxproj
184 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/projects/VS12-tests/metadata.vcxproj',
184 silly gunzTarPerm 420,
184 silly gunzTarPerm 438 ]
185 silly gunzTarPerm extractEntry deps/libmaxminddb/projects/VS12-tests/no_map_get_value.vcxproj
186 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/projects/VS12-tests/no_map_get_value.vcxproj',
186 silly gunzTarPerm 420,
186 silly gunzTarPerm 438 ]
187 silly gunzTarPerm extractEntry deps/libmaxminddb/projects/VS12-tests/read_node.vcxproj
188 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/projects/VS12-tests/read_node.vcxproj',
188 silly gunzTarPerm 420,
188 silly gunzTarPerm 438 ]
189 silly gunzTarPerm extractEntry deps/libmaxminddb/projects/VS12-tests/shared.vcxproj
190 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/projects/VS12-tests/shared.vcxproj',
190 silly gunzTarPerm 420,
190 silly gunzTarPerm 438 ]
191 silly gunzTarPerm extractEntry deps/libmaxminddb/projects/VS12-tests/threads.vcxproj
192 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/projects/VS12-tests/threads.vcxproj',
192 silly gunzTarPerm 420,
192 silly gunzTarPerm 438 ]
193 silly gunzTarPerm extractEntry deps/libmaxminddb/projects/VS12-tests/version.vcxproj
194 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/projects/VS12-tests/version.vcxproj',
194 silly gunzTarPerm 420,
194 silly gunzTarPerm 438 ]
195 silly gunzTarPerm extractEntry deps/libmaxminddb/projects/test.vcxproj.template
196 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/projects/test.vcxproj.template', 420, 438 ]
197 silly gunzTarPerm extractEntry deps/libmaxminddb/src/Makefile.am
198 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/src/Makefile.am', 420, 438 ]
199 silly gunzTarPerm extractEntry deps/libmaxminddb/src/maxminddb-compat-util.h
200 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/src/maxminddb-compat-util.h', 420, 438 ]
201 silly gunzTarPerm extractEntry deps/libmaxminddb/src/maxminddb.c
202 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/src/maxminddb.c', 420, 438 ]
203 silly gunzTarPerm extractEntry deps/libmaxminddb/t/ipv6_lookup_in_ipv4_t.c
204 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/t/ipv6_lookup_in_ipv4_t.c', 420, 438 ]
205 silly gunzTarPerm extractEntry deps/libmaxminddb/t/Makefile.am
206 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/t/Makefile.am', 420, 438 ]
207 silly gunzTarPerm extractEntry deps/libmaxminddb/t/basic_lookup_t.c
208 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/t/basic_lookup_t.c', 420, 438 ]
209 silly gunzTarPerm extractEntry deps/libmaxminddb/t/compile_c++_t.pl
210 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/t/compile_c++t.pl', 493, 511 ]
211 silly gunzTarPerm extractEntry deps/libmaxminddb/t/data_entry_list_t.c
212 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/t/data_entry_list_t.c', 420, 438 ]
213 silly gunzTarPerm extractEntry deps/libmaxminddb/t/data_types_t.c
214 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/t/data_types_t.c', 420, 438 ]
215 silly gunzTarPerm extractEntry deps/libmaxminddb/t/dump_t.c
216 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/t/dump_t.c', 420, 438 ]
217 silly gunzTarPerm extractEntry deps/libmaxminddb/t/get_value_pointer_bug_t.c
218 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/t/get_value_pointer_bug_t.c', 420, 438 ]
219 silly gunzTarPerm extractEntry deps/libmaxminddb/t/get_value_t.c
220 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/t/get_value_t.c', 420, 438 ]
221 silly gunzTarPerm extractEntry deps/libmaxminddb/t/ipv4_start_cache_t.c
222 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/t/ipv4_start_cache_t.c', 420, 438 ]
223 silly gunzTarPerm extractEntry deps/libmaxminddb/t/bad_pointers_t.c
224 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/t/bad_pointers_t.c', 420, 438 ]
225 silly gunzTarPerm extractEntry deps/libmaxminddb/t/maxminddb_test_helper.c
226 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/t/maxminddb_test_helper.c', 420, 438 ]
227 silly gunzTarPerm extractEntry deps/libmaxminddb/t/maxminddb_test_helper.h
228 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/t/maxminddb_test_helper.h', 420, 438 ]
229 silly gunzTarPerm extractEntry deps/libmaxminddb/t/metadata_t.c
230 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/t/metadata_t.c', 420, 438 ]
231 silly gunzTarPerm extractEntry deps/libmaxminddb/t/mmdblookup_t.pl
232 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/t/mmdblookup_t.pl', 493, 511 ]
233 silly gunzTarPerm extractEntry deps/libmaxminddb/t/no_map_get_value_t.c
234 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/t/no_map_get_value_t.c', 420, 438 ]
235 silly gunzTarPerm extractEntry deps/libmaxminddb/t/read_node_t.c
236 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/t/read_node_t.c', 420, 438 ]
237 silly gunzTarPerm extractEntry deps/libmaxminddb/t/threads_t.c
238 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/t/threads_t.c', 420, 438 ]
239 silly gunzTarPerm extractEntry deps/libmaxminddb/t/version_t.c
240 silly gunzTarPerm modified mode [ 'deps/libmaxminddb/t/version_t.c', 420, 438 ]
241 silly gunzTarPerm extractEntry deps/libmaxminddb.gyp
242 silly gunzTarPerm modified mode [ 'deps/libmaxminddb.gyp', 420, 438 ]
243 silly gunzTarPerm extractEntry LICENSE.md
244 silly gunzTarPerm modified mode [ 'LICENSE.md', 420, 438 ]
245 silly gunzTarPerm extractEntry src/node_mmdb.cpp
246 silly gunzTarPerm modified mode [ 'src/node_mmdb.cpp', 420, 438 ]
247 silly gunzTarPerm extractEntry src/node_mmdb.h
248 silly gunzTarPerm modified mode [ 'src/node_mmdb.h', 420, 438 ]
249 silly gunzTarPerm extractEntry test/geoip2.js
250 silly gunzTarPerm modified mode [ 'test/geoip2.js', 420, 438 ]
251 info preinstall [email protected]
252 silly prepareForInstallMany adding [email protected] from geoip2 dependencies
253 silly cache add args [ '[email protected]', null ]
254 verbose cache add spec [email protected]
255 silly cache add parsed spec { raw: '[email protected]',
255 silly cache add scope: null,
255 silly cache add name: 'nan',
255 silly cache add rawSpec: '2.3.3',
255 silly cache add spec: '2.3.3',
255 silly cache add type: 'version' }
256 verbose addNamed [email protected]
257 silly addNamed semver.valid 2.3.3
258 silly addNamed semver.validRange 2.3.3
259 silly mapToRegistry name nan
260 silly mapToRegistry using default registry
261 silly mapToRegistry registry https://registry.npmjs.org/
262 silly mapToRegistry uri https://registry.npmjs.org/nan
263 verbose addNameVersion registry:https://registry.npmjs.org/nan not in flight; fetching
264 verbose request uri https://registry.npmjs.org/nan
265 verbose request no auth needed
266 info attempt registry request try #1 at 15:51:16
267 verbose etag "EGTR1APXEV7TH8V3QYT0WN357"
268 http request GET https://registry.npmjs.org/nan
269 http 200 https://registry.npmjs.org/nan
270 silly get cb [ 200,
270 silly get { server: 'CouchDB/1.5.0 (Erlang OTP/R16B03)',
270 silly get etag: '"NAY6YRKIZAXUCU18M1YHIEA2"',
270 silly get 'content-type': 'application/json',
270 silly get 'content-encoding': 'gzip',
270 silly get 'cache-control': 'max-age=300',
270 silly get 'content-length': '17135',
270 silly get 'accept-ranges': 'bytes',
270 silly get date: 'Mon, 29 Aug 2016 12:51:16 GMT',
270 silly get via: '1.1 varnish',
270 silly get age: '35',
270 silly get connection: 'keep-alive',
270 silly get 'x-served-by': 'cache-fra1226-FRA',
270 silly get 'x-cache': 'HIT',
270 silly get 'x-cache-hits': '3',
270 silly get 'x-timer': 'S1472475076.543530,VS0,VE0',
270 silly get vary: 'Accept-Encoding' } ]
271 verbose get saving nan to C:\Users\BIA\AppData\Roaming\npm-cache\registry.npmjs.org\nan.cache.json
272 silly mapToRegistry name nan
273 silly mapToRegistry using default registry
274 silly mapToRegistry registry https://registry.npmjs.org/
275 silly mapToRegistry uri https://registry.npmjs.org/nan
276 verbose addRemoteTarball https://registry.npmjs.org/nan/-/nan-2.3.3.tgz not in flight; adding
277 verbose addRemoteTarball [ 'https://registry.npmjs.org/nan/-/nan-2.3.3.tgz',
277 verbose addRemoteTarball '64dd83c9704a83648b6c72b401f6384bd94ef16f' ]
278 info retry fetch attempt 1 at 15:51:16
279 info attempt registry request try #1 at 15:51:16
280 http fetch GET https://registry.npmjs.org/nan/-/nan-2.3.3.tgz
281 http fetch 200 https://registry.npmjs.org/nan/-/nan-2.3.3.tgz
282 silly fetchAndShaCheck shasum 64dd83c9704a83648b6c72b401f6384bd94ef16f
283 verbose addTmpTarball C:\Users\BIA\AppData\Local\Temp\npm-17256-801fd54b\registry.npmjs.org\nan-\nan-2.3.3.tgz not in flight; adding
284 verbose addTmpTarball already have metadata; skipping unpack for [email protected]
285 silly cache afterAdd [email protected]
286 verbose afterAdd C:\Users\BIA\AppData\Roaming\npm-cache\nan\2.3.3\package\package.json not in flight; writing
287 verbose afterAdd C:\Users\BIA\AppData\Roaming\npm-cache\nan\2.3.3\package\package.json written
288 silly install resolved [ { name: 'nan',
288 silly install resolved version: '2.3.3',
288 silly install resolved description: 'Native Abstractions for Node.js: C++ header for Node 0.8 -> 6 compatibility',
288 silly install resolved main: 'include_dirs.js',
288 silly install resolved repository: { type: 'git', url: 'git://github.com/nodejs/nan.git' },
288 silly install resolved scripts:
288 silly install resolved { test: 'tap --gc --stderr test/js/
-test.js',
288 silly install resolved 'rebuild-tests': 'node-gyp rebuild --msvs_version=2013 --directory test',
288 silly install resolved docs: 'doc/.build.sh' },
288 silly install resolved contributors:
288 silly install resolved [ [Object],
288 silly install resolved [Object],
288 silly install resolved [Object],
288 silly install resolved [Object],
288 silly install resolved [Object],
288 silly install resolved [Object],
288 silly install resolved [Object] ],
288 silly install resolved devDependencies:
288 silly install resolved { bindings: '~1.2.1',
288 silly install resolved commander: '^2.8.1',
288 silly install resolved glob: '^5.0.14',
288 silly install resolved 'node-gyp': '~3.0.1',
288 silly install resolved tap: '~0.7.1',
288 silly install resolved xtend: '~4.0.0' },
288 silly install resolved license: 'MIT',
288 silly install resolved bugs: { url: 'https://github.com/nodejs/nan/issues' },
288 silly install resolved homepage: 'https://github.com/nodejs/nan#readme',
288 silly install resolved _id: '[email protected]',
288 silly install resolved _shasum: '64dd83c9704a83648b6c72b401f6384bd94ef16f',
288 silly install resolved _resolved: 'https://registry.npmjs.org/nan/-/nan-2.3.3.tgz',
288 silly install resolved _from: '[email protected]',
288 silly install resolved _npmVersion: '3.3.6',
288 silly install resolved _nodeVersion: '5.0.0',
288 silly install resolved _npmUser: { name: 'kkoopa', email: '[email protected]' },
288 silly install resolved dist:
288 silly install resolved { shasum: '64dd83c9704a83648b6c72b401f6384bd94ef16f',
288 silly install resolved tarball: 'https://registry.npmjs.org/nan/-/nan-2.3.3.tgz' },
288 silly install resolved maintainers: [ [Object], [Object] ],
288 silly install resolved _npmOperationalInternal:
288 silly install resolved { host: 'packages-16-east.internal.npmjs.com',
288 silly install resolved tmp: 'tmp/nan-2.3.3.tgz_1462313618725_0.044748055282980204' },
288 silly install resolved directories: {} } ]
289 info install [email protected] into C:\git\news\node_modules\geoip2
290 info installOne [email protected]
291 verbose installOne of nan to C:\git\news\node_modules\geoip2 not in flight; installing
292 verbose lock using C:\Users\BIA\AppData\Roaming\npm-cache_locks\nan-14581a41209c6cbd.lock for C:\git\news\node_modules\geoip2\node_modules\nan
293 silly install write writing nan 2.3.3 to C:\git\news\node_modules\geoip2\node_modules\nan
294 silly cache addNamed cb [email protected]
295 verbose unbuild node_modules\geoip2\node_modules\nan
296 verbose gentlyRm vacuuming C:\git\news\node_modules\geoip2\node_modules\nan
297 verbose tar unpack C:\Users\BIA\AppData\Roaming\npm-cache\nan\2.3.3\package.tgz
298 verbose tar unpacking to C:\git\news\node_modules\geoip2\node_modules\nan
299 verbose gentlyRm vacuuming C:\git\news\node_modules\geoip2\node_modules\nan
300 silly gunzTarPerm modes [ '777', '666' ]
301 silly gunzTarPerm extractEntry package.json
302 silly gunzTarPerm modified mode [ 'package.json', 436, 438 ]
303 silly gunzTarPerm extractEntry README.md
304 silly gunzTarPerm modified mode [ 'README.md', 436, 438 ]
305 silly gunzTarPerm extractEntry include_dirs.js
306 silly gunzTarPerm modified mode [ 'include_dirs.js', 436, 438 ]
307 silly gunzTarPerm extractEntry nan_converters.h
308 silly gunzTarPerm modified mode [ 'nan_converters.h', 436, 438 ]
309 silly gunzTarPerm extractEntry LICENSE.md
310 silly gunzTarPerm modified mode [ 'LICENSE.md', 436, 438 ]
311 silly gunzTarPerm extractEntry doc/node_misc.md
312 silly gunzTarPerm modified mode [ 'doc/node_misc.md', 436, 438 ]
313 silly gunzTarPerm extractEntry doc/asyncworker.md
314 silly gunzTarPerm modified mode [ 'doc/asyncworker.md', 436, 438 ]
315 silly gunzTarPerm extractEntry doc/callback.md
316 silly gunzTarPerm modified mode [ 'doc/callback.md', 436, 438 ]
317 silly gunzTarPerm extractEntry doc/converters.md
318 silly gunzTarPerm modified mode [ 'doc/converters.md', 436, 438 ]
319 silly gunzTarPerm extractEntry doc/errors.md
320 silly gunzTarPerm modified mode [ 'doc/errors.md', 436, 438 ]
321 silly gunzTarPerm extractEntry doc/maybe_types.md
322 silly gunzTarPerm modified mode [ 'doc/maybe_types.md', 436, 438 ]
323 silly gunzTarPerm extractEntry doc/methods.md
324 silly gunzTarPerm modified mode [ 'doc/methods.md', 436, 438 ]
325 silly gunzTarPerm extractEntry doc/new.md
326 silly gunzTarPerm modified mode [ 'doc/new.md', 436, 438 ]
327 silly gunzTarPerm extractEntry doc/buffers.md
328 silly gunzTarPerm modified mode [ 'doc/buffers.md', 436, 438 ]
329 silly gunzTarPerm extractEntry doc/object_wrappers.md
330 silly gunzTarPerm modified mode [ 'doc/object_wrappers.md', 436, 438 ]
331 silly gunzTarPerm extractEntry doc/persistent.md
332 silly gunzTarPerm modified mode [ 'doc/persistent.md', 436, 438 ]
333 silly gunzTarPerm extractEntry doc/scopes.md
334 silly gunzTarPerm modified mode [ 'doc/scopes.md', 436, 438 ]
335 silly gunzTarPerm extractEntry doc/script.md
336 silly gunzTarPerm modified mode [ 'doc/script.md', 436, 438 ]
337 silly gunzTarPerm extractEntry doc/string_bytes.md
338 silly gunzTarPerm modified mode [ 'doc/string_bytes.md', 436, 438 ]
339 silly gunzTarPerm extractEntry doc/v8_internals.md
340 silly gunzTarPerm modified mode [ 'doc/v8_internals.md', 436, 438 ]
341 silly gunzTarPerm extractEntry doc/v8_misc.md
342 silly gunzTarPerm modified mode [ 'doc/v8_misc.md', 436, 438 ]
343 silly gunzTarPerm extractEntry nan.h
344 silly gunzTarPerm modified mode [ 'nan.h', 436, 438 ]
345 silly gunzTarPerm extractEntry nan_callbacks.h
346 silly gunzTarPerm modified mode [ 'nan_callbacks.h', 436, 438 ]
347 silly gunzTarPerm extractEntry nan_callbacks_12_inl.h
348 silly gunzTarPerm modified mode [ 'nan_callbacks_12_inl.h', 436, 438 ]
349 silly gunzTarPerm extractEntry nan_callbacks_pre_12_inl.h
350 silly gunzTarPerm modified mode [ 'nan_callbacks_pre_12_inl.h', 436, 438 ]
351 silly gunzTarPerm extractEntry nan_converters_43_inl.h
352 silly gunzTarPerm modified mode [ 'nan_converters_43_inl.h', 436, 438 ]
353 silly gunzTarPerm extractEntry nan_converters_pre_43_inl.h
354 silly gunzTarPerm modified mode [ 'nan_converters_pre_43_inl.h', 436, 438 ]
355 silly gunzTarPerm extractEntry nan_implementation_12_inl.h
356 silly gunzTarPerm modified mode [ 'nan_implementation_12_inl.h', 436, 438 ]
357 silly gunzTarPerm extractEntry nan_implementation_pre_12_inl.h
358 silly gunzTarPerm modified mode [ 'nan_implementation_pre_12_inl.h', 436, 438 ]
359 silly gunzTarPerm extractEntry nan_maybe_43_inl.h
360 silly gunzTarPerm modified mode [ 'nan_maybe_43_inl.h', 436, 438 ]
361 silly gunzTarPerm extractEntry nan_maybe_pre_43_inl.h
362 silly gunzTarPerm modified mode [ 'nan_maybe_pre_43_inl.h', 436, 438 ]
363 silly gunzTarPerm extractEntry nan_new.h
364 silly gunzTarPerm modified mode [ 'nan_new.h', 436, 438 ]
365 silly gunzTarPerm extractEntry nan_object_wrap.h
366 silly gunzTarPerm modified mode [ 'nan_object_wrap.h', 436, 438 ]
367 silly gunzTarPerm extractEntry nan_persistent_12_inl.h
368 silly gunzTarPerm modified mode [ 'nan_persistent_12_inl.h', 436, 438 ]
369 silly gunzTarPerm extractEntry nan_persistent_pre_12_inl.h
370 silly gunzTarPerm modified mode [ 'nan_persistent_pre_12_inl.h', 436, 438 ]
371 silly gunzTarPerm extractEntry nan_string_bytes.h
372 silly gunzTarPerm modified mode [ 'nan_string_bytes.h', 436, 438 ]
373 silly gunzTarPerm extractEntry nan_typedarray_contents.h
374 silly gunzTarPerm modified mode [ 'nan_typedarray_contents.h', 436, 438 ]
375 silly gunzTarPerm extractEntry nan_weak.h
376 silly gunzTarPerm modified mode [ 'nan_weak.h', 436, 438 ]
377 silly gunzTarPerm extractEntry CHANGELOG.md
378 silly gunzTarPerm modified mode [ 'CHANGELOG.md', 436, 438 ]
379 silly gunzTarPerm extractEntry tools/package.json
380 silly gunzTarPerm modified mode [ 'tools/package.json', 436, 438 ]
381 silly gunzTarPerm extractEntry tools/README.md
382 silly gunzTarPerm modified mode [ 'tools/README.md', 436, 438 ]
383 silly gunzTarPerm extractEntry tools/1to2.js
384 silly gunzTarPerm modified mode [ 'tools/1to2.js', 509, 511 ]
385 info preinstall [email protected]
386 silly install resolved []
387 verbose about to build C:\git\news\node_modules\geoip2\node_modules\nan
388 info build C:\git\news\node_modules\geoip2\node_modules\nan
389 verbose linkStuff [ false,
389 verbose linkStuff false,
389 verbose linkStuff false,
389 verbose linkStuff 'C:\git\news\node_modules\geoip2\node_modules' ]
390 info linkStuff [email protected]
391 verbose linkBins [email protected]
392 verbose linkMans [email protected]
393 verbose rebuildBundles [email protected]
394 info install [email protected]
395 info postinstall [email protected]
396 verbose unlock done using C:\Users\BIA\AppData\Roaming\npm-cache_locks\nan-14581a41209c6cbd.lock for C:\git\news\node_modules\geoip2\node_modules\nan
397 verbose about to build C:\git\news\node_modules\geoip2
398 info build C:\git\news\node_modules\geoip2
399 verbose linkStuff [ false, false, false, 'C:\git\news\node_modules' ]
400 info linkStuff [email protected]
401 verbose linkBins [email protected]
402 verbose linkMans [email protected]
403 verbose rebuildBundles [email protected]
404 verbose rebuildBundles [ 'nan' ]
405 info install [email protected]
406 verbose unsafe-perm in lifecycle true
407 info [email protected] Failed to exec install script
408 verbose unlock done using C:\Users\BIA\AppData\Roaming\npm-cache_locks\geoip2-500d78934c249c07.lock for C:\git\news\node_modules\geoip2
409 verbose stack Error: [email protected] install: node-gyp rebuild
409 verbose stack Exit status 1
409 verbose stack at EventEmitter. (C:\Program Files\nodejs\node_modules\npm\lib\utils\lifecycle.js:213:16)
409 verbose stack at EventEmitter.emit (events.js:110:17)
409 verbose stack at ChildProcess. (C:\Program Files\nodejs\node_modules\npm\lib\utils\spawn.js:14:12)
409 verbose stack at ChildProcess.emit (events.js:110:17)
409 verbose stack at maybeClose (child_process.js:1008:16)
409 verbose stack at Process.ChildProcess._handle.onexit (child_process.js:1080:5)
410 verbose pkgid [email protected]
411 verbose cwd C:\git\news
412 error Windows_NT 6.1.7601
413 error argv "C:\Program Files\nodejs\node.exe" "C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js" "i" "--save" "geoip2"
414 error node v0.12.0
415 error npm v2.5.1
416 error code ELIFECYCLE
417 error [email protected] install: node-gyp rebuild
417 error Exit status 1
418 error Failed at the [email protected] install script 'node-gyp rebuild'.
418 error This is most likely a problem with the geoip2 package,
418 error not with npm itself.
418 error Tell the author that this fails on your system:
418 error node-gyp rebuild
418 error You can get their info via:
418 error npm owner ls geoip2
418 error There is likely additional logging output above.
419 verbose exit [ 1, true ]
420 verbose unbuild node_modules\geoip2
421 info preuninstall [email protected]
422 info uninstall [email protected]
423 verbose unbuild rmStuff [email protected] from C:\git\news\node_modules
424 info postuninstall [email protected]
425 verbose gentlyRm vacuuming C:\git\news\node_modules\geoip2
426 silly gentlyRm purging C:\git\news\node_modules\geoip2
427 silly gentlyRm quitting because other entries in C:\git\news\node_modules

Error with Meteor

I'm using this package with Meteor, however, I get the following error:

meteor-tool/.1.4.2_3.54trdb++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/server-lib/node_modules/fibers/future.js:280
W20161124-01:40:17.113(-8)? (STDERR) 						throw(ex);
W20161124-01:40:17.114(-8)? (STDERR) 						^
W20161124-01:40:17.114(-8)? (STDERR)
W20161124-01:40:17.114(-8)? (STDERR) Error: Module version mismatch. Expected 46, got 48.
W20161124-01:40:17.114(-8)? (STDERR)     at Error (native)
W20161124-01:40:17.115(-8)? (STDERR)     at Object.Module._extensions..node (module.js:434:18)
W20161124-01:40:17.115(-8)? (STDERR)     at Module.load (module.js:343:32)
W20161124-01:40:17.115(-8)? (STDERR)     at Function.Module._load (module.js:300:12)
W20161124-01:40:17.115(-8)? (STDERR)     at Module.require (module.js:353:17)
W20161124-01:40:17.115(-8)? (STDERR)     at require (internal/module.js:12:17)
W20161124-01:40:17.116(-8)? (STDERR)     at Object.<anonymous> (/Users/soulmachine/github/myapp/node_modules/geoip2/node-geoip2.js:2:12)
W20161124-01:40:17.116(-8)? (STDERR)     at Module._compile (module.js:409:26)
W20161124-01:40:17.116(-8)? (STDERR)     at Object.Module._extensions..js (module.js:416:10)
W20161124-01:40:17.116(-8)? (STDERR)     at Module.load (module.js:343:32)
=> Exited with code: 1

It looks like a version mismatch error, I tried npm rebuild but this error still exits.

node_mmdb.node Exec format error

I'm getting this error when using this package on docker node:8.5.0-alpine:

web_1 | Error: Error loading shared library /home/nodeusr/ropo/node_modules/geoip2/lib/node_mmdb.node: Exec format error
web_1 | at Object.Module._extensions..node (module.js:653:18)
web_1 | at Module.load (module.js:545:32)
web_1 | at tryModuleLoad (module.js:508:12)
web_1 | at Function.Module._load (module.js:500:3)
web_1 | at Module.require (module.js:568:17)
web_1 | at require (internal/module.js:11:18)
web_1 | at Object. (/home/nodeusr/ropo/node_modules/geoip2/node-geoip2.js:2:12)
web_1 | at Module._compile (module.js:624:30)
web_1 | at Object.Module._extensions..js (module.js:635:10)
web_1 | at Module.load (module.js:545:32)

I've been looking everywhere for a fix with no luck.

Can you help?

Cheers,
Salvo

Module parse failed: Unexpected character '�' (1:2)

Node 9.6.0

I'm not really doing anything fancy. This is enough to trigger the error:

const geoip2 = require('geoip2')
geoip2.init();

ERROR in ./node_modules/geoip2/lib/node_mmdb.node 1:2
Module parse failed: Unexpected character '�' (1:2)
You may need an appropriate loader to handle this file type.
(Source code omitted for this binary file)
@ ./node_modules/geoip2/node-geoip2.js 2:11-42
@ ./src/index.js

Segfault when looking up IPs

Hi there:

I was creating a benchmark script to run your library and compare it to others I was considering, and I just wanted to let you know that, for whatever reason, this was causing a SEGFAULT.

It could be in its use of the premium MMDB files.

Let me know if I can provide any further information to help.

/* jshint ignore:start */
'use strict';

const path = require('path');
const fs = require('fs');
const os = require('os');
const gz = require('zlib');

const geoip2 = require('geoip2');
const request = require('request');
const tar = require('tar-fs')
const glob = require('glob');
const faker = require('faker');

const databases = [
  'GeoIP2-Connection-Type',
  'GeoIP2-Domain',
  'GeoIP2-Country',
  'GeoIP2-City',
  'GeoIP2-ISP'
];

const fakeIps = [];

for (let i = 0; i < 1000000; i++) {
  fakeIps.push(faker.fake('{{internet.ip}}'));
}

function getFilePath(database) {
  return path.join(__dirname, 'databases', database + '.mmdb');
}

const numDBs = databases.length;

function downloadMMDBs(cb) {

  const license = 'your license here';
  function downloadLink(edition) {
    return `http://www.maxmind.com/app/download_new?edition_id=${edition}&suffix=tar.gz&license_key=${license}`;
  }

  fs.mkdtemp(path.join(os.tmpdir(), 'geoip'), function(err, folder) {
    if (err) {
      throw err;
    }

    let processedDBs = 0;

    databases.forEach(function(db) {
      let link = downloadLink(db);

      // let writeStream = fs.createWriteStream();
      let newFolder = path.join(__dirname, 'databases');

      request(link)
        .pipe(gz.createUnzip())
        .pipe(tar.extract(folder))
        .on('finish', function() {
          processedDBs++;
          if (processedDBs === numDBs) {
            let globString = path.join(folder, '**', '*.mmdb');
            glob(globString, function(err, files) {
              if (err) {
                throw err;
              }
              let processedFiles = 0;
              files.forEach(function(file) {
                let newPath = path.join(__dirname, 'databases', path.basename(file));
                fs.createReadStream(file)
                  .pipe(fs.createWriteStream(newPath))
                  .on('finish', function() {
                    processedFiles++;
                    if (processedFiles === numDBs) {
                      cb();
                    }
                  })
              })
            });
          }
        });

    });

  });

}

function start() {
  console.log('Done downloading mmdb definitions. Beginning benchmarks');

  startGeoIP2();
}

function startGeoIP2() {
  databases.forEach(function(database) {
    console.log(`[geoip2] Getting results for: ${database}`);

    // Start test

    let path = getFilePath(database);

    // Initialization
    let startInit = Date.now();
    geoip2.init(path);
    let doneInit = Date.now();

    let initElapsed = doneInit - startInit;

    console.log(`[geoip2] Initialization for ${database} took: ${initElapsed}ms`);
    // record lookup
    let numIp = 0;
    let total = fakeIps.length;
    let startLookup = Date.now();

    fakeIps.forEach(function(ip) {
      let result = geoip2.lookupSimple(ip, function(err, result) {
        if (err) {
          throw err;
        }

        numIp++;

        if (numIp === total) {
          let doneLookup = Date.now();
          let lookupElapsed = doneInit - startInit;
          console.log(`[geoip2] Lookup results for: ${database}: lookup took: ${lookupElapsed}ms`);
        }

      });
    });

  });
}

// Check if we need to download the definitions
if (fs.existsSync(getFilePath(databases[0]))) {
  setImmediate(start);
} else {
  downloadMMDBs(start);
}

Abandoned project? Alernative here

Hello lovely people, ArchLinux user here.

I've tried to use this module but I get various errors while building it. However, my distro provides an up-to-date mmdblookup utility, which I've thought I could use through NodeJS, and the mmdblookup module was born, after checking twice there was nothing with such name in npm 😮

Long story short: there hasn't been any activity in this repo for over 3 years now, and issues seem to be ignored, so I wonder if this module will ever work again with NodeJS versions that are a bit higher than old 4 LTS (i.e. node 12), but in the meanwhile I'd like to know what you think of the alternative.

The npm test verify it works but it also shows some benchmark, and on my laptop it takes on average 5ms to retrieve a whole result for the ip 8.8.8.8.

I've thought that's not speedlight, but it's also just my laptop, and it's good enough if used behind a Map that self clean itself, let's say every 5 minutes.

The issue, in general: if this module will start working again on modern envs and modern node, I might just use it within my very same module as a way to provide a simplified Promise based API that "just works" ™️

However, if you'd like to take over the npm package name and maintain the module, it's at version 0.0 now, so there's plenty of time to organize that.

Best Regards.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.