domainstat 1.0.9 → 1.2.0
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/README.md +2 -2
- package/dist/adapters/altStatusAdapter.d.ts +12 -0
- package/dist/adapters/baseAdapter.d.ts +16 -0
- package/dist/adapters/dohAdapter.d.ts +10 -0
- package/dist/adapters/rdapAdapter.d.ts +10 -0
- package/dist/adapters/rdapAdapter.d.ts.map +1 -1
- package/dist/adapters/whoisApiAdapter.d.ts +13 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.js +6 -6
- package/dist/index copy.d.ts +8 -0
- package/dist/index copy.d.ts.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/rdap-parser.d.ts +74 -0
- package/dist/tldAdapters/index.d.ts +9 -0
- package/dist/tldAdapters/index.d.ts.map +1 -1
- package/dist/tldAdapters/ngAdapter.d.ts +11 -0
- package/dist/types.d.ts +88 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/validator.d.ts +3 -0
- package/package.json +4 -1
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
type JCardProperty = [string, Record<string, any>, string, string | number];
|
|
2
|
+
type JCard = ["vcard", JCardProperty[]];
|
|
3
|
+
interface RdapLink {
|
|
4
|
+
value?: string;
|
|
5
|
+
rel?: string;
|
|
6
|
+
href?: string;
|
|
7
|
+
type?: string;
|
|
8
|
+
}
|
|
9
|
+
interface RdapEvent {
|
|
10
|
+
eventAction: string;
|
|
11
|
+
eventDate: string;
|
|
12
|
+
}
|
|
13
|
+
interface RdapPublicId {
|
|
14
|
+
type: string;
|
|
15
|
+
identifier: string;
|
|
16
|
+
}
|
|
17
|
+
interface RdapEntity {
|
|
18
|
+
objectClassName?: string;
|
|
19
|
+
handle?: string;
|
|
20
|
+
roles?: string[];
|
|
21
|
+
vcardArray?: JCard;
|
|
22
|
+
entities?: RdapEntity[];
|
|
23
|
+
publicIds?: RdapPublicId[];
|
|
24
|
+
links?: RdapLink[];
|
|
25
|
+
}
|
|
26
|
+
interface RdapNameserver {
|
|
27
|
+
ldhName?: string;
|
|
28
|
+
}
|
|
29
|
+
interface RdapData {
|
|
30
|
+
rdap?: RdapData;
|
|
31
|
+
ldhName?: string;
|
|
32
|
+
status?: string[];
|
|
33
|
+
events?: RdapEvent[];
|
|
34
|
+
entities?: RdapEntity[];
|
|
35
|
+
nameservers?: RdapNameserver[];
|
|
36
|
+
[key: string]: any;
|
|
37
|
+
}
|
|
38
|
+
type Whois = {
|
|
39
|
+
domainInfo: {
|
|
40
|
+
domainName: string;
|
|
41
|
+
registeredDate: string;
|
|
42
|
+
expiryDate: string;
|
|
43
|
+
lastUpdate: string;
|
|
44
|
+
status: string[];
|
|
45
|
+
nameservers?: string[] | undefined;
|
|
46
|
+
};
|
|
47
|
+
registrarInfo: {
|
|
48
|
+
registrar: string;
|
|
49
|
+
iana_id: string;
|
|
50
|
+
url: string;
|
|
51
|
+
abuseEmail: string;
|
|
52
|
+
abusePhone: string;
|
|
53
|
+
};
|
|
54
|
+
registrantInfo: {
|
|
55
|
+
fullName: string;
|
|
56
|
+
phone: string;
|
|
57
|
+
email: string;
|
|
58
|
+
address: {
|
|
59
|
+
street: string;
|
|
60
|
+
city: string;
|
|
61
|
+
zipcode: string;
|
|
62
|
+
country: string;
|
|
63
|
+
state?: string | undefined;
|
|
64
|
+
};
|
|
65
|
+
};
|
|
66
|
+
rawWhoisText?: string | undefined;
|
|
67
|
+
rawWhoisJson?: any;
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* Parses RDAP JSON data to match the WhoisSchema.
|
|
71
|
+
*/
|
|
72
|
+
export declare function parseRdapToWhois(rdapResponse: RdapData): Whois;
|
|
73
|
+
export {};
|
|
74
|
+
//# sourceMappingURL=rdap-parser.d.ts.map
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { CheckerAdapter } from '../types';
|
|
2
|
+
export interface TldAdapter {
|
|
3
|
+
dns?: CheckerAdapter;
|
|
4
|
+
rdap?: CheckerAdapter;
|
|
5
|
+
whois?: CheckerAdapter;
|
|
6
|
+
}
|
|
7
|
+
export declare const tldAdapters: Record<string, TldAdapter>;
|
|
8
|
+
export declare function getTldAdapter(suffix?: string): TldAdapter | undefined;
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tldAdapters/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tldAdapters/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1C,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,EAAE,cAAc,CAAC;IACrB,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,KAAK,CAAC,EAAE,cAAc,CAAC;CACxB;AAED,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAMlD,CAAC;AAEF,wBAAgB,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAMrE"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { BaseCheckerAdapter } from '../adapters/baseAdapter';
|
|
2
|
+
import { AdapterResponse, AdapterSource, ParsedDomain } from '../types';
|
|
3
|
+
export declare class NgAdapter extends BaseCheckerAdapter {
|
|
4
|
+
private source;
|
|
5
|
+
constructor(source: AdapterSource, namespace: AdapterSource);
|
|
6
|
+
private query;
|
|
7
|
+
protected doCheck(domainObj: ParsedDomain, opts?: {
|
|
8
|
+
signal?: AbortSignal;
|
|
9
|
+
}): Promise<AdapterResponse>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=ngAdapter.d.ts.map
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import type { IResult } from 'tldts-core';
|
|
2
|
+
export type Availability = 'unregistered' | 'registered' | 'unsupported' | 'invalid' | 'unknown';
|
|
3
|
+
export type AdapterSource = 'validator' | 'dns.doh' | 'rdap' | 'rdap.ng' | 'altstatus' | 'altstatus.domainr' | 'altstatus.mono' | 'whois.api' | 'app';
|
|
4
|
+
export interface AdapterError {
|
|
5
|
+
code: string;
|
|
6
|
+
message: string;
|
|
7
|
+
retryable: boolean;
|
|
8
|
+
}
|
|
9
|
+
export interface AdapterResponse {
|
|
10
|
+
domain: string;
|
|
11
|
+
availability: Availability;
|
|
12
|
+
fineStatus?: 'expiring_soon' | 'registered_not_in_use' | 'premium' | 'for_sale' | 'reserved';
|
|
13
|
+
source: AdapterSource;
|
|
14
|
+
raw: any;
|
|
15
|
+
/**
|
|
16
|
+
* Time taken for the adapter to produce this response in milliseconds.
|
|
17
|
+
*/
|
|
18
|
+
latency?: number;
|
|
19
|
+
error?: AdapterError;
|
|
20
|
+
}
|
|
21
|
+
export interface DomainStatus {
|
|
22
|
+
domain: string;
|
|
23
|
+
availability: Availability;
|
|
24
|
+
fineStatus?: 'expiring_soon' | 'registered_not_in_use' | 'premium' | 'for_sale' | 'reserved';
|
|
25
|
+
resolver: AdapterSource;
|
|
26
|
+
/**
|
|
27
|
+
* Raw responses from each adapter keyed by its namespace.
|
|
28
|
+
*/
|
|
29
|
+
raw: Record<string, any>;
|
|
30
|
+
/**
|
|
31
|
+
* Parsed responses from each adapter keyed by its namespace.
|
|
32
|
+
*/
|
|
33
|
+
parsed: Record<string, any>;
|
|
34
|
+
/**
|
|
35
|
+
* Latency (in ms) reported by each adapter keyed by its namespace.
|
|
36
|
+
*/
|
|
37
|
+
latencies: Record<string, number>;
|
|
38
|
+
error?: AdapterError;
|
|
39
|
+
}
|
|
40
|
+
export type ParsedDomain = IResult;
|
|
41
|
+
export interface CheckerAdapter {
|
|
42
|
+
/** Unique identifier used to store results for this adapter */
|
|
43
|
+
namespace: string;
|
|
44
|
+
check(domainObj: ParsedDomain, opts?: {
|
|
45
|
+
tldConfig?: TldConfigEntry;
|
|
46
|
+
signal?: AbortSignal;
|
|
47
|
+
}): Promise<AdapterResponse>;
|
|
48
|
+
}
|
|
49
|
+
export interface TldConfigEntry {
|
|
50
|
+
rdapServer?: string;
|
|
51
|
+
skipRdap?: boolean;
|
|
52
|
+
}
|
|
53
|
+
export interface CheckOptions {
|
|
54
|
+
logger?: Console;
|
|
55
|
+
verbose?: boolean;
|
|
56
|
+
concurrency?: number;
|
|
57
|
+
/** Only run adapters whose namespace starts with one of these prefixes */
|
|
58
|
+
only?: string[];
|
|
59
|
+
/** Skip adapters whose namespace starts with one of these prefixes */
|
|
60
|
+
skip?: string[];
|
|
61
|
+
tldConfig?: TldConfigEntry;
|
|
62
|
+
/**
|
|
63
|
+
* Enable or disable caching. Caching is enabled by default.
|
|
64
|
+
*/
|
|
65
|
+
cache?: boolean;
|
|
66
|
+
/**
|
|
67
|
+
* API keys for third-party services.
|
|
68
|
+
*/
|
|
69
|
+
apiKeys?: {
|
|
70
|
+
domainr?: string;
|
|
71
|
+
whoisfreaks?: string;
|
|
72
|
+
whoisxml?: string;
|
|
73
|
+
};
|
|
74
|
+
/** When true, run adapters in parallel */
|
|
75
|
+
burstMode?: boolean;
|
|
76
|
+
/**
|
|
77
|
+
* Delay before launching the next adapter in serial mode, keyed by adapter namespace.
|
|
78
|
+
* Allows staggering requests so earlier adapters get a head start before others begin.
|
|
79
|
+
* Defaults to 200ms when not specified for an adapter.
|
|
80
|
+
*/
|
|
81
|
+
staggerDelay?: Partial<Record<AdapterSource, number>>;
|
|
82
|
+
/**
|
|
83
|
+
* Maximum execution time per adapter in milliseconds. When exceeded, the adapter is aborted.
|
|
84
|
+
* Provide values keyed by adapter namespace. If not specified, defaults may apply.
|
|
85
|
+
*/
|
|
86
|
+
timeoutConfig?: Partial<Record<AdapterSource, number>>;
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,MAAM,YAAY,GAAG,cAAc,GAAG,YAAY,GAAG,aAAa,GAAG,SAAS,GAAG,SAAS,CAAC;AAEjG,MAAM,MAAM,aAAa,GACrB,WAAW,GACX,SAAS,GACT,MAAM,GACN,SAAS,GACT,WAAW,GACX,mBAAmB,GACnB,gBAAgB,GAChB,WAAW,GACX,KAAK,CAAC;AAKV,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,CAAC,EAAE,eAAe,GAAG,uBAAuB,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;IAC7F,MAAM,EAAE,aAAa,CAAC;IACtB,GAAG,EAAE,GAAG,CAAC;IACT;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,YAAY,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,CAAC,EAAE,eAAe,GAAG,uBAAuB,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;IAC7F,QAAQ,EAAE,aAAa,CAAC;IACxB;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACzB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,KAAK,CAAC,EAAE,YAAY,CAAC;CACtB;AAED,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC;AAEnC,MAAM,WAAW,cAAc;IAC7B,+DAA+D;IAC/D,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CACH,SAAS,EAAE,YAAY,EACvB,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,cAAc,CAAC;QAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAC1D,OAAO,CAAC,eAAe,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0EAA0E;IAC1E,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,sEAAsE;IACtE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;OAEG;IACH,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,0CAA0C;IAC1C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,MAAM,YAAY,GAAG,cAAc,GAAG,YAAY,GAAG,aAAa,GAAG,SAAS,GAAG,SAAS,CAAC;AAEjG,MAAM,MAAM,aAAa,GACrB,WAAW,GACX,SAAS,GACT,MAAM,GACN,SAAS,GACT,WAAW,GACX,mBAAmB,GACnB,gBAAgB,GAChB,WAAW,GACX,KAAK,CAAC;AAKV,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,CAAC,EAAE,eAAe,GAAG,uBAAuB,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;IAC7F,MAAM,EAAE,aAAa,CAAC;IACtB,GAAG,EAAE,GAAG,CAAC;IACT;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,YAAY,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,CAAC,EAAE,eAAe,GAAG,uBAAuB,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;IAC7F,QAAQ,EAAE,aAAa,CAAC;IACxB;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACzB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,KAAK,CAAC,EAAE,YAAY,CAAC;CACtB;AAED,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC;AAEnC,MAAM,WAAW,cAAc;IAC7B,+DAA+D;IAC/D,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CACH,SAAS,EAAE,YAAY,EACvB,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,cAAc,CAAC;QAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAC1D,OAAO,CAAC,eAAe,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0EAA0E;IAC1E,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,sEAAsE;IACtE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;OAEG;IACH,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,0CAA0C;IAC1C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;IACtD;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;CACxD"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "domainstat",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": "Extremely fast domain status checker library using DoH, RDAP and WHOIS API.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -37,6 +37,9 @@
|
|
|
37
37
|
"bin": {
|
|
38
38
|
"domainstat": "./dist/cli.js"
|
|
39
39
|
},
|
|
40
|
+
"files": [
|
|
41
|
+
"dist"
|
|
42
|
+
],
|
|
40
43
|
"license": "MIT",
|
|
41
44
|
"dependencies": {
|
|
42
45
|
"tldts": "^7.0.19"
|