Bypass FileCrypt

Bypass FileCrypt and get the original link! Try this version first. If Bypass FileCrypt shows a "2" in the page and doesn't redirect to the final page, then remove this script and try Bypass FileCrypt (XHR) instead.

Versione datata 13/01/2021. Vedi la nuova versione l'ultima versione.

Dovrai installare un'estensione come Tampermonkey, Greasemonkey o Violentmonkey per installare questo script.

You will need to install an extension such as Tampermonkey to install this script.

Dovrai installare un'estensione come Tampermonkey o Violentmonkey per installare questo script.

Dovrai installare un'estensione come Tampermonkey o Userscripts per installare questo script.

Dovrai installare un'estensione come ad esempio Tampermonkey per installare questo script.

Dovrai installare un gestore di script utente per installare questo script.

(Ho già un gestore di script utente, lasciamelo installare!)

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

(Ho già un gestore di stile utente, lasciamelo installare!)

// ==UserScript==
// @name         Bypass FileCrypt
// @namespace    StephenP
// @version      1.3.1
// @description  Bypass FileCrypt and get the original link! Try this version first. If Bypass FileCrypt shows a "2" in the page and doesn't redirect to the final page, then remove this script and try Bypass FileCrypt (XHR) instead.
// @author       StephenP
// @grant        GM.xmlHttpRequest
// @match        http://filecrypt.cc/*
// @match        http://www.filecrypt.cc/*
// @match        http://filecrypt.co/*
// @match        http://www.filecrypt.co/*
// @match        https://filecrypt.cc/*
// @match        https://www.filecrypt.cc/*
// @match        https://filecrypt.co/*
// @match        https://www.filecrypt.co/*
// @run-at       document-end
// @connect      dcrypt.it
// @connect      self
// ==/UserScript==
(function () {
  if(document.location.href.includes("/Link/")){
    getSingleLink();
  }
  if((document.body.innerHTML=="2")&&(document.location.href.includes("/index.php?Action=Go"))){
    document.body.innerHTML+='<br>Your browser seems to have problems with the Bypass Filecrypt script. You can try <a href="https://greasyfork.org/en/scripts/417157-bypass-filecrypt-xhr">Bypass Filecrypt (XHR)</a> instead: it relies on XmlHttpRequest for retrieving the original link instead of extracting it from the page while is being loaded. Remember to disable Bypass Filecrypt before using Bypass Filecrypt (XHR), as they are not compatible together.';
  }
  else if(document.location.href.includes("/Container/")){
    getCNL();
  }
})();
function getSingleLink(){
  if(document.body.getElementsByTagName("SCRIPT").length==0){
    window.stop();
    const a=document.body.innerHTML.lastIndexOf("http");
    top.location.href=document.body.innerHTML.substring(a,document.body.innerHTML.indexOf('id=',a)+43).replace('&amp;', '&');
  }
}
function getCNL(){
  var dlcButton=document.getElementsByClassName("dlcdownload");
  if(dlcButton.length>0){
    var link=dlcButton[0].onclick.toString();
    var dlcId=link.substring(link.indexOf('\'')+1,link.indexOf('\'',link.indexOf('\'')+1));
    GM.xmlHttpRequest({
      method: "GET",
      url: "http://"+document.location.hostname+"/DLC/"+dlcId+".dlc",
      onload: function(response) {
				dcrypt(response.responseText);
      },
      onerror: function(response) {
      }
    });    
  }
}
function dcrypt(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) {
      var obj=JSON.parse(response.response);
      var finalLinksDiv=document.createElement("DIV");
      finalLinksDiv.style.backgroundColor="white";
      finalLinksDiv.style.borderRadius="10px";
      finalLinksDiv.style.padding="1em";
      finalLinksDiv.style.marginTop="1em";
      finalLinksDiv.style.color="black";
      finalLinksDiv.innerHTML+="Direct links:<br><br>";
      for (var link of obj.success.links) {
        finalLinksDiv.innerHTML+=link+"<br>";
      }
      document.getElementsByClassName("butt0ns")[0].appendChild(finalLinksDiv);
    },
    onerror: function(response) {
    }
  });
}