Alexis Girard
07/22/2025, 10:40 AM<http://brnw.ch|brnw.ch> one of the result was coming from this company <http://jcb.co.uk|jcb.co.uk>Alexis Girard
07/22/2025, 10:40 AMChristian
07/22/2025, 10:44 AMAlexis Girard
07/22/2025, 10:45 AMAlexis Girard
07/22/2025, 10:45 AMXoel
Alexis Girard
07/22/2025, 10:52 AMXoel
Alexis Girard
07/22/2025, 10:57 AMAlexis Girard
07/22/2025, 10:57 AMXoel
Xoel
Xoel
Alexis Girard
07/22/2025, 11:00 AMAlexis Girard
07/22/2025, 11:00 AMconst genericDomains = [
"<http://bit.ly|bit.ly>",
"<http://tinyurl.com|tinyurl.com>",
"<http://rb.gy|rb.gy>",
"<http://cutt.ly|cutt.ly>",
"<http://is.gd|is.gd>",
"<http://v.gd|v.gd>",
"<http://soo.gd|soo.gd>",
"<http://clck.ru|clck.ru>",
"<http://t.ly|t.ly>",
"<http://shorte.st|shorte.st>",
"<http://kutt.it|kutt.it>",
"<http://u.to|u.to>",
"<http://tr.im|tr.im>",
"<http://short.io|short.io>",
"<http://rebrand.ly|rebrand.ly>",
"<http://tiny.cc|tiny.cc>",
"<http://adf.ly|adf.ly>",
"<http://bc.vc|bc.vc>",
"<http://linkvertise.com|linkvertise.com>",
"<http://shorturl.at|shorturl.at>",
"<http://zi.ma|zi.ma>",
"<http://mcaf.ee|mcaf.ee>",
"<http://t2m.io|t2m.io>",
"<http://clicky.me|clicky.me>",
"<http://t.co|t.co>",
"<http://lnkd.in|lnkd.in>",
"<http://youtu.be|youtu.be>",
"<http://fb.me|fb.me>",
"<http://instagr.am|instagr.am>",
"<http://redd.it|redd.it>",
"<http://amzn.to|amzn.to>",
"<http://etsy.me|etsy.me>",
"<http://pin.it|pin.it>",
"<http://spoti.fi|spoti.fi>",
"<http://apple.co|apple.co>",
"<http://ebay.to|ebay.to>",
"<http://tiktok.com|tiktok.com>",
"<http://ow.ly|ow.ly>",
"<http://hubs.ly|hubs.ly>",
"<http://hubs.la|hubs.la>",
"<http://hubs.li|hubs.li>",
"<http://hubs.lu|hubs.lu>",
"<http://hub.li|hub.li>",
"<http://hub.ly|hub.ly>",
"<http://hub.lu|hub.lu>",
"<http://linktr.ee|linktr.ee>",
"<http://lnk.tr.ee|lnk.tr.ee>",
"bio.link",
"campsite.bio",
"<http://taplink.cc|taplink.cc>",
"many.link",
"<http://buff.ly|buff.ly>",
"<http://spr.ly|spr.ly>",
"<http://zpr.io|zpr.io>",
"<http://smarturl.it|smarturl.it>",
"<http://onelink.to|onelink.to>",
"<http://lnk.to|lnk.to>",
"<http://dlvr.it|dlvr.it>",
"<http://shar.es|shar.es>",
"<http://goo.gl|goo.gl>",
"<http://j.mp|j.mp>",
"<http://wp.me|wp.me>",
"<http://nyti.ms|nyti.ms>",
"<http://lat.ms|lat.ms>",
"<http://wapo.st|wapo.st>",
"<http://bloom.bg|bloom.bg>",
"<http://cnn.it|cnn.it>",
"<http://es.pn|es.pn>",
"<http://for.tn|for.tn>",
"<http://ti.me|ti.me>",
"<http://bzfd.it|bzfd.it>",
"<http://techcr.ch|techcr.ch>",
"<http://n.pr|n.pr>",
"<http://linkedin.com|linkedin.com>",
"<http://uk.com|uk.com>",
"<http://welcometothejungle.com|welcometothejungle.com>",
"<http://gmail.com|gmail.com>",
"<http://gmail.nl|gmail.nl>"
];
const website = nodes.var.domain
// Function to check if a website contains a generic domain using includes
{
if (!website || typeof website !== 'string') return false;
// Extract hostname from URL (remove protocol, path, etc.)
let hostname = website.toLowerCase().replace(/^https?:\/\//, '').split('/')[0];
// Check if hostname matches or is a subdomain of any generic domain
return genericDomains.some(domain =>
hostname === domain || hostname.endsWith('.' + domain)
);
}
// Function to check if a website contains a generic domain using regex
{
if (!website || typeof website !== 'string') return false;
// Escape special characters in domains and join with '|'
const escapedDomains = genericDomains.map(domain =>
domain.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')
);
// Create regex: matches domain or subdomains (e.g., <http://bit.ly|bit.ly>, <http://sub.bit.ly|sub.bit.ly>)
const regex = new RegExp(`(^|\\.)(?:${escapedDomains.join('|')})(?:$|\\/)`, 'i');
// Extract hostname or test full URL
const hostname = website.toLowerCase().replace(/^https?:\/\//, '').split('/')[0];
return regex.test(hostname) || regex.test(website);
}Alexis Girard
07/22/2025, 11:01 AMXoel