@prosopo/ipinfo 0.3.25 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build$colon$cjs.log +4 -4
- package/.turbo/turbo-build$colon$tsc.log +10 -10
- package/.turbo/turbo-build.log +5 -5
- package/CHANGELOG.md +31 -0
- package/dist/IpInfoService.d.ts +1 -0
- package/dist/IpInfoService.d.ts.map +1 -1
- package/dist/IpInfoService.js +20 -0
- package/dist/IpInfoService.js.map +1 -1
- package/dist/backends/maxmind.d.ts +1 -0
- package/dist/backends/maxmind.d.ts.map +1 -1
- package/dist/backends/maxmind.js +27 -0
- package/dist/backends/maxmind.js.map +1 -1
- package/dist/cjs/IpInfoService.cjs +20 -0
- package/dist/cjs/backends/maxmind.cjs +27 -0
- package/dist/tests/ipInfoService.unit.test.js +37 -1
- package/dist/tests/ipInfoService.unit.test.js.map +1 -1
- package/dist/tests/maxmind.unit.test.js +60 -0
- package/dist/tests/maxmind.unit.test.js.map +1 -1
- package/dist/types.d.ts +1 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/IpInfoService.ts +21 -0
- package/src/backends/maxmind.ts +36 -0
- package/src/tests/ipInfoService.unit.test.ts +59 -0
- package/src/tests/maxmind.unit.test.ts +73 -0
- package/src/types.ts +6 -0
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
> @prosopo/ipinfo@0.
|
|
2
|
+
> @prosopo/ipinfo@0.4.1 build:cjs
|
|
3
3
|
> NODE_ENV=${NODE_ENV:-development}; vite build --config vite.cjs.config.ts --mode $NODE_ENV
|
|
4
4
|
|
|
5
5
|
ViteCommonJSConfig: .
|
|
@@ -29,8 +29,8 @@ Bundle build started
|
|
|
29
29
|
rendering chunks...
|
|
30
30
|
computing gzip size...
|
|
31
31
|
dist/cjs/index.cjs 0.47 kB │ gzip: 0.21 kB
|
|
32
|
-
dist/cjs/IpInfoService.cjs
|
|
32
|
+
dist/cjs/IpInfoService.cjs 3.72 kB │ gzip: 1.39 kB
|
|
33
33
|
dist/cjs/backends/ipapi.cjs 4.11 kB │ gzip: 1.75 kB
|
|
34
|
-
dist/cjs/backends/maxmind.cjs
|
|
34
|
+
dist/cjs/backends/maxmind.cjs 5.92 kB │ gzip: 1.89 kB
|
|
35
35
|
|
|
36
|
-
[32m✓ built in
|
|
36
|
+
[32m✓ built in 72ms[39m
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
|
|
2
|
-
> @prosopo/ipinfo@0.
|
|
2
|
+
> @prosopo/ipinfo@0.4.1 build:tsc
|
|
3
3
|
> tsc --build --verbose
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
1:48:39 PM - Projects in this build:
|
|
6
6
|
* ../../dev/config/tsconfig.json
|
|
7
7
|
* ../util/tsconfig.json
|
|
8
8
|
* ../logger/tsconfig.json
|
|
@@ -11,19 +11,19 @@
|
|
|
11
11
|
* ../types/tsconfig.json
|
|
12
12
|
* tsconfig.json
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
1:48:40 PM - Project '../../dev/config/tsconfig.json' is up to date because newest input '../../dev/config/src/webpack/webpack.config.ts' is older than output '../../dev/config/tsconfig.tsbuildinfo'
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
1:48:40 PM - Project '../util/tsconfig.json' is up to date because newest input '../util/src/url.ts' is older than output '../util/tsconfig.tsbuildinfo'
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
1:48:40 PM - Project '../logger/tsconfig.json' is up to date because newest input '../logger/src/logger.ts' is older than output '../logger/tsconfig.tsbuildinfo'
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
1:48:40 PM - Project '../locale/tsconfig.json' is up to date because newest input '../locale/src/translationKey.ts' is older than output '../locale/tsconfig.tsbuildinfo'
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
1:48:40 PM - Project '../util-crypto/tsconfig.json' is up to date because newest input '../util-crypto/src/types.ts' is older than output '../util-crypto/tsconfig.tsbuildinfo'
|
|
23
23
|
|
|
24
|
-
|
|
24
|
+
1:48:40 PM - Project '../types/tsconfig.json' is up to date because newest input '../types/src/types.test-d.ts' is older than output '../types/tsconfig.tsbuildinfo'
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
1:48:40 PM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
|
|
27
27
|
|
|
28
|
-
|
|
28
|
+
1:48:40 PM - Building project '/home/runner/work/captcha/captcha/packages/ipinfo/tsconfig.json'...
|
|
29
29
|
|
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
|
|
2
|
-
> @prosopo/ipinfo@0.
|
|
2
|
+
> @prosopo/ipinfo@0.4.1 build
|
|
3
3
|
> npm run build:cross-env -- --mode ${NODE_ENV:-development}
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
> @prosopo/ipinfo@0.
|
|
6
|
+
> @prosopo/ipinfo@0.4.1 build:cross-env
|
|
7
7
|
> vite build --config vite.esm.config.ts --mode production
|
|
8
8
|
|
|
9
9
|
ViteEsmConfig: .
|
|
@@ -34,8 +34,8 @@ rendering chunks...
|
|
|
34
34
|
computing gzip size...
|
|
35
35
|
dist/_virtual/_rolldown/runtime.js 0.04 kB │ gzip: 0.06 kB
|
|
36
36
|
dist/index.js 0.28 kB │ gzip: 0.15 kB
|
|
37
|
-
dist/IpInfoService.js
|
|
37
|
+
dist/IpInfoService.js 3.65 kB │ gzip: 1.38 kB
|
|
38
38
|
dist/backends/ipapi.js 4.07 kB │ gzip: 1.75 kB
|
|
39
|
-
dist/backends/maxmind.js
|
|
39
|
+
dist/backends/maxmind.js 5.91 kB │ gzip: 1.89 kB
|
|
40
40
|
|
|
41
|
-
[32m✓ built in
|
|
41
|
+
[32m✓ built in 69ms[39m
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,36 @@
|
|
|
1
1
|
# @prosopo/ipinfo
|
|
2
2
|
|
|
3
|
+
## 0.4.1
|
|
4
|
+
### Patch Changes
|
|
5
|
+
|
|
6
|
+
- Updated dependencies [477b4e7]
|
|
7
|
+
- Updated dependencies [e4d6f06]
|
|
8
|
+
- @prosopo/types@5.8.2
|
|
9
|
+
|
|
10
|
+
## 0.4.0
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- 886b664: Optionally answer `/healthz` with the node nearest the caller.
|
|
14
|
+
|
|
15
|
+
`/healthz` tells a client which node to pin its captcha calls to, and a node has always answered with its own name — so the pin is whatever the DNS layer picked. The DNS layer only sees the client's address when the client's resolver forwards it, which many do not. The provider always sees it, because the connection is already open.
|
|
16
|
+
|
|
17
|
+
Behind `PROSOPO_HEALTHZ_GEO_STEERING`, off by default. With it off nothing in this change runs and the response is unchanged, headers included.
|
|
18
|
+
|
|
19
|
+
- `IpInfoService.country(ip)` is a new MaxMind-only fast path: an in-process, synchronous read of the memory-mapped database, returning an ISO 3166-1 alpha-2 code or `undefined`. `lookup()` is unchanged and still prefers ipapi.is for its threat data; a country lookup does not need that data and must not pay a network call for it. Added to `IIpInfoService` in `@prosopo/ipinfo` and `@prosopo/types-env`.
|
|
20
|
+
- The country → host map is configuration, supplied by the deployment as JSON in `PROSOPO_HEALTHZ_GEO_ROUTES`. It is also the candidate set: a host that must not receive traffic simply does not appear in it. An unparseable or empty map leaves steering off rather than failing startup.
|
|
21
|
+
- A background poller (`PROSOPO_HEALTHZ_GEO_PROBE_INTERVAL_MS`, `PROSOPO_HEALTHZ_GEO_PROBE_TIMEOUT_MS`) tracks each candidate's health. Every candidate starts down and only becomes up on a successful probe, so a poller that has not run or is failing leaves steering off. The request path reads a boolean and never awaits a probe.
|
|
22
|
+
- The handler never awaits readiness. It reads `ipInfoService.isAvailable()`, which is false before the environment is ready, and answers with its own name. Loopback and private-range callers — deploy gates, container health checks — short-circuit the same way. `/healthz` stays dependency-free.
|
|
23
|
+
- `Cache-Control: no-store, private` is set whenever steering is on, before the decision, so it covers every branch. The answer varies per caller and no intermediary may cache and replay it.
|
|
24
|
+
- `prosopo_healthz_geo_outcomes_total{outcome}` on `/metrics` counts `steered`, `not_steered`, `target_down` and `geo_unavailable`. Every outcome but the first falls back to the node's own name, which is also the behaviour with steering off, so nothing else would show that steering had stopped working.
|
|
25
|
+
|
|
26
|
+
No client-side change: the load balancer already pins to whatever `host` the response carries.
|
|
27
|
+
|
|
28
|
+
### Patch Changes
|
|
29
|
+
|
|
30
|
+
- Updated dependencies [0c1f301]
|
|
31
|
+
- Updated dependencies [32d286d]
|
|
32
|
+
- @prosopo/types@5.8.1
|
|
33
|
+
|
|
3
34
|
## 0.3.25
|
|
4
35
|
### Patch Changes
|
|
5
36
|
|
package/dist/IpInfoService.d.ts
CHANGED
|
@@ -14,6 +14,7 @@ export declare class IpInfoService implements IIpInfoService {
|
|
|
14
14
|
constructor(config: IpInfoServiceConfig, backends?: IpInfoBackends);
|
|
15
15
|
initialize(): Promise<void>;
|
|
16
16
|
isAvailable(): boolean;
|
|
17
|
+
country(ip: string): string | undefined;
|
|
17
18
|
lookup(ip: string): Promise<IPInfoResponse>;
|
|
18
19
|
}
|
|
19
20
|
//# sourceMappingURL=IpInfoService.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IpInfoService.d.ts","sourceRoot":"","sources":["../src/IpInfoService.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAMtE,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CA+BjD;AAQD,MAAM,WAAW,cAAc;IAC9B,OAAO,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IAChC,KAAK,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;CAC5B;AAED,qBAAa,aAAc,YAAW,cAAc;IACnD,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,MAAM,CAAsB;gBAExB,MAAM,EAAE,mBAAmB,EAAE,QAAQ,CAAC,EAAE,cAAc;IA0B5D,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAcjC,WAAW,IAAI,OAAO;
|
|
1
|
+
{"version":3,"file":"IpInfoService.d.ts","sourceRoot":"","sources":["../src/IpInfoService.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAMtE,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CA+BjD;AAQD,MAAM,WAAW,cAAc;IAC9B,OAAO,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IAChC,KAAK,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;CAC5B;AAED,qBAAa,aAAc,YAAW,cAAc;IACnD,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,MAAM,CAAsB;gBAExB,MAAM,EAAE,mBAAmB,EAAE,QAAQ,CAAC,EAAE,cAAc;IA0B5D,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAcjC,WAAW,IAAI,OAAO;IAsBtB,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAMjC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;CA4CjD"}
|
package/dist/IpInfoService.js
CHANGED
|
@@ -51,6 +51,26 @@ var IpInfoService = class {
|
|
|
51
51
|
isAvailable() {
|
|
52
52
|
return (this.maxmindBackend?.isAvailable() ?? false) || (this.ipapiBackend?.isAvailable() ?? false);
|
|
53
53
|
}
|
|
54
|
+
/**
|
|
55
|
+
* MaxMind-only country fast path: the ISO 3166-1 alpha-2 code for `ip`, or
|
|
56
|
+
* undefined when it cannot be determined.
|
|
57
|
+
*
|
|
58
|
+
* Deliberately NOT `lookup()`. `lookup()` prefers ipapi.is for its threat
|
|
59
|
+
* data, which puts a network call to the sidecar on the caller's path; a
|
|
60
|
+
* caller that only wants a country does not need that data and must not pay
|
|
61
|
+
* for it. The MaxMind database is memory-mapped and read in-process, so this
|
|
62
|
+
* is synchronous and cannot fail on a network or a slow sidecar.
|
|
63
|
+
*
|
|
64
|
+
* Returns undefined rather than throwing for every failure mode — no
|
|
65
|
+
* MaxMind backend configured, backend not initialised yet, non-routable
|
|
66
|
+
* address, address absent from the database — so callers have exactly one
|
|
67
|
+
* "no answer" case to handle.
|
|
68
|
+
*/
|
|
69
|
+
country(ip) {
|
|
70
|
+
if (isNonRoutable(ip)) return void 0;
|
|
71
|
+
if (!this.maxmindBackend?.isAvailable()) return void 0;
|
|
72
|
+
return this.maxmindBackend.countryCode(ip);
|
|
73
|
+
}
|
|
54
74
|
async lookup(ip) {
|
|
55
75
|
if (isNonRoutable(ip)) return {
|
|
56
76
|
isValid: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IpInfoService.js","sourceRoot":"","sources":["../src/IpInfoService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"IpInfoService.js","sourceRoot":"","sources":["../src/IpInfoService.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,7 @@ export declare class MaxMindBackend {
|
|
|
16
16
|
constructor(config: MaxMindBackendConfig);
|
|
17
17
|
initialize(): Promise<void>;
|
|
18
18
|
isAvailable(): boolean;
|
|
19
|
+
countryCode(ip: string): string | undefined;
|
|
19
20
|
lookup(ip: string): Promise<IPInfoResponse>;
|
|
20
21
|
}
|
|
21
22
|
export type MaxMindUserType = "business" | "cafe" | "cellular" | "college" | "consumer_privacy_network" | "content_delivery_network" | "dialup" | "government" | "hosting" | "library" | "military" | "residential" | "router" | "school" | "search_engine_spider" | "traveler";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"maxmind.d.ts","sourceRoot":"","sources":["../../src/backends/maxmind.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAsB,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAgB,MAAM,gBAAgB,CAAC;AAOnE,MAAM,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;AAWlE,MAAM,WAAW,oBAAoB;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,UAAU,CAAC,EAAE,UAAU,CAAC;CACxB;AAqBD,qBAAa,cAAc;IAC1B,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,aAAa,CAA4B;IACjD,OAAO,CAAC,MAAM,CAAuB;gBAEzB,MAAM,EAAE,oBAAoB;IAIlC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAoCjC,WAAW,IAAI,OAAO;
|
|
1
|
+
{"version":3,"file":"maxmind.d.ts","sourceRoot":"","sources":["../../src/backends/maxmind.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAsB,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAgB,MAAM,gBAAgB,CAAC;AAOnE,MAAM,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;AAWlE,MAAM,WAAW,oBAAoB;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,UAAU,CAAC,EAAE,UAAU,CAAC;CACxB;AAqBD,qBAAa,cAAc;IAC1B,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,aAAa,CAA4B;IACjD,OAAO,CAAC,MAAM,CAAuB;gBAEzB,MAAM,EAAE,oBAAoB;IAIlC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAoCjC,WAAW,IAAI,OAAO;IAetB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAyBrC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;CA8HjD;AAUD,MAAM,MAAM,eAAe,GACxB,UAAU,GACV,MAAM,GACN,UAAU,GACV,SAAS,GACT,0BAA0B,GAC1B,0BAA0B,GAC1B,QAAQ,GACR,YAAY,GACZ,SAAS,GACT,SAAS,GACT,UAAU,GACV,aAAa,GACb,QAAQ,GACR,QAAQ,GACR,sBAAsB,GACtB,UAAU,CAAC"}
|
package/dist/backends/maxmind.js
CHANGED
|
@@ -44,6 +44,33 @@ var MaxMindBackend = class {
|
|
|
44
44
|
isAvailable() {
|
|
45
45
|
return this.cityReader !== null || this.asnReader !== null;
|
|
46
46
|
}
|
|
47
|
+
/**
|
|
48
|
+
* ISO 3166-1 alpha-2 country code, or undefined when the reader has no
|
|
49
|
+
* answer. Synchronous and allocation-light: the .mmdb is memory-mapped, so
|
|
50
|
+
* this is a tree walk with no I/O and no network.
|
|
51
|
+
*
|
|
52
|
+
* Separate from `lookup()` because callers that only need the country
|
|
53
|
+
* should not pay for the ASN read, the threat-field assembly, or the
|
|
54
|
+
* `IPInfoResponse` object. The reader-kind latch is shared with `lookup()`
|
|
55
|
+
* — `country()` rejects a City database and `city()` rejects a Country one,
|
|
56
|
+
* so the accessor has to be chosen from the database's own metadata.
|
|
57
|
+
*/
|
|
58
|
+
countryCode(ip) {
|
|
59
|
+
if (!this.cityReader) return void 0;
|
|
60
|
+
if (this.geoReaderKind !== "country") try {
|
|
61
|
+
const isoCode = this.cityReader.city(ip).country?.isoCode;
|
|
62
|
+
this.geoReaderKind = "city";
|
|
63
|
+
return isoCode;
|
|
64
|
+
} catch (error) {
|
|
65
|
+
if (!isBadMethodCall(error)) return;
|
|
66
|
+
this.geoReaderKind = "country";
|
|
67
|
+
}
|
|
68
|
+
try {
|
|
69
|
+
return this.cityReader.country(ip).country?.isoCode;
|
|
70
|
+
} catch {
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
47
74
|
async lookup(ip) {
|
|
48
75
|
if (!this.isAvailable()) return {
|
|
49
76
|
isValid: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"maxmind.js","sourceRoot":"","sources":["../../src/backends/maxmind.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"maxmind.js","sourceRoot":"","sources":["../../src/backends/maxmind.ts"],"names":[],"mappings":"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"}
|
|
@@ -51,6 +51,26 @@ var IpInfoService = class {
|
|
|
51
51
|
isAvailable() {
|
|
52
52
|
return (this.maxmindBackend?.isAvailable() ?? false) || (this.ipapiBackend?.isAvailable() ?? false);
|
|
53
53
|
}
|
|
54
|
+
/**
|
|
55
|
+
* MaxMind-only country fast path: the ISO 3166-1 alpha-2 code for `ip`, or
|
|
56
|
+
* undefined when it cannot be determined.
|
|
57
|
+
*
|
|
58
|
+
* Deliberately NOT `lookup()`. `lookup()` prefers ipapi.is for its threat
|
|
59
|
+
* data, which puts a network call to the sidecar on the caller's path; a
|
|
60
|
+
* caller that only wants a country does not need that data and must not pay
|
|
61
|
+
* for it. The MaxMind database is memory-mapped and read in-process, so this
|
|
62
|
+
* is synchronous and cannot fail on a network or a slow sidecar.
|
|
63
|
+
*
|
|
64
|
+
* Returns undefined rather than throwing for every failure mode — no
|
|
65
|
+
* MaxMind backend configured, backend not initialised yet, non-routable
|
|
66
|
+
* address, address absent from the database — so callers have exactly one
|
|
67
|
+
* "no answer" case to handle.
|
|
68
|
+
*/
|
|
69
|
+
country(ip) {
|
|
70
|
+
if (isNonRoutable(ip)) return void 0;
|
|
71
|
+
if (!this.maxmindBackend?.isAvailable()) return void 0;
|
|
72
|
+
return this.maxmindBackend.countryCode(ip);
|
|
73
|
+
}
|
|
54
74
|
async lookup(ip) {
|
|
55
75
|
if (isNonRoutable(ip)) return {
|
|
56
76
|
isValid: false,
|
|
@@ -44,6 +44,33 @@ var MaxMindBackend = class {
|
|
|
44
44
|
isAvailable() {
|
|
45
45
|
return this.cityReader !== null || this.asnReader !== null;
|
|
46
46
|
}
|
|
47
|
+
/**
|
|
48
|
+
* ISO 3166-1 alpha-2 country code, or undefined when the reader has no
|
|
49
|
+
* answer. Synchronous and allocation-light: the .mmdb is memory-mapped, so
|
|
50
|
+
* this is a tree walk with no I/O and no network.
|
|
51
|
+
*
|
|
52
|
+
* Separate from `lookup()` because callers that only need the country
|
|
53
|
+
* should not pay for the ASN read, the threat-field assembly, or the
|
|
54
|
+
* `IPInfoResponse` object. The reader-kind latch is shared with `lookup()`
|
|
55
|
+
* — `country()` rejects a City database and `city()` rejects a Country one,
|
|
56
|
+
* so the accessor has to be chosen from the database's own metadata.
|
|
57
|
+
*/
|
|
58
|
+
countryCode(ip) {
|
|
59
|
+
if (!this.cityReader) return void 0;
|
|
60
|
+
if (this.geoReaderKind !== "country") try {
|
|
61
|
+
const isoCode = this.cityReader.city(ip).country?.isoCode;
|
|
62
|
+
this.geoReaderKind = "city";
|
|
63
|
+
return isoCode;
|
|
64
|
+
} catch (error) {
|
|
65
|
+
if (!isBadMethodCall(error)) return;
|
|
66
|
+
this.geoReaderKind = "country";
|
|
67
|
+
}
|
|
68
|
+
try {
|
|
69
|
+
return this.cityReader.country(ip).country?.isoCode;
|
|
70
|
+
} catch {
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
47
74
|
async lookup(ip) {
|
|
48
75
|
if (!this.isAvailable()) return {
|
|
49
76
|
isValid: false,
|
|
@@ -19,10 +19,11 @@ const failure = (error) => ({
|
|
|
19
19
|
error,
|
|
20
20
|
ip: IP,
|
|
21
21
|
});
|
|
22
|
-
const stub = (available, answer = result("stub")) => ({
|
|
22
|
+
const stub = (available, answer = result("stub"), countryCode = "US") => ({
|
|
23
23
|
initialize: vi.fn(async () => { }),
|
|
24
24
|
isAvailable: vi.fn(() => available),
|
|
25
25
|
lookup: vi.fn(async () => answer),
|
|
26
|
+
countryCode: vi.fn(() => countryCode),
|
|
26
27
|
});
|
|
27
28
|
const service = (backends, config = {}) => new IpInfoService(config, {
|
|
28
29
|
maxmind: backends.maxmind,
|
|
@@ -234,6 +235,7 @@ describe("IpInfoService.lookup", () => {
|
|
|
234
235
|
initialize: vi.fn(async () => { }),
|
|
235
236
|
isAvailable: vi.fn(() => up),
|
|
236
237
|
lookup: vi.fn(async () => result("recovered")),
|
|
238
|
+
countryCode: vi.fn(() => undefined),
|
|
237
239
|
};
|
|
238
240
|
const svc = service({ ipapi: flaky });
|
|
239
241
|
expect(await svc.lookup(IP)).toEqual(failure("No IP info backend available"));
|
|
@@ -241,4 +243,38 @@ describe("IpInfoService.lookup", () => {
|
|
|
241
243
|
expect(await svc.lookup(IP)).toEqual(result("recovered"));
|
|
242
244
|
});
|
|
243
245
|
});
|
|
246
|
+
describe("IpInfoService.country", () => {
|
|
247
|
+
it("answers from MaxMind", () => {
|
|
248
|
+
expect(service({ maxmind: stub(true, result("maxmind"), "GB") }).country(IP)).toBe("GB");
|
|
249
|
+
});
|
|
250
|
+
it("never consults ipapi, even when ipapi is the preferred backend", () => {
|
|
251
|
+
const ipapi = stub(true, result("ipapi"));
|
|
252
|
+
const maxmind = stub(true, result("maxmind"), "FR");
|
|
253
|
+
expect(service({ maxmind, ipapi }).country(IP)).toBe("FR");
|
|
254
|
+
expect(ipapi.lookup).not.toHaveBeenCalled();
|
|
255
|
+
expect(ipapi.isAvailable).not.toHaveBeenCalled();
|
|
256
|
+
});
|
|
257
|
+
it("has no answer for a loopback caller, without reading the database", () => {
|
|
258
|
+
const maxmind = stub(true, result("maxmind"), "US");
|
|
259
|
+
expect(service({ maxmind }).country("127.0.0.1")).toBeUndefined();
|
|
260
|
+
expect(service({ maxmind }).country("::1")).toBeUndefined();
|
|
261
|
+
expect(service({ maxmind }).country("10.1.2.3")).toBeUndefined();
|
|
262
|
+
expect(maxmind.countryCode).not.toHaveBeenCalled();
|
|
263
|
+
});
|
|
264
|
+
it("has no answer when no MaxMind backend is configured", () => {
|
|
265
|
+
expect(service({ ipapi: stub(true) }).country(IP)).toBeUndefined();
|
|
266
|
+
});
|
|
267
|
+
it("has no answer while MaxMind is still unavailable", () => {
|
|
268
|
+
const maxmind = stub(false, result("maxmind"), "DE");
|
|
269
|
+
expect(service({ maxmind }).country(IP)).toBeUndefined();
|
|
270
|
+
expect(maxmind.countryCode).not.toHaveBeenCalled();
|
|
271
|
+
});
|
|
272
|
+
it("has no answer when the address is absent from the database", () => {
|
|
273
|
+
const maxmind = {
|
|
274
|
+
...stub(true, result("maxmind")),
|
|
275
|
+
countryCode: vi.fn(() => undefined),
|
|
276
|
+
};
|
|
277
|
+
expect(service({ maxmind }).country(IP)).toBeUndefined();
|
|
278
|
+
});
|
|
279
|
+
});
|
|
244
280
|
//# sourceMappingURL=ipInfoService.unit.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ipInfoService.unit.test.js","sourceRoot":"","sources":["../../src/tests/ipInfoService.unit.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ipInfoService.unit.test.js","sourceRoot":"","sources":["../../src/tests/ipInfoService.unit.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -501,4 +501,64 @@ describe("MaxMindBackend default reader", () => {
|
|
|
501
501
|
expect(backend.isAvailable()).toBe(false);
|
|
502
502
|
});
|
|
503
503
|
});
|
|
504
|
+
describe("MaxMindBackend.countryCode", () => {
|
|
505
|
+
it("reads the country from a City database", async () => {
|
|
506
|
+
const backend = new MaxMindBackend({
|
|
507
|
+
cityDbPath: CITY_DB,
|
|
508
|
+
openReader: opens({ city: reader({ city: () => cityData() }) }),
|
|
509
|
+
});
|
|
510
|
+
await backend.initialize();
|
|
511
|
+
expect(backend.countryCode(IP)).toBe("US");
|
|
512
|
+
});
|
|
513
|
+
it("falls back to country() on a Country database and latches the choice", async () => {
|
|
514
|
+
const city = vi.fn(badMethodCall);
|
|
515
|
+
const country = vi.fn(() => countryData());
|
|
516
|
+
const backend = new MaxMindBackend({
|
|
517
|
+
cityDbPath: CITY_DB,
|
|
518
|
+
openReader: opens({ city: reader({ city, country }) }),
|
|
519
|
+
});
|
|
520
|
+
await backend.initialize();
|
|
521
|
+
expect(backend.countryCode(IP)).toBe("US");
|
|
522
|
+
expect(backend.countryCode(IP)).toBe("US");
|
|
523
|
+
expect(city).toHaveBeenCalledTimes(1);
|
|
524
|
+
expect(country).toHaveBeenCalledTimes(2);
|
|
525
|
+
});
|
|
526
|
+
it("has no answer when the address is absent from the database", async () => {
|
|
527
|
+
const backend = new MaxMindBackend({
|
|
528
|
+
cityDbPath: CITY_DB,
|
|
529
|
+
openReader: opens({
|
|
530
|
+
city: reader({
|
|
531
|
+
city: () => {
|
|
532
|
+
throw new Error("The address 8.8.8.8 is not in the database");
|
|
533
|
+
},
|
|
534
|
+
}),
|
|
535
|
+
}),
|
|
536
|
+
});
|
|
537
|
+
await backend.initialize();
|
|
538
|
+
expect(backend.countryCode(IP)).toBeUndefined();
|
|
539
|
+
});
|
|
540
|
+
it("has no answer when no geo database was opened", async () => {
|
|
541
|
+
const backend = new MaxMindBackend({
|
|
542
|
+
asnDbPath: ASN_DB,
|
|
543
|
+
openReader: opens({ asn: reader({ asn: () => asnData() }) }),
|
|
544
|
+
});
|
|
545
|
+
await backend.initialize();
|
|
546
|
+
expect(backend.isAvailable()).toBe(true);
|
|
547
|
+
expect(backend.countryCode(IP)).toBeUndefined();
|
|
548
|
+
});
|
|
549
|
+
it("does not read the ASN database", async () => {
|
|
550
|
+
const asn = vi.fn(() => asnData());
|
|
551
|
+
const backend = new MaxMindBackend({
|
|
552
|
+
cityDbPath: CITY_DB,
|
|
553
|
+
asnDbPath: ASN_DB,
|
|
554
|
+
openReader: opens({
|
|
555
|
+
city: reader({ city: () => cityData() }),
|
|
556
|
+
asn: reader({ asn }),
|
|
557
|
+
}),
|
|
558
|
+
});
|
|
559
|
+
await backend.initialize();
|
|
560
|
+
expect(backend.countryCode(IP)).toBe("US");
|
|
561
|
+
expect(asn).not.toHaveBeenCalled();
|
|
562
|
+
});
|
|
563
|
+
});
|
|
504
564
|
//# sourceMappingURL=maxmind.unit.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"maxmind.unit.test.js","sourceRoot":"","sources":["../../src/tests/maxmind.unit.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"maxmind.unit.test.js","sourceRoot":"","sources":["../../src/tests/maxmind.unit.test.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import type { IPInfoResponse } from "@prosopo/types";
|
|
|
3
3
|
export interface IIpInfoService {
|
|
4
4
|
initialize(): Promise<void>;
|
|
5
5
|
lookup(ip: string): Promise<IPInfoResponse>;
|
|
6
|
+
country(ip: string): string | undefined;
|
|
6
7
|
isAvailable(): boolean;
|
|
7
8
|
}
|
|
8
9
|
export interface IpInfoServiceConfig {
|