mirror of
https://codeberg.org/Amm0ni4/bypass-all-shortlinks-debloated.git
synced 2024-12-30 00:43:02 +05:00
154 lines
7.1 KiB
JavaScript
154 lines
7.1 KiB
JavaScript
|
// ==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="white";
|
||
|
finalLinksDiv.style.borderRadius="10px";
|
||
|
finalLinksDiv.style.padding="1em";
|
||
|
finalLinksDiv.style.marginTop="1em";
|
||
|
finalLinksDiv.style.color="black";
|
||
|
finalLinksDiv.style.zIndex="10";
|
||
|
finalLinksDiv.style.position="relative";
|
||
|
finalLinksDiv.style.marginBottom="1em";
|
||
|
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.";
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
// ------------------------
|
||
|
});
|
||
|
}
|
||
|
|
||
|
})();
|
||
|
|
||
|
// ----- ----- -----
|