Save 1fichier link, redirect to FastDebrid and autofill the link.
// ==UserScript==
// @name 1Fichier Redirect to FastDebrid
// @namespace https://violentmonkey.github.io/
// @version 1.4
// @description Save 1fichier link, redirect to FastDebrid and autofill the link.
// @author Rust1667
// @match https://1fichier.com/*
// @match https://fastdebrid.com/*
// @grant GM_setValue
// @grant GM_getValue
// @grant GM_deleteValue
// ==/UserScript==
(function() {
'use strict';
// Function to check if the Cloudflare captcha is solved
function checkCloudflareCaptchaSolved() {
if (document.querySelector('.cf-turnstile') || document.querySelector('#captcha-turnstile')) {
return unsafeWindow.turnstile && unsafeWindow.turnstile.getResponse().length !== 0;
}
return true;
}
// Wait for the page to load fully
window.addEventListener('load', function() {
const currentUrl = window.location.href;
// On 1fichier page
if (currentUrl.includes('1fichier.com') && !currentUrl.endsWith('=') && !document.body.innerText.includes("file has been deleted") && !document.body.innerText.includes("automatically deleted")) {
GM_setValue('saved1FichierLink', currentUrl);
window.location.assign('https://fastdebrid.com/');
// On FastDebrid page
} else if (currentUrl === 'https://fastdebrid.com/') {
const fichierOption = document.querySelector('[data-name="1fichier"]');
if (fichierOption) {
fichierOption.click();
}
function fillForm() {
const savedLink = GM_getValue('saved1FichierLink');
if (savedLink) {
const inputField = document.querySelector('#link');
if (inputField) {
inputField.value = savedLink;
GM_deleteValue('saved1FichierLink');
}
}
}
function clickDebridButton() {
const debridButton = document.querySelector('button.btn-primary');
if (debridButton && debridButton.innerText.includes('Debrid my link')) {
debridButton.click();
}
}
// Wait for cloudflare captcha to be solved to fill the form and click the button
let captchaCheckInterval = setInterval(() => {
if (checkCloudflareCaptchaSolved()) {
clearInterval(captchaCheckInterval);
fillForm();
clickDebridButton();
}
}, 1000);
// On fastdebrid page with link ready for download
} else if (/https:\/\/fastdebrid.com\/.*/.test(currentUrl)) {
const shortlinkElement = document.querySelector('a.btn-primary.mx-1')
const dlLinkElement = document.querySelector('a.btn-success.mx-1')
if (shortlinkElement) {window.location.assign(shortlinkElement.href);}
//else if (dlLinkElement) {window.location.assign(dlLinkElement.href);}
}
});
})();