@cleandns/whois-rdap 1.0.1 → 1.0.3
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/dist/index.js +2 -0
- package/dist/port43servers.js +97 -2
- package/package.json +1 -1
- package/src/index.ts +1 -1
- package/whois.d.ts +5 -1
package/dist/index.js
CHANGED
|
@@ -9,6 +9,7 @@ const eventMap = new Map([
|
|
|
9
9
|
["last changed", "updated"],
|
|
10
10
|
["expiration", "expires"],
|
|
11
11
|
]);
|
|
12
|
+
whois(process.argv[2]).then((r) => console.log(r));
|
|
12
13
|
export async function whois(domain, options = { fetch: fetch }) {
|
|
13
14
|
var _a, _b, _c, _d, _e, _f;
|
|
14
15
|
const fetch = options.fetch;
|
|
@@ -168,6 +169,7 @@ function findTimestamps(values) {
|
|
|
168
169
|
for (const [event, field] of eventMap) {
|
|
169
170
|
const date = events.find((ev) => ev.eventAction === event);
|
|
170
171
|
if (date === null || date === void 0 ? void 0 : date.eventDate) {
|
|
172
|
+
console.log(date);
|
|
171
173
|
ts[field] = new Date(date.eventDate);
|
|
172
174
|
}
|
|
173
175
|
}
|
package/dist/port43servers.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { normalizeWhoisStatus } from "./whoisStatus.js";
|
|
2
2
|
export const port43parsers = {
|
|
3
3
|
rs(response, record) {
|
|
4
|
-
response = response.replace(/\r/g,
|
|
4
|
+
response = response.replace(/\r/g, "");
|
|
5
5
|
let m;
|
|
6
6
|
(m = response.match(/^Registrar:[ \t]*(\S[^\n]*)/m)) &&
|
|
7
7
|
(record.registrar.name = m[1]);
|
|
@@ -21,6 +21,99 @@ export const port43parsers = {
|
|
|
21
21
|
record.nameservers.push(m[1].toLowerCase());
|
|
22
22
|
});
|
|
23
23
|
},
|
|
24
|
+
nl(response, record) {
|
|
25
|
+
let m;
|
|
26
|
+
(m = response.match(/^Registrar:\s+(\S[^\n]*)/m)) &&
|
|
27
|
+
(record.registrar.name = m[1]);
|
|
28
|
+
(m = response.match(/^Reseller:\s+(\S[^\n]*)/m)) &&
|
|
29
|
+
(record.reseller = m[1]);
|
|
30
|
+
(m = response.match(/^Status:[ \t]*(\S[^\n]+)/m)) &&
|
|
31
|
+
(record.status = [m[1]]);
|
|
32
|
+
(m = response.match(/^Domain nameservers:[ \t]*\n((?:\S+\n)+)/m)) &&
|
|
33
|
+
(record.nameservers = m[1].trim().split(/\s+/));
|
|
34
|
+
(m = response.match(/^Creat\w* Date: (\d\d\d\d-\d\d-\d\d)/m)) &&
|
|
35
|
+
(record.ts.created = new Date(m[1]));
|
|
36
|
+
(m = response.match(/^Updat\w* Date: (\d\d\d\d-\d\d-\d\d)/m)) &&
|
|
37
|
+
(record.ts.updated = new Date(m[1]));
|
|
38
|
+
(m = response.match(/^Expir\w* Date: (\d\d\d\d-\d\d-\d\d)/m)) &&
|
|
39
|
+
(record.ts.expires = new Date(m[1]));
|
|
40
|
+
},
|
|
41
|
+
kr(response, record) {
|
|
42
|
+
let m;
|
|
43
|
+
(m = response.match(/^Authorized Agency\s*: (.*?)(?=\(http|$)/m)) &&
|
|
44
|
+
(record.registrar.name = m[1]);
|
|
45
|
+
// (m = response.match(/^Reseller:\s+(\S[^\n]*)/m)) && (record.reseller = m[1]);
|
|
46
|
+
(m = response.match(/^Domain Status\s*: [ \t]*(\S[^\n]+)/m)) &&
|
|
47
|
+
(record.status = m[1].trim().split(/\s+/));
|
|
48
|
+
(m = response.matchAll(/^Host Name\s*: (\S+)/gm)) &&
|
|
49
|
+
(record.nameservers = [...m].map((t) => t[1]));
|
|
50
|
+
(m = response.match(/^Registered Date\s*: (\d\d\d\d). (\d\d). (\d\d)/m)) &&
|
|
51
|
+
(record.ts.created = new Date(`${m[1]}-${m[2]}-${m[3]}`));
|
|
52
|
+
(m = response.match(/^Last Updated Date\s*: (\d\d\d\d). (\d\d). (\d\d)/m)) && (record.ts.updated = new Date(`${m[1]}-${m[2]}-${m[3]}`));
|
|
53
|
+
(m = response.match(/^Expiration Date\s*: (\d\d\d\d). (\d\d). (\d\d)/m)) &&
|
|
54
|
+
(record.ts.expires = new Date(`${m[1]}-${m[2]}-${m[3]}`));
|
|
55
|
+
},
|
|
56
|
+
tr(response, record) {
|
|
57
|
+
let m;
|
|
58
|
+
(m = response.match(/^Organization Name\s*: (.+)/m)) &&
|
|
59
|
+
(record.registrar.name = m[1]);
|
|
60
|
+
(m = response.match(/^NIC Handle\s*: (.+)/m)) &&
|
|
61
|
+
(record.registrar.id = m[1]);
|
|
62
|
+
// (m = response.match(/^Reseller:\s+(\S[^\n]*)/m)) && (record.reseller = m[1]);
|
|
63
|
+
(m = response.match(/^Domain Status\s*: (\S[^\n]+)/m)) &&
|
|
64
|
+
(record.status = m[1].trim().split(/\s+/));
|
|
65
|
+
(m = response.match(/^\*\* Domain Servers\s*:((?:\n\S+)+)/m)) &&
|
|
66
|
+
(record.nameservers = m[1].trim().split(/\s+/));
|
|
67
|
+
(m = response.match(/^Created on.+: (\d\d\d\d)-(\w\w\w)-(\d\d)/m)) &&
|
|
68
|
+
(record.ts.created = new Date(`${m[2]} ${m[3]}, ${m[1]}`));
|
|
69
|
+
(m = response.match(/^Expires on.+: (\d\d\d\d)-(\w\w\w)-(\d\d)/m)) &&
|
|
70
|
+
(record.ts.expires = new Date(`${m[2]} ${m[3]}, ${m[1]}`));
|
|
71
|
+
},
|
|
72
|
+
be(response, record) {
|
|
73
|
+
let m;
|
|
74
|
+
(m = response.match(/^Registrar:\s*Name:\s+(.+)/m)) &&
|
|
75
|
+
(record.registrar.name = m[1]);
|
|
76
|
+
(m = response.match(/^Status:\s+(.+)/m)) && (record.status = [m[1].trim()]);
|
|
77
|
+
(m = response.match(/^Nameservers\s*:((?:\n\S+)+)/m)) &&
|
|
78
|
+
(record.nameservers = m[1].trim().split(/\s+/));
|
|
79
|
+
(m = response.match(/^Registered:\s+\w\w\w (\w\w\w) (\d\d) (\d\d\d\d)/m)) &&
|
|
80
|
+
(record.ts.created = new Date(`${m[1]} ${m[2]}, ${m[3]}`));
|
|
81
|
+
},
|
|
82
|
+
it(response, record) {
|
|
83
|
+
let m;
|
|
84
|
+
(m = response.match(/^Registrar\s*Organization:\s*(.+)/m)) &&
|
|
85
|
+
(record.registrar.name = m[1]);
|
|
86
|
+
(m = response.match(/^Status:\s*(.+)/m)) &&
|
|
87
|
+
(record.status = m[1].trim().split(/\s+/));
|
|
88
|
+
(m = response.match(/^Created:\s*(\d\d\d\d-\d\d-\d\d \d\d:\d\d:\d\d)/m)) &&
|
|
89
|
+
(record.ts.created = new Date(m[1]));
|
|
90
|
+
(m = response.match(/^Last Update:\s*(\d\d\d\d-\d\d-\d\d \d\d:\d\d:\d\d)/m)) && (record.ts.updated = new Date(m[1]));
|
|
91
|
+
(m = response.match(/^Expire Date:\s*(\d\d\d\d-\d\d-\d\d)/m)) &&
|
|
92
|
+
(record.ts.expires = new Date(m[1]));
|
|
93
|
+
(m = response.match(/^Nameservers((?:\n\S+)+)/m)) &&
|
|
94
|
+
(record.nameservers = m[1].trim().split(/\s+/));
|
|
95
|
+
},
|
|
96
|
+
de(response, record) {
|
|
97
|
+
let m;
|
|
98
|
+
// (m = response.match(/^Registrar:\s*(.+)/m)) && (record.registrar.name = m[1]);
|
|
99
|
+
(m = response.match(/^Status:\s*(.+)/m)) &&
|
|
100
|
+
(record.status = m[1].trim().split(/\s+/));
|
|
101
|
+
(m = response.matchAll(/^Nserver: (\S+)/gm)) &&
|
|
102
|
+
(record.nameservers = [...m].map((t) => t[1]));
|
|
103
|
+
// (m = response.match(/^Creation Date:\s*(\d\d\d\d-\d\d-\d\d)/m)) && (record.ts.created = new Date (m[1]));
|
|
104
|
+
(m = response.match(/^Changed: (\d\d\d\d-\d\d-\d\d\S)/m)) &&
|
|
105
|
+
(record.ts.updated = new Date(m[1]));
|
|
106
|
+
// (m = response.match(/^Expiration Date:\s*(\d\d\d\d-\d\d-\d\d)/m)) && (record.ts.expires = new Date (m[1]));
|
|
107
|
+
},
|
|
108
|
+
eu(response, record) {
|
|
109
|
+
let m;
|
|
110
|
+
(m = response.match(/^Registrar:\s*Name:\s*(.+)/m)) &&
|
|
111
|
+
(record.registrar.name = m[1]);
|
|
112
|
+
(m = response.match(/^Reseller:\s*Organisation:\s*(.+)/m)) &&
|
|
113
|
+
(record.reseller = m[1]);
|
|
114
|
+
(m = response.match(/^Name servers:((?:\n\S+)+)/m)) &&
|
|
115
|
+
(record.nameservers = m[1].trim().split(/\s+/));
|
|
116
|
+
},
|
|
24
117
|
};
|
|
25
118
|
export const port43servers = {
|
|
26
119
|
"br.com": "whois.centralnic.net",
|
|
@@ -489,7 +582,9 @@ export const port43servers = {
|
|
|
489
582
|
be: "whois.dns.be",
|
|
490
583
|
bf: null,
|
|
491
584
|
bg: "whois.register.bg",
|
|
492
|
-
bh:
|
|
585
|
+
bh: "whois.nic.bh",
|
|
586
|
+
"com.bh": "whois.nic.bh",
|
|
587
|
+
"org.bh": "whois.nic.bh",
|
|
493
588
|
bi: "whois1.nic.bi",
|
|
494
589
|
bj: "whois.nic.bj",
|
|
495
590
|
bl: null,
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -234,7 +234,7 @@ function findTimestamps(values: any[]) {
|
|
|
234
234
|
for (const [event, field] of eventMap) {
|
|
235
235
|
const date = events.find((ev: any) => ev.eventAction === event);
|
|
236
236
|
if (date?.eventDate) {
|
|
237
|
-
ts[field] = new Date(date.eventDate);
|
|
237
|
+
ts[field] = new Date(date.eventDate.replace(/0000Z$/, 'Z'));
|
|
238
238
|
}
|
|
239
239
|
}
|
|
240
240
|
|
package/whois.d.ts
CHANGED