Greasy Fork

自动下载

自动下载助手

目前为 2023-08-22 提交的版本。查看 最新版本

// ==UserScript==
// @name         自动下载
// @namespace    http://www.nite07.com/
// @version      0.2
// @description  自动下载助手
// @author       Nite07
// @match        https://oxy.st/d/*
// @match        https://uploadrar.com/*
// @match        https://en.taiwebs.com/*
// @match        https://br0wsers.com/*
// @require      https://unpkg.com/[email protected]/dist/ajaxhook.min.js
// @run-at       document-end
// ==/UserScript==

(() => {
	console.log('Script start!');
	switch (window.location.host) {
		case 'oxy.st':
			console.log('catch oxy.st');
			oxy();
			break;
		case 'uploadrar.com':
			console.log('catch uploadrar.com');
			uploadrar();
			break;
		case 'en.taiwebs.com':
			console.log('catch en.taiwebs.com');
			//taiwebs();
			break;
		case 'br0wsers.com':
			console.log('catch br0wsers.com');
			br0wsers();
			break;
	}
})();

function oxy() {
	let linkElem = document.querySelector('div[data-batch_id="1"]');
	if (linkElem) {
		let link = linkElem.getAttribute('data-source_url');
		console.log('下载链接: ' + link);
		window.location.href = link;
	}
}

function uploadrar() {
	let freeDownloadBtn = document.querySelector('input[name="method_free"]');
	let createDownloadLinkBtn = document.querySelector('button#downloadbtn');
	let downloadBtn = document.querySelector('span#direct_link>a');
	if (freeDownloadBtn) {
		freeDownloadBtn.click();
	}
	if (createDownloadLinkBtn) {
		createDownloadLinkBtn.click();
	}
	if (downloadBtn) {
		downloadBtn.click();
	}
}

function taiwebs() {
	let downloadBtn = document.querySelector('.main-download-bottom>a');
	if (downloadBtn) {
		downloadBtn.click();
	}
}

function br0wsers() {
	ah.proxy({
		onResponse: (response, handler) => {
			try {
				hookReq(response);
			} catch {
				console.error('hook error');
			} finally {
				handler.next(response);
			}
		},
	});
	let downloadBtns = document.querySelectorAll('.downl_2.js0');
	if (downloadBtns.length > 0) {
		downloadBtns[downloadBtns.length - 1].click();
	}
}

function hookReq(response) {
	console.log(response.response);
	if (response.config.url == '/data.php') {
		let resp = response.response;
		let matchRes = resp.matchAll(
			/(https:\/\/.*?\.dl-(file|faster)\.xyz\/.*?)(?=")/g
		);
		let res = [...matchRes];
		console.log(res);
		if (res.length > 0) {
			window.location.href = res[res.length - 1];
		}
	}
}