您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Download Medal clips without watermark via MedalBypass API (corrected for /clips/ URL)
// ==UserScript== // @name Medal No Watermark Downloader (MedalBypass) // @namespace http://tampermonkey.net/ // @version 0.3 // @description Download Medal clips without watermark via MedalBypass API (corrected for /clips/ URL) // @author You // @match https://medal.tv/* // @grant GM_xmlhttpRequest // @grant GM_download // @connect medalbypass.vercel.app // @license MIT // ==/UserScript== (function() { 'use strict'; // Function to extract Medal clip ID properly function getClipID() { const match = window.location.href.match(/clips\/([^/?]+)/); return match ? match[1] : null; } function createButton() { const btn = document.createElement('button'); btn.innerText = "⬇️ No Watermark"; btn.style.position = "fixed"; btn.style.bottom = "20px"; btn.style.right = "20px"; btn.style.zIndex = "10000"; btn.style.padding = "10px"; btn.style.backgroundColor = "#ff5722"; btn.style.color = "white"; btn.style.border = "none"; btn.style.borderRadius = "8px"; btn.style.fontSize = "18px"; btn.style.cursor = "pointer"; btn.style.boxShadow = "0 4px 6px rgba(0,0,0,0.2)"; btn.onclick = function() { const clipID = getClipID(); if (!clipID) { alert("No Medal clip ID detected!"); return; } const apiUrl = `https://medalbypass.vercel.app/api/clip?id=${clipID}`; GM_xmlhttpRequest({ method: "GET", url: apiUrl, onload: function(response) { const data = JSON.parse(response.responseText); if (data.valid && data.src) { GM_download(data.src, `${clipID}.mp4`); } else { alert("Error: " + (data.reasoning || "Unknown error.")); } }, onerror: function() { alert("Failed to reach MedalBypass API."); } }); }; document.body.appendChild(btn); } window.addEventListener('load', createButton); })();