url-safe-checker-and-domain-getter
v1.0.1
Published
Check URL safety using Google Safe Browsing API and get registered domain info
Maintainers
Readme
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
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..."
}
]
}
}