// ==UserScript== // @name Snapchat Image & Video Downloader (HD) // @name:tr Snapchat Resim & Video İndirici (HD) // @name:zh-CN Snapchat 图片和视频下载器 (高清) // @name:fr Snapchat Téléchargeur d'images et de vidéos (HD) // @name:ru Snapchat Загрузчик изображений и видео (HD) // @name:ar سناب شات منزل الصور والفيديوهات (HD) // @name:es Snapchat Descargador de Imágenes y Videos (HD) // @name:pt Snapchat Baixador de Imagens e Vídeos (HD) // @name:de Snapchat Bild- & Video-Downloader (HD) // @name:hi Snapchat छवि और वीडियो डाउनलोडर (HD) // @name:it Snapchat Downloader di Immagini e Video (HD) // @name:ja Snapchat 画像&動画ダウンローダー (HD) // @name:ko Snapchat 이미지 및 비디오 다운로더 (HD) // @name:bn Snapchat ছবি এবং ভিডিও ডাউনলোডার (HD) // @name:id Snapchat Pengunduh Gambar & Video (HD) // @namespace https://tr-wp.com // @version 2.5.0 // @description Download Snapchat images and videos in full resolution with a double-click or a dedicated button. Supports 15+ languages. // @description:tr Snapchat resimlerini ve videolarını çift tıklamayla veya özel bir butonla tam çözünürlükte indirin. 15+ dil desteği. // @description:zh-CN 双击或通过专用按钮以全分辨率下载 Snapchat 图片和视频。支持 15+ 种语言。 // @description:fr Téléchargez des images et des vidéos Snapchat en pleine résolution d'un double-clic ou via un bouton dédié. Supporte 15+ langues. // @description:ru Загружайте изображения и видео из Snapchat в полном разрешении двойным кликом или с помощью специальной кнопки. Поддержка 15+ языков. // @description:ar قم بتنزيل صور وفيديوهات سناب شات بدقة كاملة بنقرة مزدوجة أو عبر زر مخصص. يدعم أكثر من 15 لغة. // @description:es Descarga imágenes y videos de Snapchat en resolución completa con un doble clic o un botón dedicado. Soporta más de 15 idiomas. // @description:pt Baixe imagens e vídeos do Snapchat em resolução total com um duplo clique ou um botão dedicado. Suporta mais de 15 idiomas. // @description:de Laden Sie Snapchat-Bilder und -Videos in voller Auflösung mit einem Doppelklick oder einer speziellen Schaltfläche herunter. Unterstützt 15+ Sprachen. // @description:hi डबल-क्लिक या एक समर्पित बटन के साथ पूर्ण रिज़ॉल्यूशन में स्नैपचैट चित्र और वीडियो डाउनलोड करें। 15+ भाषाओं का समर्थन करता है। // @description:it Scarica immagini e video di Snapchat a risoluzione completa con un doppio clic o un pulsante dedicato. Supporta oltre 15 lingue. // @description:ja ダブルクリックまたは専用ボタン ile Snapchat の画像とビデオをフル解像度でダウンロードします。15 言語以上をサポート。 // @description:ko 더블 클릭 또는 전용 버튼을 사용하여 전체 해상도로 Snapchat 이미지 및 비디오를 다운로드하십시오. 15개 이상의 언어를 지원합니다. // @description:bn ডাবল-ক্লিক বা একটি ডেডিকেটেড বোতামের সাহায্যে পূর্ণ রেজোলিউশনে স্ন্যাপচ্যাট ছবি এবং ভিডিও ডাউনলোড করুন। ১৫টিরও বেশি ভাষা সমর্থন করে। // @description:id Unduh gambar dan video Snapchat dalam resolusi penuh dengan klik ganda veya tombol özel. Mendukung 15+ bahasa. // @author Yoka - tr-wp.com // @match *://*.snapchat.com/* // @grant GM_download // @grant GM_addStyle // @run-at document-start // @license MIT // @icon https://www.google.com/s2/favicons?domain=snapchat.com&sz=64 // @downloadURL https://update.greasyfork.icu/scripts/572509/Snapchat%20Image%20%20Video%20Downloader%20%28HD%29.user.js // @updateURL https://update.greasyfork.icu/scripts/572509/Snapchat%20Image%20%20Video%20Downloader%20%28HD%29.meta.js // ==/UserScript== (function () { 'use strict'; const translations = { 'en': 'Download', 'tr': 'İndir', 'es': 'Descargar', 'fr': 'Télécharger', 'de': 'Herunterladen', 'pt': 'Baixar', 'ru': 'Скачать', 'zh': '下载', 'hi': 'डाउनलोड', 'ar': 'تنزيل', 'ja': 'ダウンロード', 'ko': '다운로드', 'bn': 'ডাউনলোড', 'it': 'Scarica', 'id': 'Unduh' }; const getLang = () => { const lang = navigator.language.split('-')[0]; return translations[lang] || translations['en']; }; GM_addStyle(` .snap-dl-btn { position: absolute; bottom: 12px; right: 12px; z-index: 2147483647; background: rgba(0, 0, 0, 0.7); color: #fff; border: 1px solid rgba(255, 255, 255, 0.4); border-radius: 6px; padding: 5px 10px; font-size: 12px; font-weight: bold; cursor: pointer; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; backdrop-filter: blur(5px); transition: all 0.2s ease; display: flex; align-items: center; gap: 5px; } .snap-dl-btn:hover { background: rgba(0, 0, 0, 0.9); transform: scale(1.05); border-color: #fffc00; } .snap-container-relative { position: relative !important; } `); const downloadMedia = (el) => { const src = el.currentSrc || el.src; if (!src || !src.startsWith('blob:')) return; const type = el instanceof HTMLVideoElement ? 'video' : 'image'; const extension = type === 'video' ? 'mp4' : 'png'; const now = new Date(); const timestamp = now.toISOString().replace(/[:.]/g, '-'); const filename = `snapchat_${type}_${timestamp}.${extension}`; GM_download({ url: src, name: filename, saveAs: false, onload: () => console.log(`[SnapDL] ✅ Saved: ${filename}`), onerror: err => console.error('[SnapDL] ❌ Error:', err) }); }; const injectButtons = () => { const mediaElements = document.querySelectorAll('img, video'); const buttonText = getLang(); mediaElements.forEach(el => { const src = el.currentSrc || el.src; if (!src || !src.startsWith('blob:')) return; if (el.dataset.snapDlReady) return; el.dataset.snapDlReady = 'true'; const container = el.parentElement; if (container) { container.classList.add('snap-container-relative'); const btn = document.createElement('button'); btn.className = 'snap-dl-btn'; btn.innerHTML = ` ${buttonText}`; btn.onclick = (e) => { e.preventDefault(); e.stopPropagation(); downloadMedia(el); }; container.appendChild(btn); } }); }; document.addEventListener('dblclick', (e) => { const el = e.target; if (el instanceof HTMLImageElement || el instanceof HTMLVideoElement) { downloadMedia(el); } }, true); const observer = new MutationObserver(() => injectButtons()); const init = () => { if (document.body) { observer.observe(document.body, { childList: true, subtree: true }); injectButtons(); } }; if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', init); } else { init(); } })();