neoss
Version:
<div align="center"> <h1>neoss</h1> <i>Socket statistics, with a UI.</i> </div> <p align="center"> <a href="https://img.shields.io/github/v/release/pablolec/neoss" target="_blank"> <img src="https://img.shields.io/github/v/release/pablolec/neo
39 lines (34 loc) • 854 B
text/typescript
import whoisJson = require("whois-json");
/**
* Perform a whois on given domain or IP.
*
* @param domain - Address to be considered
* @returns - Formated text for popup content
*/
export async function whois(domain: any): Promise<string> {
let domainName = domain.split(".");
if (domainName.some(isNaN)) {
domainName = domainName.slice(-2).join(".");
} else {
domainName = domain;
}
let data = await whoisJson(domainName);
data = toString(data);
if (data.includes("no entries")) {
return "No entries found.";
}
return data;
}
/**
* Format json key:value pairs to text for popup content.
*
* @param data - Raw whois object
* @returns - Text to be displayed
*/
function toString(data: any): string {
let text: string = "";
for (const key in data) {
text += `${key}: ${data[key]}\n`;
}
return text;
}