@xyz/whois
Version:
A powerful TypeScript/JavaScript tool for comprehensive domain analysis, featuring detailed WHOIS data with registration dates, registrars, and domain status. Offers SSL certificate extraction (with PEM support), DNS records, and server details. Includes
64 lines (63 loc) • 2.85 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const index_1 = require("../index");
/**
* Example showing how to use the WHOIS data functionality
* (Available since v2.3.0)
*/
async function main() {
var _a, _b;
console.log('Domain-Info-Fetcher WHOIS Example');
console.log('==================================');
// Replace with the domain you want to check
const domainToCheck = 'google.com';
console.log(`Fetching WHOIS data for ${domainToCheck}...`);
try {
const info = await (0, index_1.fetchDomainInfo)(domainToCheck);
if (!info || !info.whoisData) {
console.log(`No WHOIS data available for ${domainToCheck}`);
return;
}
console.log('\nRegistration Information:');
console.log(`Registrar: ${info.whoisData.registrar || 'Not available'}`);
if (info.whoisData.registrarUrl) {
console.log(`Registrar URL: ${info.whoisData.registrarUrl}`);
}
console.log('\nImportant Dates:');
if (info.whoisData.creationDate) {
console.log(`Creation Date: ${info.whoisData.creationDate.toLocaleDateString()}`);
}
if (info.whoisData.updatedDate) {
console.log(`Updated Date: ${info.whoisData.updatedDate.toLocaleDateString()}`);
}
if (info.whoisData.expirationDate) {
console.log(`Expiration Date: ${info.whoisData.expirationDate.toLocaleDateString()}`);
}
console.log('\nRegistrant Information:');
if ((_a = info.whoisData.registrant) === null || _a === void 0 ? void 0 : _a.organization) {
console.log(`Organization: ${info.whoisData.registrant.organization}`);
}
if ((_b = info.whoisData.registrant) === null || _b === void 0 ? void 0 : _b.country) {
console.log(`Country: ${info.whoisData.registrant.country}`);
}
if (info.whoisData.statusCodes && info.whoisData.statusCodes.length > 0) {
console.log('\nDomain Status:');
info.whoisData.statusCodes.forEach((status) => console.log(`- ${status}`));
}
if (info.whoisData.nameServers && info.whoisData.nameServers.length > 0) {
console.log('\nNameservers:');
info.whoisData.nameServers.forEach((ns) => console.log(`- ${ns}`));
}
console.log('\nRaw WHOIS Data Sample:');
if (info.whoisData.rawText) {
// Show first few lines of raw text
const rawTextSample = info.whoisData.rawText.split('\n').slice(0, 10).join('\n');
console.log(rawTextSample + '\n...');
}
console.log('\nExample Completed Successfully!');
}
catch (error) {
console.error(`Error: ${error instanceof Error ? error.message : String(error)}`);
}
}
main().catch(console.error);