แทนที่ปุ่มดาวน์โหลดพรีเมียมดั้งเดิมด้วยเว็บไซต์ของบุคคลที่สามที่มีการดาวน์โหลดฟรี
// ==UserScript== // @name youTube Download Button Replacer with yt1s // @namespace johnnyScripts // @match https://www.youtube.com/watch // @match https://*.youtube.com/* // @grant GM_addStyle // @run-at document-start // @version 1.1.2 // @author johnny // @license MIT // @description Replaces the original Premium Download Button with third party website with free downloading // @description:pt-BR Substitui o botão de download premium original por um site de terceiros com download gratuito // @description:ar يستبدل زر التنزيل المميز الأصلي بموقع ويب تابع لجهة خارجية مع تنزيل مجاني // @description:bg Заменя оригиналния бутон за премиум изтегляне с уебсайт на трета страна с безплатно изтегляне // @description:cs Nahrazuje původní tlačítko Premium Stáhnout webovou stránkou třetí strany s bezplatným stahováním // @description:da Erstatter den oprindelige Premium Download-knap med en tredjeparts hjemmeside med gratis download // @description:de Ersetzt den originalen Premium-Download-Button durch eine Drittanbieter-Website mit kostenlosem Download // @description:el Αντικαθιστά το αρχικό κουμπί Premium Λήψη με ιστότοπο τρίτου μέρους με δωρεάν λήψη // @description:eo Anstataŭigas la originalan Premium Elŝuto-Butonon per retejo de tria partio kun senpaga elŝuto // @description:es Reemplaza el botón de descarga Premium original con un sitio web de terceros con descarga gratuita // @description:fi Korvaa alkuperäisen Premium-latauspainikkeen kolmannen osapuolen verkkosivustolla, jossa on ilmainen lataus // @description:fr Remplace le bouton de téléchargement Premium original par un site tiers avec téléchargement gratuit // @description:fr-CA Remplace le bouton de téléchargement Premium original par un site tiers avec téléchargement gratuit // @description:he מחליף את כפתור ההורדה המקורי של Premium באתר צד שלישי עם הורדה בחינם // @description:hu Helyettesíti az eredeti prémium letöltés gombot egy harmadik fél weboldalával, amely ingyenes letöltést biztosít // @description:id Mengganti tombol unduhan Premium asli dengan situs web pihak ketiga dengan pengunduhan gratis // @description:it Sostituisce il pulsante di download Premium originale con un sito web di terze parti con download gratuito // @description:ja 元のプレミアムダウンロードボタンを無料ダウンロードができるサードパーティのウェブサイトに置き換えます // @description:ko 원본 프리미엄 다운로드 버튼을 무료 다운로드가 가능한 제3자 웹사이트로 교체합니다 // @description:nb Erstatter den originale Premium Download-knappen med en tredjeparts nettside med gratis nedlasting // @description:nl Vervangt de originele Premium-downloadknop door een externe website met gratis download // @description:pl Zastępuje oryginalny przycisk Premium do pobierania stroną trzeciej firmy z darmowym pobieraniem // @description:ro Înlocuiește butonul original Premium de descărcare cu un site web terț cu descărcare gratuită // @description:ru Заменяет оригинальную кнопку премиум-скачивания на сайт третьей стороны с бесплатным скачиванием // @description:sk Nahrádza pôvodné tlačidlo Premium na stiahnutie webovou stránkou tretej strany s bezplatným sťahovaním // @description:sr Zamenjuje originalno Premium dugme za preuzimanje sa web-sajt treće strane sa besplatnim preuzimanjem // @description:sv Ersätter den ursprungliga Premium-hämtningsknappen med en tredjepartswebbplats med gratis nedladdning // @description:th แทนที่ปุ่มดาวน์โหลดพรีเมียมดั้งเดิมด้วยเว็บไซต์ของบุคคลที่สามที่มีการดาวน์โหลดฟรี // @description:tr Orijinal Premium İndir düğmesini ücretsiz indirme sağlayan üçüncü taraf bir web sitesi ile değiştirir // @description:uk Замінює оригінальну кнопку Premium завантаження на сторонній веб-сайт із безкоштовним завантаженням // @description:ug ئەسلى Premium چۈشۈرۈش كۇنۇپكىسىنى ھەقسىز چۈشۈرۈشچى ئۇچۇر تورى بىلەن ئالماشتۇرىدۇ // @description:vi Thay thế nút Tải xuống Premium gốc bằng trang web của bên thứ ba với tải xuống miễn phí // @description:zh-CN 将原来的高级下载按钮替换为第三方网站的免费下载按钮 // @description:zh-TW 將原來的高級下載按鈕替換為第三方網站的免費下載按鈕 // ==/UserScript== (function() { const API = "https://yt1s.com/en/youtube-to-mp3?q="; const BUTTON_ID = "dwnldBtn"; const TARGET_CONTAINER = "#top-level-buttons-computed"; const REFERENCE_BUTTON = "#top-level-buttons-computed > segmented-like-dislike-button-view-model"; const buttonStyle = ` #${BUTTON_ID} { background-color: #292a2a; /* Alterado para a nova cor */ color: #FFFFFF; border: 1px solid #292a2a; border-color: rgba(41,42,42,255); margin: 0px 4px; border-radius: 18px; width: 120px; /* Ajustado para acomodar o ícone e o texto */ height: 36px; line-height: 36px; text-align: center; font-style: normal; font-size: 14px; font-family: Roboto, Noto, sans-serif; font-weight: 500; text-decoration: none; display: flex; /* Usado para alinhar o ícone e o texto */ align-items: center; justify-content: center; } #${BUTTON_ID} svg { margin-right: 8px; /* Espaçamento entre o ícone e o texto */ fill: #FFFFFF; /* Define a cor do ícone como branca */ } #${BUTTON_ID}:hover { background-color: #15171E; color: #ffffff; border-color: #15171E; } `; GM_addStyle(buttonStyle); function waitForElement(selector) { return new Promise(resolve => { if (document.querySelector(selector)) { return resolve(document.querySelector(selector)); } const observer = new MutationObserver(mutations => { if (document.querySelector(selector)) { resolve(document.querySelector(selector)); observer.disconnect(); } }); observer.observe(document.body, { childList: true, subtree: true }); }); } function removeFlexibleItemButtons() { const flexibleItemButtons = document.querySelector("#flexible-item-buttons"); if (flexibleItemButtons) { flexibleItemButtons.remove(); } } function addButton() { waitForElement(TARGET_CONTAINER).then((container) => { removeFlexibleItemButtons(); const referenceButton = container.querySelector(REFERENCE_BUTTON); const btn = document.createElement('a'); btn.href = API + encodeURIComponent(window.location.href); btn.target = "_blank"; btn.id = BUTTON_ID; btn.innerHTML = ` <svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24" focusable="false" style="pointer-events: none; display: inherit; width: 24px; height: 24px;" aria-hidden="true"> <path d="M17 18v1H6v-1h11zm-.5-6.6-.7-.7-3.8 3.7V4h-1v10.4l-3.8-3.8-.7.7 5 5 5-4.9z" fill="#FFFFFF"></path> </svg> Download `; container.insertBefore(btn, referenceButton.nextSibling); }); } function updateButton() { waitForElement(`#${BUTTON_ID}`).then((btn) => { btn.href = API + encodeURIComponent(window.location.href); }); } window.onload = addButton; window.addEventListener("yt-navigate-start", updateButton, true); })();