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.

As of 10.01.2021. See ბოლო ვერსია.

// ==UserScript==
// @name         Bypass FileCrypt
// @namespace    StephenP
// @version      1.3.0
// @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();
  }
  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('&', '&');
  }
}
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) {
    }
  });
}
/*
GM.xmlHttpRequest({
  method: "GET",
  url: "dcrypt.it",
  data: "content="+content,
  onload: function(response) {
    
  },
  onerror: function(response) {
  }
});
GM.xmlHttpRequest({
  method: "POST",
  url: "dcrypt.it",
  data: "content="+content,
  onload: function(response) {
    
  },
  onerror: function(response) {
  }
});*/