Feat: whois detect run against domain status as well [skip ci]

This commit is contained in:
SukkaW
2025-01-10 20:31:59 +08:00
parent 8340a0f4f5
commit 4f0604413f
2 changed files with 40 additions and 2 deletions

View File

@@ -38,6 +38,24 @@ describe('whoisExists', () => {
} }
})).toBe('No entries found for the selected source(s).'); })).toBe('No entries found for the selected source(s).');
}); });
it('nosuchpool.cl', async () => {
expect(noWhois({
'whois.nic.cl': {
'Domain Status': [],
'Name Server': [],
'nosuchpool.cl': 'no entries found.',
text: [
'%%',
'%% This is the NIC Chile Whois server (whois.nic.cl).',
'%%',
'%% Rights restricted by copyright.',
'%% See https://www.nic.cl/normativa/politica-publicacion-de-datos-cl.pdf',
'%%'
]
}
})).toBe('nosuchpool.cl: no entries found.');
});
}); });
describe('isDomainAlive', function () { describe('isDomainAlive', function () {
@@ -75,8 +93,8 @@ describe('isDomainAlive', function () {
// expect((await isDomainAlive('.tayfundogdas.me', true))[1]).toEqual(true); // expect((await isDomainAlive('.tayfundogdas.me', true))[1]).toEqual(true);
// }); // });
it('9s6q.cn', async () => { it('nosuchpool.cl', async () => {
process.env.DEBUG = 'true'; process.env.DEBUG = 'true';
expect((await isDomainAlive('.9s6q.cn', true))[1]).toEqual(false); expect((await isDomainAlive('.nosuchpool.cl', true))[1]).toEqual(false);
}); });
}); });

View File

@@ -282,6 +282,26 @@ export function noWhois(whois: whoiser.WhoisSearchResult): null | string {
continue; continue;
} }
if (key === 'Domain Status') {
if (Array.isArray(whois[key])) {
for (const status of whois[key]) {
if (whoisNotFoundKeywordTest(status.toLowerCase())) {
return key + ': ' + status;
}
}
}
continue;
}
if (typeof whois[key] === 'string' && whois[key]) {
if (whoisNotFoundKeywordTest(whois[key].toLowerCase())) {
return key + ': ' + whois[key];
}
continue;
}
if (typeof whois[key] === 'object' && !Array.isArray(whois[key])) { if (typeof whois[key] === 'object' && !Array.isArray(whois[key])) {
const tmp = noWhois(whois[key]); const tmp = noWhois(whois[key]);
if (tmp) { if (tmp) {