// ==UserScript== // @name Scribd Download Button // @namespace http://tampermonkey.net/ // @version 1.6 // @description Add a download button on Scribd pages to redirect to a custom download service in the same tab, supporting document, doc, and presentation URLs. // @author You // @match https://www.scribd.com/document/* // @match https://www.scribd.com/doc/* // @match https://www.scribd.com/presentation/* // @icon https://www.google.com/s2/favicons?domain=scribd.com // @license MIT // @grant none // @downloadURL none // ==/UserScript== (function() { 'use strict'; console.log("📌 Tampermonkey script is running..."); // Extract version number from metadata const scriptVersion = GM_info.script.version; console.log("📌 Script Version:", scriptVersion); // Get the current URL const currentUrl = window.location.href; // Regular expression to match URL format correctly const urlMatch = currentUrl.match(/https:\/\/www\.scribd\.com\/(?:document|doc|presentation)\/(\d+)\/(.+)/); if (urlMatch) { // Extract the document ID and title const docId = urlMatch[1]; // Document ID let docTitle = urlMatch[2]; // Document title // Debugging console.log("📌 Extracted docId:", docId); console.log("📌 Extracted raw docTitle:", docTitle); // Fix docTitle: Replace `/` with `-` and encode special characters docTitle = docTitle.replace(/\//g, '-'); // Replace slashes with dashes docTitle = encodeURIComponent(docTitle); // Encode special characters // Construct the new download URL with "/document/" path const downloadUrl = `https://scribd.downloader.tips/document/${docId}/${docTitle}`; console.log("📌 Final download URL:", downloadUrl); // Create a download button const button = document.createElement('button'); button.textContent = `Download v${scriptVersion}`; button.style.position = 'fixed'; button.style.top = '10px'; button.style.right = '10px'; button.style.padding = '10px 15px'; button.style.backgroundColor = '#007bff'; button.style.color = '#fff'; button.style.border = 'none'; button.style.borderRadius = '5px'; button.style.cursor = 'pointer'; button.style.zIndex = '10000'; // Add click event to redirect to the download URL in the same tab button.addEventListener('click', () => { window.location.href = downloadUrl; }); // Append the button to the body document.body.appendChild(button); console.log("✅ Download button added successfully!"); } else { console.warn("❌ No matching document found in the URL."); } })();