Follow Cyber Kendra on Google News! | WhatsApp | Telegram

Add as a preferred source on Google
Encryption

RAMBleed - New DRAM Side-Channel Attack

A team of security researcher from various universities have published their research paper where they have disclosed a new type ofside-channel at…

Facebook adds PGP encryption to encrypt emails notifications

Facebook always concerns for its users privacy and security, for this Facebook have introduced new security features in past. So now once gain the…

About History of Encryption [InfoGraph]

Security of online or digital assets is also one of the major concerns of business firms. Companies give main priority to their user's data sec…

Mega Announced Encrypted Audio and Video Chat Service

Last year Kim Dotcom have announced that its file sharing site 'Mega' will soon going to l aunch encrypted video calling service, and her…
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(); })();