A cybersecurity researcher has uncovered one of the largest data breaches in recent memory, exposing over 184 million unique login credentials for ma…
Cybersecurity researchers at Kaspersky have uncovered a sophisticated malware campaign that spreads through containerized environments like a digital…
Microsoft Threat Intelligence has identified a sophisticated new Russian-affiliated threat actor called Void Blizzard , also known as LAUNDRY BEAR , …
Safeguarding gaming payments from fraud and chargebacks is essential for a thriving business. As online gaming expands, the risks associated with fra…
Programming has always been as much about intuition as it is about logic. While software development emphasizes rigid methodologies, extensive planni…
By using OpenAI's o3 artificial intelligence model, a security researcher has discovered a previously unknown remote zero-day vulnerability in th…
Coordinated effort by Microsoft, DOJ, and international partners dismantles infrastructure behind malware that infected nearly 400,000 computers worl…
Microsoft has officially launched the public preview of Windows ML, a cutting-edge runtime designed to optimize on-device machine learning model infe…
Microsoft has resolved a critical issue with the May 2025 Windows security update ( KB5058379 ) that caused affected systems to boot directly into Bi…
Navigating the iPhone's interface can sometimes feel like exploring an ever-evolving digital landscape, especially when searching for specific sy…
const config = {
safeID = 'safelink',
safeURL: ['/p/safelink.html'],
timer: 15,
redirect: true,
text: {
wait: 'The link will appear in 0 second',
direct: 'You’ll be redirected to the download link in 0 second',
shifted: 'Redirecting... [link] if you’re not redirected automatically.',
click: 'Click here',
btn: 'Direct to link.'
}
};
(() => {
const randomURL = url => url[Math.floor(Math.random() * url.length)];
const safeLink = () => config.safeURL.some(path => location.pathname.endsWith(path));
const safeMessage = (text, time) => {
const [start, end] = text.split('0');
return `${start} ${time} ${end}.
`;
};
const outboundLinks = () => {
const links = document.querySelectorAll('a.safeurl[href]');
if (!links.length) return;
links.forEach(anchor => {
const encoded = encodeURIComponent(btoa(anchor.href));
Object.assign(anchor, {
href: `${location.origin}${randomURL(config.safeURL)}?go=${encoded}`,
target: '_self',
rel: 'noopener'
})
})
};
const handleLink = () => {
const params = new URLSearchParams(location.search);
const encoded = params.get('go');
if (!encoded) return;
const link = atob(decodeURIComponent(encoded))
params.delete('go');
history.replaceState({}, '', location.pathname + (params.toString() ? '?' + params : ''));
let counter = config.timer;
const label = config.redirect ? config.text.direct : config.text.wait;
const box = document.getElementById(config.safeID);
if (!box) return;
box.removeAttribute('hidden');
box.innerHTML = safeMessage(label, counter);
const countdown = setInterval(() => {
counter--;
box.innerHTML = safeMessage(label, counter);
if (counter > 0) return;
clearInterval(countdown);
if (config.redirect) {
box.innerHTML = `${config.text.shifted.replace('[link]', `${config.text.click}`)}
`;
location.href = link;
} else {
box.innerHTML = '';
const btn = document.createElement('a');
//btn.className = 'btn';
btn.href = link;
btn.target = '_blank';
btn.rel = 'nofollow noopener noreferrer';
btn.innerHTML = `${config.text.btn}`;
box.appendChild(btn);
}
}, 1000)
};
safeLink() ? handleLink() : outboundLinks();
})();