您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Get the video link from q parameter in the URL and automatically pastes it into ezconv.com input field, clicks Convert, and then Download MP3
// ==UserScript== // @name EzConv.com Youtube to MP3 Link Injector and Downloader // @namespace https://violentmonkey.github.io/ // @version 1.0 // @description Get the video link from q parameter in the URL and automatically pastes it into ezconv.com input field, clicks Convert, and then Download MP3 // @author Streampunk // @icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAMAAAD04JH5AAAANlBMVEVHcEzTCgrPCAjOCAjdDQ3JBgbVCgq4AADdDQ3MBwfdDQ3IBga4AADJBga4AAC4AADdDQ3dDQ0KQmz1AAAAEXRSTlMAZjR0zRCN/q4i5VGkQsTfwqhfr2oAAAP7SURBVHic7ZrRkqQgDEUFBEREmv//2bUksRdEhW5Htna4L05PKRxDAiHYdU1NTU1NTU1NTU1NTf+RzMTrAkjJ6gIwq+oCVJdhlXyA+KFXUs5V+udS0qoA3Wz9VdcOw2oy2l/ZUCcMNUxAxrnx0Y75PK1XIqVYr8659R/G6kcAljf3fwgAQYDpnmjg2P6hRPiiG4CabvGFJawzo4qJEOAu0Yv34JPvWDg3BABmjnwAbrxNYJhJyrWjwbk+AJDR4FEpPxkTZW16CIj0TidgCt4BWGnDJwotoBW2n36OoZMbf+MOoNNfTckYXceGo+HPPcAOuShTorlRbMaeJwGEC03HpCQlBCgOhpwjSzDwgdH5jmIAtVxXI1G4sRRA+Y6X9sz6Bzj7JgljcwlAMBpYUf8CJqAewruj8LiC5V7AGF0CdCRyIp0VDbOUJgBAWbAo6hoAxIfBo8e2TIta388GMFnfHPNgWxRcAhhoaYAbl5bO4lPNYXghgI5TvZdzPAvAwky1s6WZUwGOiyhnJgDguOFRZO2XL+3rLIBDb4oH04vOW8chNwdc6WfYfACMJ2yJ4tyqkxZALY+zAADEYY0pAABhS0Ym3xylBE0CqNF5y+mJlgEwN4ZDwCCQqUhZwMK0EQOIKNfMBzixZbRcrpJXAGYotMAOgAl+AqDALkcACtr/HIDAjcsQnM0HRwBL2u/UVwDxYEYiPXkKgPVm3z+H9h8AoMnMhV49dh8AtlQVYO+F2dw/BVB9CNSzTpiYCDCXfSAMB3eWm1WbiDjsZ64M9zkAQwCeTA0vV0MxrlPlF4vR0PsVP13Pk5BAPbIcp2ofuKuPH6OY0ypWmBMOEFcbgIY9IpkTa8GmHbeiaKLSnJDucsKzlIxDZWeE9n8wJ1TJkiqm5WpgwWPcwn7GeMJ8AAKJz/YqBMI/nZbH1b2/uEOfHQs2JulNHrFRiSGQmkILLJtF7zIUs3myjdU5gAby1zsrPul303y0ofp4c0rH0SPnbU4n2P6/d0bQGu7oSG6BojORr+VZAItUy8RJgDuM2uwChcbs25wN+bHwMSvD5ydo93p7Dj5A8kyPUjY2VBy08JvARLcrUg3uFdwoyg4UsbKj5NExYAS0L9NFN/Apb+xRzFt8OipUohPi7nsP8NmQxzosVGKllMENO4A53vqVVcky0Dro57hYHQzCh8XqrVB5JPTWJWF4BQDERj43l/kA9p97YMFfvQoAbtI1gA6d7Q1w0xny1RAYTKw0CQFuOrS6lIJ+8Nzw7QMPf8ig43PDxwXH990wPnNg+e8Jl3l184SXK/yAgVf7gAHOjut9QYH6vV9QoPT82z/lIvd8N9DU1NTU1NTU1NTU1PSw/gCN4F7HbUbz7gAAAABJRU5ErkJggg== // @match https://ezmp4.com/* // @match https://ezconv.com/* // @grant GM_setValue // @grant GM_getValue // @license MIT // ==/UserScript== (function() { 'use strict'; // If we are on ezmp4.com, extract the URL and redirect if (window.location.hostname === 'ezmp4.com') { const urlParams = new URLSearchParams(window.location.search); const videoUrl = urlParams.get('q'); if (videoUrl) { GM_setValue('ezconv_video_url', videoUrl); window.location.href = 'https://ezconv.com/'; } } // If we are on ezconv.com, paste the URL and click Convert, then wait for Download MP3 else if (window.location.hostname === 'ezconv.com') { const videoUrl = GM_getValue('ezconv_video_url'); if (videoUrl) { const maxAttempts = 20; let attempts = 0; const checkInterval = setInterval(() => { attempts++; const inputField = document.querySelector( 'input[placeholder="Please paste the YouTube video URL here"][name="url"]' ); if (inputField) { inputField.focus(); document.execCommand('insertText', false, videoUrl); const inputEvent = new Event('input', { bubbles: true }); const changeEvent = new Event('change', { bubbles: true }); inputField.dispatchEvent(inputEvent); inputField.dispatchEvent(changeEvent); console.log('URL inserted:', inputField.value); // Flag to enable/disable automatic MP3 download const autoDownloadMP3 = true; // Set to false to disable automatic download & manually select MP3 audio quality if (autoDownloadMP3) { // --- Automatically Convert Button Click (128kbps quality) --- const convertButton = document.querySelector('#\\:R1ajalffata\\:'); if (convertButton) { console.log('Convert button found, clicking...'); convertButton.click(); // --- Wait for Download MP3 button --- const maxDownloadAttempts = 60; // 60 seconds max let downloadAttempts = 0; const downloadInterval = setInterval(() => { downloadAttempts++; const downloadButton = document.querySelector( "body > div > main > div > div.MuiBox-root.css-4qgjo8 > div.MuiBox-root.css-1kp13v1 > div > div.MuiGrid-root.MuiGrid-item.MuiGrid-grid-xs-12.MuiGrid-grid-md-4.css-j6tcf3 > button" ); if (downloadButton && downloadButton.textContent.includes('MP3')) { console.log('Download MP3 button found, clicking...'); downloadButton.click(); clearInterval(downloadInterval); } else if (downloadAttempts >= maxDownloadAttempts) { console.log('Download MP3 button not found after several attempts'); clearInterval(downloadInterval); } }, 1000); // --- End of Download MP3 --- } else { console.log('Convert button not found'); } } else { console.log('Automatic MP3 download is disabled, please select quality manually'); } clearInterval(checkInterval); GM_setValue('ezconv_video_url', ''); } else if (attempts >= maxAttempts) { console.log('Input field not found after several attempts'); clearInterval(checkInterval); } }, 1000); } } })();