您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
一次点击即可从 TikTok 直接下载无标志/水印的视频。更多功能即将推出。
// ==UserScript== // @name TikTok Magic (download dinâmico) // @namespace https://linkme.bio/jhonpergon/?userscript=tiktok_tools // @version 1.4 // @author Jhon Pérgon // @description Baixe vídeos sem logo/marca d'água com apenas um clique, diretamente do tiktok. Mais recursos em breve. // @name:pt TikTok Magic (download dinâmico) // @name:pt-BR TikTok Magic (download dinâmico) // @name:pt-PT TikTok Magic (download dinâmico) // @name:es TikTok Magic (descarga dinámica) // @name:en TikTok Magic (dynamic download) // @name:en-US TikTok Magic (dynamic download) // @name:fr TikTok Magic (téléchargement dynamique) // @name:ru TikTok Magic (динамическая загрузка) // @name:ja TikTok Magic(ダイナミックダウンロード) // @name:ko TikTok Magic (동적 다운로드) // @name:zh-TW TikTok Magic(動態下載) // @name:zh-CN TikTok Magic(动态下载) // @name:id TikTok Magic (unduhan dinamis) // @name:ug TikTok Magic (динамическая загрузка) // @name:ar TikTok Magic (تحميل ديناميكي) // @name:he TikTok Magic (הורדה דינמית) // @name:hi TikTok Magic (गतिशील डाउनलोड) // @name:th TikTok Magic (ดาวน์โหลดไดนามิก) // @name:bg TikTok Magic (динамично изтегляне) // @name:ro TikTok Magic (descărcare dinamică) // @name:fi TikTok Magic (dynaaminen lataus) // @name:it TikTok Magic (download dinamico) // @name:el TikTok Magic (δυναμική λήψη) // @name:eo TikTok Magic (dinamika elŝuto) // @name:hu TikTok Magic (dinamikus letöltés) // @name:nb TikTok Magic (dynamisk nedlasting) // @name:sk TikTok Magic (dynamické sťahovanie) // @name:sv TikTok Magic (dynamisk nedladdning) // @name:sr TikTok Magic (динамично преузимање) // @name:pl TikTok Magic (dynamiczne pobieranie) // @name:nl TikTok Magic (dynamische download) // @name:de TikTok Magic (dynamischer Download) // @name:da TikTok Magic (dynamisk download) // @name:cs TikTok Magic (dynamické stahování) // @name:uk TikTok Magic (динамічне завантаження) // @name:tr TikTok Magic (dinamik indirme) // @name:vi TikTok Magic (tải xuống động) // @name:fr-CA TikTok Magic (téléchargement dynamique) // @description:pt Baixe vídeos sem logo/marca d'água com apenas um clique, diretamente do tiktok. Mais recursos em breve. // @description:pt-BR Baixe vídeos sem logo/marca d'água com apenas um clique, diretamente do tiktok. Mais recursos em breve. // @description:pt-PT Baixe vídeos sem logo/marca d'água com apenas um clique, diretamente do tiktok. Mais recursos em breve. // @description:es Descarga vídeos sin logo/marca de agua con un solo clic, directamente desde TikTok. Pronto más características. // @description:en Download videos without logo/watermark with just one click, directly from TikTok. More features coming soon. // @description:fr Téléchargez des vidéos sans logo/marque d'eau en un seul clic, directement depuis TikTok. Plus de fonctionnalités à venir. // @description:ja ロゴ/ウォーターマークなしの動画を1クリックでTikTokから直接ダウンロードします。近日、さらなる機能を追加予定です。 // @description:ko 로고/워터마크 없는 동영상을 한 번의 클릭으로 TikTok에서 직접 다운로드하세요. 곧 더 많은 기능이 출시됩니다. // @description:zh-TW 一次點擊即可從 TikTok 直接下載無標誌/水印的影片。更多功能即將推出。 // @description:zh-CN 一次点击即可从 TikTok 直接下载无标志/水印的视频。更多功能即将推出。 // @description:id Unduh video tanpa logo/tanda air dengan hanya satu kali klik, langsung dari TikTok. Fitur lebih lanjut akan segera hadir. // @description:ug TikTokدىن تەكشۈرۈشقا كۈنكەر قۇيۇپ، بىر قىلىشتا پۈتۈن چۈشەندۈرۈشقا بولىدۇ. قوشۇمچە ئىمكانلار قىلىنىدۇ. // @description:ar قم بتنزيل الفيديوهات بدون شعار/علامة مائية بنقرة واحدة، مباشرة من TikTok. المزيد من الميزات قريبًا. // @description:he הורד סרטונים ללא לוגו/סימן מים בלחיצה אחת, ישירות מ-TikTok. יש יותר תכונות בקרוב. // @description:hi एक क्लिक में लोगो/जलाम रहित वीडियो डाउनलोड करें, सीधे TikTok से। जल्द ही अधिक सुविधाएँ उपलब्ध होंगी। // @description:th ดาวน์โหลดวิดีโอโดยไม่มีโลโก้/ลายน้ำด้วยคลิกเดียวโดยตรงจาก TikTok คุณลักษณะเพิ่มเติมในเร็ว ๆ นี้ // @description:bg Изтегляйте видеоклипове без лого/воден знак с едно щракване, директно от TikTok. Повече функции скоро. // @description:ro Descărcați videoclipuri fără logo/semn de apă cu doar un clic, direct de pe TikTok. Mai multe funcționalități în curând. // @description:fi Lataa videoita ilman logoa/vesileimaa vain yhdellä napsautuksella, suoraan TikTokista. Lisää ominaisuuksia tulossa pian. // @description:it Scarica video senza logo/watermark con un solo clic, direttamente da TikTok. Altre funzionalità in arrivo presto. // @description:el Κατεβάστε βίντεο χωρίς λογότυπο/υδατογραφή με μόνο ένα κλικ, απευθείας από το TikTok. Περισσότερες λειτουργίες σύντομα διαθέσιμες. // @description:eo Elŝutu videojn sen logo/aŭ akvo-marko per nur unu klako, rekte de TikTok. Pliaj funkcioj venos baldaŭ. // @description:hu Tölts le videókat logó/vízjel nélkül egyetlen kattintással, közvetlenül a TikTokról. Hamarosan több funkció érkezik. // @description:nb Last ned videoer uten logo/vannmerke med bare ett klikk, direkte fra TikTok. Flere funksjoner kommer snart. // @description:sk Stiahnite si videá bez loga/vodného značky jediným kliknutím priamo z TikToku. Ďalšie funkcie čoskoro. // @description:sv Ladda ner videor utan logotyp/vattenstämpel med bara ett klick, direkt från TikTok. Fler funktioner kommer snart. // @description:sr Преузмите видее без лого/воденог жига једним кликом, директно са ТикТока. Више функција ускоро. // @description:pl Pobieraj filmy bez logo/wodnego znaku za pomocą jednego kliknięcia, bezpośrednio z TikToka. Więcej funkcji wkrótce. // @description:nl Download video's zonder logo/watermerk met slechts één klik, rechtstreeks van TikTok. Meer functies binnenkort beschikbaar. // @description:de Laden Sie Videos ohne Logo/Wasserzeichen mit nur einem Klick direkt von TikTok herunter. Weitere Funktionen bald verfügbar. // @description:da Download videoer uden logo/vandmærke med kun ét klik, direkte fra TikTok. Flere funktioner kommer snart. // @description:cs Stahujte videa bez loga/vodního znamení jedním kliknutím přímo z TikToku. Další funkce brzy. // @description:uk Завантажуйте відео без лого/водяного знаку одним кліком, безпосередньо з TikTok. Більше функцій незабаром. // @description:tr TikTok'tan sadece bir tıklama ile logo/su damgası olmadan video indirin. Yakında daha fazla özellik. // @description:vi Tải xuống video mà không có logo/dấu nước chỉ bằng một cú nhấp chuột, trực tiếp từ TikTok. Các tính năng khác sẽ sớm được cập nhật. // @description:fr-CA Téléchargez des vidéos sans logo/marque d'eau en un seul clic, directement depuis TikTok. Plus de fonctionnalités à venir. // @grant GM_addStyle // @grant GM_getValue // @grant GM_setValue // @license MIT // @match https://*.tiktok.com/* // @icon https://cdn.iconscout.com/icon/free/png-256/free-tiktok-4069944-3365463.png // @compatible chrome // @compatible firefox // @compatible opera // @compatible edge // @compatible safari // @compatible berrybrowser // ==/UserScript== (function() { 'use strict'; let contagemK = 0; // Счетчик K (вероятно, для отслеживания изменений URL) function addBToks() { // Создание элемента <a> const linkElement = document.createElement('a'); linkElement.setAttribute('href', '#'); linkElement.setAttribute('class', 'linkTok'); linkElement.setAttribute('target', '_blank'); // Логика для автоматического закрытия вкладки после загрузки // Это может быть заблокировано браузером. if (GM_getValue("statusVideo") === true && contagemK === 0) { GM_setValue("statusVideo", false); // Предполагается, что это сброс статуса linkElement.addEventListener('click', function() { // setTimeout(() => { // window.close(); // Закрываем вкладку после начала загрузки // }, 1800); }); } // Создание элемента <button> const buttonElement = document.createElement('button'); buttonElement.setAttribute('data-e2e', 'arrow-right'); buttonElement.setAttribute('title', 'download magic'); buttonElement.setAttribute('role', 'button'); buttonElement.setAttribute('aria-label', 'Download Limpo'); buttonElement.setAttribute('class', 'tiktokDL'); // Создание элемента <svg> const svgElement = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); svgElement.setAttribute('width', '26'); svgElement.setAttribute('height', '26'); svgElement.setAttribute('viewBox', '0 0 48 48'); svgElement.setAttribute('fill', '#fff'); svgElement.setAttribute('xmlns', 'http://www.w3.org/2000/svg'); svgElement.setAttribute('style', '--darkreader-inline-fill: #d7d5d1;'); // Учитывайте, что это может быть несовместимо с Dark Reader // Создание элемента <path> внутри <svg> const pathElement = document.createElementNS('http://www.w3.org/2000/svg', 'path'); pathElement.setAttribute('d', 'M21.9 7.38v19.86l-6.73-6.73a.87.87 0 0 0-1.24 0l-1.73 1.73a.88.88 0 0 0 0 1.24l11.18 11.18c.34.35.9.35 1.24 0L35.8 23.48a.88.88 0 0 0 0-1.24l-1.73-1.73a.87.87 0 0 0-1.24 0l-6.73 6.73V7.38c0-.49-.4-.88-.87-.88h-2.45c-.49 0-.88.4-.88.88ZM10.88 37.13c-.49 0-.88.39-.88.87v2.63c0 .48.4.87.88.87h26.24c.49 0 .88-.4.88-.87V38c0-.48-.4-.87-.87-.87H10.86Z'); svgElement.appendChild(pathElement); buttonElement.appendChild(svgElement); linkElement.appendChild(buttonElement); // Стили для кнопки загрузки const styleElement1 = document.createElement('style'); styleElement1.innerHTML = ` .tiktokDL { position: absolute; z-index: 1; display: flex; -moz-box-pack: center; align-content: center; -moz-box-align: center; align-items: center; background: rgba(84, 84, 84, 0.5); border-radius: 50%; cursor: pointer; border: none; outline: none; width: 40px; height: 40px; top: calc(50% + 62px); margin-top: -24px; right: 20px; z-index: 10; } `; const styleElement2 = document.createElement('style'); styleElement2.innerHTML = ` .tiktokDL { position: absolute; z-index: 1; display: flex; -moz-box-pack: center; align-content: center; -moz-box-align: center; align-items: center; background: rgba(84, 84, 84, 0.5); border-radius: 50%; cursor: pointer; border: none; outline: none; width: 40px; height: 40px; top: calc(50% - 262px); margin-top: -24px; right: 20px; z-index: 10; } `; // Вставка кнопки в DOM if (document.querySelector(".css-1s9jpf8-ButtonBasicButtonContainer-StyledVideoSwitch.e11s2kul11")) { document.head.appendChild(styleElement1); const targetElement = document.querySelector('.css-1s9jpf8-ButtonBasicButtonContainer-StyledVideoSwitch.e11s2kul11'); targetElement.insertAdjacentElement('afterend', linkElement); } else if (document.querySelector(".css-ty9aj4-DivVideoContainer.eqrezik7")) { document.head.appendChild(styleElement2); const targetElement = document.querySelector('.css-ty9aj4-DivVideoContainer.eqrezik7'); targetElement.insertAdjacentElement('afterend', linkElement); } else { document.head.appendChild(styleElement1); const header = document.querySelector("#app-header"); if (header) { header.appendChild(linkElement); } else { console.warn("TikTok Magic: Не удалось найти целевой элемент для кнопки загрузки."); } } } // Сохраните значение после последнего символа «/» в адресе веб-сайта let lastSegment = window.location.pathname.split('/').filter(function(segment) { return segment !== ''; }).pop(); function minhaFuncao() { console.log('Значение после последнего "/" изменилось на:', lastSegment); if (document.querySelector(".linkTok")) { document.querySelector(".linkTok").remove(); } if (window.location.href.includes("/video/")) { addBToks(); const videoTikTok = document.querySelector('video'); if (videoTikTok && videoTikTok.src && videoTikTok.src.includes("-prime.tiktok.com/video/")) { const videoSrc = videoTikTok.src; const linkTokElement = document.querySelector(".linkTok"); if (linkTokElement) { linkTokElement.href = videoSrc; } } else { const linkTokElement = document.querySelector('.tiktokDL'); if (linkTokElement) { linkTokElement.addEventListener('click', function() { GM_setValue("statusVideo", true); // alert('Error.'); // window.location.reload(); }); } } } } // Отслеживать изменения значения после последнего "/" function tokChck() { const newLastSegment = window.location.pathname.split('/').filter(function(segment) { return segment !== ''; }).pop(); // Если значение изменилось, вызываем функцию if (lastSegment !== newLastSegment) { lastSegment = newLastSegment; contagemK++; minhaFuncao(); } } // Основная логика при загрузке скрипта if (window.location.href.includes("-prime.tiktok.com/video/")) { const videoElement = document.querySelector('video'); if (videoElement) { videoElement.pause(); const videoSrc = videoElement.src; const uniqueId = Math.floor(Math.random() * 10000); // Генерирует уникальный идентификатор из четырех цифр const downloadFileName = `tiktok_magic-${uniqueId}.mp4`; const downloadLink = document.createElement('a'); downloadLink.href = videoSrc; downloadLink.download = downloadFileName; downloadLink.addEventListener('click', () => { // setTimeout(() => { // window.close(); // Закрываем вкладку после начала загрузки // }, 1300); // Установите достаточный временной интервал для начала загрузки }); downloadLink.click(); // Имитация клика для начала загрузки } else { console.log('Элемент видео не найден.'); } } else { // Задержка перед инициализацией, чтобы DOM успел загрузиться setTimeout(function() { minhaFuncao(); setInterval(tokChck, 1500); // Проверяем изменение URL каждые 1.5 секунды }, 2500); // Задержка 2.5 секунды } function carregarStatus() { const statusTK = GM_getValue("statusVideo"); if (statusTK) { if (statusTK === true) { if (contagemK === 0) { const dwstyle = document.createElement('style'); dwstyle.innerHTML = ` .tiktokDL{ border: 1px solid transparent; animation: picboard .5s infinite; } @keyframes picboard { 0% { border: 1px solid transparent; } 100% { border: 1px solid lightgreen; } } `; document.head.appendChild(dwstyle); } } } else { GM_setValue("statusVideo", false); // Устанавливаем в false, если не определено } } carregarStatus(); })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址