// ==UserScript== // @name Bypass-FileCrypt // @version 1.3.9 // @description Original script by StephenP: https://greasyfork.org/scripts/403170 // @author StephenP // @grant GM.xmlHttpRequest // @include /filecrypt.(cc|co)/ // @run-at document-start // ==/UserScript== // ----- Bypass FileCrypt( imported from https://greasyfork.org/scripts/403170) ----- (function() { 'use strict'; if (/filecrypt.(cc|co)/.test(window.location.href)) { window.addEventListener('DOMContentLoaded', function() { ////-----imported from https://greasyfork.org/scripts/403170 ----- (function () { var usenetAd=document.getElementsByTagName('A');//come on, why should anyone pay for access to pirated content? for(var i=0;i<usenetAd.length;i++){ if(usenetAd[i].href.includes('/pink/')){ usenetAd[i].parentNode.remove(); i=usenetAd.length; } } if(document.location.href.includes("/Link/")){ getSingleLink(); } else if(document.location.href.includes("/Container/")){ let art=document.getElementsByClassName("download")[0].parentNode.parentNode.parentNode.parentNode; let load=document.createElement("DIV"); load.id="dcryptLoadMsg"; load.style.marginBottom="2em"; load.textContent="Loading decrypted links list from dcrypt.it..."; art.parentNode.insertBefore(load,art); getCNL(); } })(); function getSingleLink(){ if(document.body.getElementsByTagName("SCRIPT").length==0){ window.stop(); if(body.children.length>0){ const a=document.body.innerHTML.lastIndexOf("http"); top.location.href=document.body.innerHTML.substring(a,document.body.innerHTML.indexOf('id=',a)+43).replace('&', '&'); } else{ GM.xmlHttpRequest({ method: "GET", url: document.location.href, onload: function(response) { const a=response.responseText.lastIndexOf("http"); top.location.href=response.responseText.substring(a,response.responseText.indexOf('id=',a)+43); } }); } } } function getCNL(){ var dlcButton=document.getElementsByClassName("dlcdownload"); if(dlcButton.length>0){ var inputs=document.getElementsByTagName('INPUT'); var dlcId; /*for(var i=0;i<inputs.length;i++){ if(inputs[i].getAttribute('name')=='hidden_cnl_id'){ dlcId=inputs[i].getAttribute('value'); i=inputs.length; } }*/ //left for reference dlcId=document.getElementsByClassName("dlcdownload")[0].attributes["onclick"].nodeValue.split('\'')[1]; //console.log('dlcId='+dlcId); GM.xmlHttpRequest({ method: "GET", url: "https://"+document.location.hostname+"/DLC/"+dlcId+".dlc", onload: function(response) { dcrypt(response.responseText); }, onerror: function(response) { } }); } else{ document.getElementById("dcryptLoadMsg").textContent="No DLC file is available for bulk download. You'll have to click on the download buttons to retrieve the links. This operation isn't currently automated by Bypass FileCrypt script."; document.getElementById("dcryptLoadMsg").style.color="red"; } } function dcrypt(content){ //console.log(content); GM.xmlHttpRequest({ method: "POST", url: "http://dcrypt.it/decrypt/paste", headers: { "Content-Type": "application/x-www-form-urlencoded" }, data: "content="+encodeURIComponent(content), onload: function(response) { //console.log(response); var obj=JSON.parse(response.response); //console.log(obj); var finalLinksDiv=document.createElement("DIV"); finalLinksDiv.style.backgroundColor="rgba(0, 0, 0, 0.5)"; finalLinksDiv.style.borderRadius="10px"; finalLinksDiv.style.padding="1em"; finalLinksDiv.style.marginTop="1em"; finalLinksDiv.style.color="#4FCA1B"; finalLinksDiv.style.zIndex="10"; finalLinksDiv.style.position="relative"; finalLinksDiv.style.marginBottom="1em"; finalLinksDiv.style.display = "inline-block"; let a=document.createElement("SPAN"); a.textContent="Decrypted links:"; finalLinksDiv.appendChild(a); finalLinksDiv.appendChild(document.createElement("BR")); finalLinksDiv.appendChild(document.createElement("BR")); try{ for (var link of obj.success.links) { console.log(link); let b=document.createElement("A"); b.textContent=link; b.href=link; b.style.color="#156594"; finalLinksDiv.appendChild(b); finalLinksDiv.appendChild(document.createElement("BR")); } } catch(e){ console.log(e); document.getElementById("dcryptLoadMsg").textContent="Error while reading the decrypted links from dcrypt.it. You can still use the single uncrypted links below."; } console.log(finalLinksDiv); document.getElementById("dcryptLoadMsg").replaceWith(finalLinksDiv); //Do you like it now? It's not hidden anymore :P const config = { attributes: true, childList: false, subtree: false }; const callback = function(mutationList, observer) { for (const mutation of mutationList) { console.log(mutation); mutation.target.removeAttribute(mutation.attributeName); } }; const observer = new MutationObserver(callback); observer.observe(finalLinksDiv, config); // }, onerror: function(response) { document.getElementById("dcryptLoadMsg").textContent="Error while retrieving the links from dcrypt.it. You can still use the single uncrypted links below."; } }); } // ------------------------ }); } })(); // ----- ----- -----