您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Datanodes Auto Downloader by Games4u
- // ==UserScript==
- // @name Datanodes Auto Downloader
- // @namespace http://tampermonkey.net/
- // @version 2.0
- // @description Datanodes Auto Downloader by Games4u
- // @author Games4u.Org
- // @match https://datanodes.to/*
- // @icon https://t3.gstatic.com/faviconV2?client=SOCIAL&type=FAVICON&fallback_opts=TYPE,SIZE,URL&url=http://datanodes.to&size=64
- // @grant GM_download
- // @license MIT
- // ==/UserScript==
- (function() {
- 'use strict';
- // Function to initiate the download and close the tab
- function initiateDownloadAndCloseTab() {
- // Find the first submit button and click it immediately
- var firstButton = document.querySelector('button[type="submit"]');
- if (firstButton) {
- firstButton.click();
- console.log("First button clicked immediately");
- // Wait briefly to ensure DOM updates (adjust if necessary)
- setTimeout(function() {
- var form = document.createElement('form');
- form.name = "F1";
- form.method = "POST";
- form.className = "m-0";
- form.action = "";
- // Extract the file ID dynamically from the hidden input
- var fileIdInput = document.querySelector('input[name="id"]');
- var fileId = fileIdInput ? fileIdInput.value : "";
- // Extract the file name dynamically from the hidden input
- var fileNameInput = document.querySelector('input[name="fname"]');
- var fileName = fileNameInput ? fileNameInput.value : "";
- form.innerHTML = `
- <input type="hidden" name="op" value="download2">
- <input type="hidden" name="id" value="${fileId}">
- <input type="hidden" name="rand">
- <input type="hidden" name="referer" value="">
- <input type="hidden" name="method_free" value="Free Download >>">
- <input type="hidden" name="method_premium">
- <div class="flex gap-3" style="display: none;">
- <button type="button" class="px-3 py-2.5 font-semibold bg-blue-500 rounded-lg text-white text-xs hover:text-white hover:bg-blue-800">
- <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" class="w-5 h-5">
- <path stroke-linecap="round" stroke-linejoin="round" d="M17.25 8.25L21 12m0 0l-3.75 3.75M21 12H3"></path>
- </svg>
- </button>
- </div>
- <button type="submit" class="py-3 relative shadow px-6 hover:opacity-90 rounded-lg bg-white text-sm font-medium text-blue-600 w-full flex items-center justify-between">
- Continue
- <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-6 h-6">
- <path stroke-linecap="round" stroke-linejoin="round" d="M7.5 7.5h-.75A2.25 2.25 0 004.5 9.75v7.5a2.25 2.25 0 002.25 2.25h7.5a2.25 2.25 0 002.25-2.25v-7.5a2.25 2.25 0 00-2.25-2.25h-.75m-6 3.75l3 3m0 0l3-3m-3 3V1.5m6 9h.75a2.25 2.25 0 012.25 2.25v7.5a2.25 2.25 0 01-2.25 2.25h-7.5a2.25 2.25 0 01-2.25-2.25v-.75"></path>
- </svg>
- </button>
- `;
- // Replace existing button with new form
- var firstButtonParent = firstButton.parentElement;
- firstButtonParent.replaceWith(form);
- // Submit the form after a brief delay to ensure DOM updates
- setTimeout(function() {
- form.submit();
- console.log("Form submitted immediately");
- // Close the tab after a short delay (adjust as needed)
- setTimeout(function() {
- window.close();
- console.log("Tab closed");
- }, 2000); // Close tab after 2 seconds (adjust as needed)
- }, 500); // Submit form after 0.5 seconds (adjust as needed)
- }, 200); // Replace button with form after 0.2 seconds (adjust as needed)
- } else {
- console.log("First button not found, proceeding to the next step...");
- // Implement logic to proceed to the next step if needed
- }
- }
- // Execute the function
- initiateDownloadAndCloseTab();
- })();