diff options
author | smege1001 <smege1001@noreply.codeberg.org> | 2020-07-31 20:22:16 +0200 |
---|---|---|
committer | smege1001 <smege1001@noreply.codeberg.org> | 2020-07-31 20:22:16 +0200 |
commit | 5150b794927ba2ee370fca044ed90f771636828e (patch) | |
tree | 475a1fbb69b2456b0348a7cbb1a6d29d913f0332 | |
parent | 002b56bdf6d506100f78f552d4b9cb665dc73a5e (diff) | |
download | cloudflare-tor-5150b794927ba2ee370fca044ed90f771636828e.tar.lz cloudflare-tor-5150b794927ba2ee370fca044ed90f771636828e.tar.xz cloudflare-tor-5150b794927ba2ee370fca044ed90f771636828e.zip |
Delete 'tool/userscript.cf_email_decoder.js'
-rw-r--r-- | tool/userscript.cf_email_decoder.js | 64 |
1 files changed, 0 insertions, 64 deletions
diff --git a/tool/userscript.cf_email_decoder.js b/tool/userscript.cf_email_decoder.js deleted file mode 100644 index b4678b83..00000000 --- a/tool/userscript.cf_email_decoder.js +++ /dev/null @@ -1,64 +0,0 @@ -// ==UserScript== -// @name Decode Cloudflare-encoded email addresses -// @namespace https://codeberg.org/smege1001/cf_email_decoder -// @match *://*/* -// @grant none -// @version 1.1 -// @author smege1001 -// ==/UserScript== - -/** -* @license CC0-1.0 -**/ - -const emailprotectionURLHashRegex = /\/cdn-cgi\/l\/email-protection#([aA0-fF9]*)/; -const emailprotectionURLNoHashRegex = /\/cdn-cgi\/l\/email-protection/; //hash is stored on data-cfemail - -function decodeEmail(hash) { //cloudflare email address decoder - var hashArray = []; //split the hash into bytes - for (var hAIndex = 0; hAIndex < hash.length; hAIndex += 2) { - hashArray.push(parseInt(hash.substring(hAIndex, hAIndex + 2), 16)); - } - - var decoded = ""; - var key = hashArray[0]; //get the decode key - - for (var index = 1; index < hashArray.length; index++) { - decoded += String.fromCharCode(hashArray[index] ^ key); - } - return decoded; -} - -var links = document.querySelectorAll("a"); //get all the links - -for (var linksIndex = 0; linksIndex < links.length; linksIndex++) { - var link = links[linksIndex]; - if (emailprotectionURLHashRegex.test(link.href)) { - var hash = link.href.match(emailprotectionURLHashRegex)[1]; - var decodedEmail = decodeEmail(hash); - - link.href = "mailto:" + decodedEmail; //replace the stupid email protection with just a mailto link - - if (link.getElementsByClassName("__cf_email__")) { - var linkChild = link.getElementsByClassName("__cf_email__")[0]; - linkChild.innerText = decodedEmail; - - linkChild.removeAttribute("data-cfemail"); - linkChild.classList.remove("__cf_email__"); - - if (linkChild.getAttribute("class") == "") linkChild.removeAttribute("class"); - } - } else if (emailprotectionURLNoHashRegex.test(link.href) && link.hasAttribute("data-cfemail")) { - var hash = link.getAttribute("data-cfemail"); - var decodedEmail = decodeEmail(hash); - - link.href = "mailto:" + decodedEmail; - link.innerText = decodedEmail; //the inner text is just [email protected] - - //remove the useless attributes - link.removeAttribute("data-cfemail"); - link.classList.remove("__cf_email__"); - - if (link.getAttribute("class") == "") link.removeAttribute("class"); - } -} |