diff options
author | cesar <cesar@noreply.codeberg.org> | 2021-03-22 00:02:01 +0100 |
---|---|---|
committer | cesar <cesar@noreply.codeberg.org> | 2021-03-22 00:02:01 +0100 |
commit | 7b5dc0a5058936a82920fdb7ab88e7120407b601 (patch) | |
tree | a092847a91f6fc2e4e53f88d981de027937b828f /addons/code | |
parent | 23bac08fee40a32c7ddc1702f2b407d8c17be941 (diff) | |
download | cloudflare-tor-7b5dc0a5058936a82920fdb7ab88e7120407b601.tar.lz cloudflare-tor-7b5dc0a5058936a82920fdb7ab88e7120407b601.tar.xz cloudflare-tor-7b5dc0a5058936a82920fdb7ab88e7120407b601.zip |
Update 'addons/code/bcma/cs.js'
Diffstat (limited to 'addons/code')
-rw-r--r-- | addons/code/bcma/cs.js | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/addons/code/bcma/cs.js b/addons/code/bcma/cs.js new file mode 100644 index 00000000..82be38ef --- /dev/null +++ b/addons/code/bcma/cs.js @@ -0,0 +1,49 @@ +if (document.body && !location.hostname.endsWith('.onion')) { + browser.runtime.onMessage.addListener((a, b, c) => { + if (a[0] == location.hostname && a[1]) { + if (a[2]) { + let _tt = document.title; + function codeBy_Sw_updateBorder() { + if (!document.title.startsWith('[!!MITM')) { + document.title = '[!!MITM!!]' + _tt; + } + document.body.style = 'border:6px dashed #' + ['e74c3c', '9b59b6', '3498db', '17a589', '196f3d', 'f4d03f', 'f39c12', 'd35400'][Math.floor(Math.random() * 8)] + ' !important'; + setTimeout(codeBy_Sw_updateBorder, 6500); + } + codeBy_Sw_updateBorder(); + } + if (a[3]) { + function codeBy_smege1001_decodeEmail(hash) { + let decoded = '', + hashArray = []; + for (let hAIndex = 0; hAIndex < hash.length; hAIndex += 2) { + hashArray.push(parseInt(hash.substring(hAIndex, hAIndex + 2), 16)); + } + let key = hashArray[0]; + for (let index = 1; index < hashArray.length; index++) { + decoded += String.fromCharCode(hashArray[index] ^ key); + } + return decoded; + } + document.querySelectorAll('.__cf_email__[data-cfemail]:not(a)').forEach(a => { + let aV = a.dataset.cfemail; + if (/^([a-f0-9]{4,})$/.test(aV)) { + a.dataset.cfemail = ''; + a.innerText = codeBy_smege1001_decodeEmail(aV); + } + }); + document.querySelectorAll("a.__cf_email__[data-cfemail]").forEach(a => { + let aV = a.dataset.cfemail; + if (/^([a-f0-9]{4,})$/.test(aV)) { + a.dataset.cfemail = ''; + a.innerText = codeBy_smege1001_decodeEmail(aV); + a.href = 'mailto:' + a.innerText; + } + }); + } + } + c(true); + return; + }); + browser.runtime.sendMessage(['cs', location.hostname]); +}
\ No newline at end of file |