UNPKG

url-safe-checker-and-domain-getter

Version:

Check URL safety using Google Safe Browsing API and get registered domain info

107 lines (79 loc) • 2.7 kB
# url-safe-checker-and-domain-getter A simple utility to check if a URL is safe using Google Safe Browsing API and retrieve WHOIS domain information. A Node.js utility to: - āœ… Check multiple URLs against Google's Safe Browsing API - 🌐 Fetch WHOIS info for any domain - šŸ”§ Flexible options to control what kind of domain info is returned ## Installation ```bash npm install url-safe-checker-and-domain-getter ## šŸ” Setup Google API Key To use this npm, you'll need an API key: 1. Go to [Google Cloud Console](https://console.cloud.google.com/). 2. Create a project. 3. Enable **Safe Browsing API** from the library. 4. Create **API credentials** (API Key). 5. Use your key like: ```ts checkUrlSafety(urlsToCheck, "YOUR_GOOGLE_API_KEY"); šŸš€ Usage āœ… Check URLs for safety Pass an array of URLs to checkUrlSafety(): const { checkUrlSafety } = require('url-safe-checker-and-domain-getter'); (async () => { const urls = [ 'https://example.com', 'http://malicious-site.com' ]; const result = await checkUrlSafety(urls, 'YOUR_GOOGLE_API_KEY', { domainInfoRequired: true, // Return WHOIS for all URLs unsafeURlDomainInfo: false, // Optional: Only unsafe URLs safeURlDomainInfo: false // Optional: Only safe URLs }); console.log(JSON.stringify(result, null, 2)); })(); 🧠 Option Flags Explained Option Type Description domainInfoRequired boolean Return WHOIS info for all URLs (safe + unsafe) unsafeURlDomainInfo boolean Return WHOIS info for unsafe URLs only safeURlDomainInfo boolean Return WHOIS info for safe URLs only If domainInfoRequired is true, it overrides the other two. 🌐 Get Domain Info Directly To get WHOIS data only (without checking Safe Browsing): const { getDomainInfo } = require('url-safe-checker-and-domain-getter'); (async () => { const urls = ['https://example.com', 'http://anotherdomain.com']; const whoisData = await Promise.all(urls.map(url => getDomainInfo(url, 'CUSTOM_LABEL') )); console.log(whoisData); })(); Important: The getDomainInfo function expects domain names (e.g., example.com) as input, not full URLs. šŸ“ Sample Output { "unsafe": [ { "url": "http://malicious-site.com", "threatType": "MALWARE" } ], "safe": [ "https://example.com" ], "domainInfo": { "unsafe": [ { "label": "UNSAFE", "domain": "malicious-site.com", "data": "WHOIS data..." } ], "safe": [ { "label": "SAFE", "domain": "example.com", "data": "WHOIS data..." } ] } }