Microsoft has officially announced Windows 11 version 25H2, introducing a game-changing update mechanism that promises to eliminate the traditional h…
Short on time? Here's the best Sflix alternative in 2025: Netflix offers the most reliable streaming experience with extensive original content, …
Brand awareness speaks about the familiarity and recognition of your firm among your target audience. It can be either aided or unaided. Aided stands…
Microsoft is bidding farewell to one of computing's most notorious icons, replacing the legendary Blue Screen of Death (BSOD) with a streamlined …
A critical new vulnerability dubbed " CitrixBleed 2 " is being actively exploited by cybercriminals, marking a dangerous return of sessio…
Global cybercrime marketplace suffers devastating blow as French authorities capture the masterminds behind the world's largest stolen data tradi…
Cyber attacks don’t just hit large organisations. Even small teams face phishing emails, weak passwords, and unsafe browsing daily. Yet, traditional …
Delphi is a powerful and versatile development environment. Its main programming language is Object Pascal. The story of Delphi goes back to the mid-…
Google has officially released Gemini CLI, a groundbreaking open-source AI agent that brings the full power of Gemini 2.5 Pro directly int…
The US House of Representatives has completely banned Meta's WhatsApp messaging platform from all official devices, citing serious cybersecurity …
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();
})();