@cleandns/whois-rdap 1.0.2 → 1.0.4
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 +4 -6
- package/dist/port43servers.js +97 -2
- package/package.json +1 -1
- package/src/index.ts +2 -3
package/dist/index.js
CHANGED
|
@@ -112,10 +112,10 @@ export async function whois(domain, options = { fetch: fetch }) {
|
|
|
112
112
|
// registrar
|
|
113
113
|
const { events, ...registrar } = registrars.sort((a, b) => {
|
|
114
114
|
var _a, _b;
|
|
115
|
-
// console.warn({ a, b });
|
|
116
115
|
const aDate = ((_a = a.events.find((ev) => ev.eventAction === "registration")) === null || _a === void 0 ? void 0 : _a.eventDate) || 0;
|
|
117
116
|
const bDate = ((_b = b.events.find((ev) => ev.eventAction === "registration")) === null || _b === void 0 ? void 0 : _b.eventDate) || 0;
|
|
118
|
-
|
|
117
|
+
console.log({ aDate, bDate });
|
|
118
|
+
return new Date(bDate.replace(/\+0000Z$/, 'Z')).valueOf() - new Date(aDate.replace(/\+0000Z$/, 'Z')).valueOf();
|
|
119
119
|
})[0] || { id: 0, name: "" };
|
|
120
120
|
response.registrar = registrar;
|
|
121
121
|
// reseller
|
|
@@ -168,11 +168,9 @@ function findTimestamps(values) {
|
|
|
168
168
|
for (const [event, field] of eventMap) {
|
|
169
169
|
const date = events.find((ev) => ev.eventAction === event);
|
|
170
170
|
if (date === null || date === void 0 ? void 0 : date.eventDate) {
|
|
171
|
-
ts[field] = new Date(date.eventDate);
|
|
171
|
+
ts[field] = new Date(date.eventDate.replace(/\+0000Z$/, 'Z'));
|
|
172
172
|
}
|
|
173
173
|
}
|
|
174
174
|
return ts;
|
|
175
175
|
}
|
|
176
|
-
|
|
177
|
-
// console.log(JSON.stringify(r, null, 2))
|
|
178
|
-
// );
|
|
176
|
+
await whois(process.argv[2]).then((r) => console.log(JSON.stringify(r, null, 2)));
|
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
|
@@ -155,14 +155,13 @@ export async function whois(domain: string, options: WhoisOptions = { fetch: fet
|
|
|
155
155
|
|
|
156
156
|
// registrar
|
|
157
157
|
const { events, ...registrar } = registrars.sort((a: any, b: any) => {
|
|
158
|
-
// console.warn({ a, b });
|
|
159
158
|
const aDate =
|
|
160
159
|
a.events.find((ev: any) => ev.eventAction === "registration")
|
|
161
160
|
?.eventDate || 0;
|
|
162
161
|
const bDate =
|
|
163
162
|
b.events.find((ev: any) => ev.eventAction === "registration")
|
|
164
163
|
?.eventDate || 0;
|
|
165
|
-
return new Date(bDate).valueOf() - new Date(aDate).valueOf();
|
|
164
|
+
return new Date(bDate.replace(/\+0000Z$/, 'Z')).valueOf() - new Date(aDate.replace(/\+0000Z$/, 'Z')).valueOf();
|
|
166
165
|
})[0] || { id: 0, name: "" };
|
|
167
166
|
response.registrar = registrar;
|
|
168
167
|
|
|
@@ -234,7 +233,7 @@ function findTimestamps(values: any[]) {
|
|
|
234
233
|
for (const [event, field] of eventMap) {
|
|
235
234
|
const date = events.find((ev: any) => ev.eventAction === event);
|
|
236
235
|
if (date?.eventDate) {
|
|
237
|
-
ts[field] = new Date(date.eventDate);
|
|
236
|
+
ts[field] = new Date(date.eventDate.replace(/\+0000Z$/, 'Z'));
|
|
238
237
|
}
|
|
239
238
|
}
|
|
240
239
|
|