├── README.md ├── _locales ├── de │ └── messages.json ├── en │ └── messages.json ├── es │ └── messages.json ├── fr │ └── messages.json ├── it │ └── messages.json ├── ja │ └── messages.json ├── ko │ └── messages.json ├── pt_BR │ └── messages.json ├── pt_PT │ └── messages.json ├── ru │ └── messages.json └── tr │ └── messages.json ├── background.html ├── css ├── galleryScroll.css ├── icons │ ├── checks16.png │ ├── sort-ascending.png │ └── sort-descending.png ├── options.css └── popup.css ├── data └── ad_win.txt ├── images ├── allow_deny.png ├── android.png ├── bg_download.png ├── bullet01.png ├── convert_video.png ├── converter_bg.png ├── copy_icon.png ├── email_open.png ├── email_open_hover.png ├── ext_icons │ ├── 3gp.png │ ├── 7z.png │ ├── bmp.png │ ├── crx.png │ ├── css.png │ ├── doc.png │ ├── exe.png │ ├── file.png │ ├── flv.png │ ├── gif.gif │ ├── htm.png │ ├── html.png │ ├── ico.png │ ├── jar.png │ ├── jpg.jpg │ ├── jpg.png │ ├── js.png │ ├── metalink.png │ ├── mp3.png │ ├── mp4.png │ ├── mpg.png │ ├── oex.png │ ├── other.png │ ├── pdf.gif │ ├── pdf.jpg │ ├── png.gif │ ├── png.png │ ├── rar.png │ ├── svg.png │ ├── swf.png │ ├── tar.png │ ├── webm.png │ ├── xls.png │ ├── xpi.png │ └── zip.png ├── getthemall.icon.png ├── getthemall.main_128.png ├── getthemall.main_16.png ├── getthemall.main_24.png ├── getthemall.main_32.png ├── getthemall.main_48.png ├── getthemall.main_64.png ├── getthemall.rate.png ├── getthemall.setting.png ├── loading_16x16.gif ├── note_taking.png ├── options │ ├── 3dspeeddial_icon.svg │ ├── feedback_icon.svg │ ├── googleplay_icon.svg │ ├── ic_hide.svg │ ├── ic_hide_white.svg │ ├── livestartpage.gif │ ├── livestartpage1.gif │ ├── livestartpage2.gif │ ├── livestartpage_ru.gif │ ├── logo_nimbus.svg │ ├── logo_settings.png │ └── wallpapers_icon.png ├── popup │ ├── 3dspeeddial_icon.svg │ ├── archive_file.png │ ├── download.png │ ├── download_stop.png │ ├── feedback_icon.svg │ ├── googleplay_icon.svg │ ├── help_icon.svg │ ├── ic_hide.svg │ ├── ic_hide_white.svg │ ├── ic_main_files.svg │ ├── ic_main_images.svg │ ├── ic_main_link.svg │ ├── ic_main_video.svg │ ├── ic_options_16.svg │ ├── list │ │ ├── ic_list_3gp.svg │ │ ├── ic_list_7z.svg │ │ ├── ic_list_avi.svg │ │ ├── ic_list_bmp.svg │ │ ├── ic_list_bz2.svg │ │ ├── ic_list_css.svg │ │ ├── ic_list_dmg.svg │ │ ├── ic_list_doc.svg │ │ ├── ic_list_exe.svg │ │ ├── ic_list_filemisc.svg │ │ ├── ic_list_flv.svg │ │ ├── ic_list_gif.svg │ │ ├── ic_list_html.svg │ │ ├── ic_list_ico.svg │ │ ├── ic_list_jar.svg │ │ ├── ic_list_jpg.svg │ │ ├── ic_list_js.svg │ │ ├── ic_list_link.svg │ │ ├── ic_list_mov.svg │ │ ├── ic_list_mp3.svg │ │ ├── ic_list_mp4.svg │ │ ├── ic_list_msi.svg │ │ ├── ic_list_other.png │ │ ├── ic_list_other.svg │ │ ├── ic_list_pdf.svg │ │ ├── ic_list_png.svg │ │ ├── ic_list_ppt.png │ │ ├── ic_list_rar.svg │ │ ├── ic_list_svg.svg │ │ ├── ic_list_tar.svg │ │ ├── ic_list_txt.svg │ │ ├── ic_list_video.svg │ │ ├── ic_list_waw.svg │ │ ├── ic_list_webm.svg │ │ ├── ic_list_xls.svg │ │ └── ic_list_zip.svg │ ├── load_file.png │ ├── logo_capture.png │ ├── logo_nimbus.svg │ ├── logo_safe.png │ ├── logo_settings.png │ ├── sort-ascending.png │ ├── sort-descending.png │ ├── stream.png │ ├── stream_start.png │ ├── stream_stop.png │ └── wallpapers_icon.png ├── remove.png ├── small_loading.gif ├── speeddial.png ├── star.png └── video_help.png ├── js ├── Prefs.js ├── Utils.js ├── _external │ ├── jquery.js │ ├── jspack.js │ ├── md5.js │ ├── perfect-scrollbar.css │ └── perfect-scrollbar.js ├── ad.js ├── background.js ├── background │ ├── Media.js │ ├── Media │ │ ├── BreakCom.js │ │ ├── DailyMotion.js │ │ ├── FaceBook.js │ │ ├── MediaManifest.js │ │ ├── MediaStream.js │ │ ├── SitePage.js │ │ ├── Sniffer.js │ │ ├── Storage.js │ │ ├── Twitch.js │ │ ├── VKontakte.js │ │ ├── Vimeo.js │ │ └── Youtube.js │ └── namespace.js ├── contentScripts │ ├── Controller.js │ ├── contentScript.css │ └── contentScript.js ├── hooks │ ├── content.css │ └── content.js ├── jquery.galleryScroll.1.5.2.js ├── jquery.min.js ├── locale.js ├── noload.js ├── opt.js ├── options.js ├── options │ └── options.js ├── popup.js └── popup │ ├── Popup.js │ └── namespace.js ├── manifest.json ├── modules ├── downloader.js ├── downloader_zip.js ├── opener.js ├── recorder.js ├── recorder_worker.js ├── streamer.js └── zip │ ├── deflate.js │ ├── z-worker.js │ └── zip.js ├── noload.html ├── opt_page.html ├── options.html ├── popup.html └── screenshot.png /README.md: -------------------------------------------------------------------------------- 1 | # Get Them All 2 | 3 | ## What is this 4 | 5 | This is a Chrome Extension to download all elements on website supporting not only mp3, mp4, mov, gif, png but also m3u8 and a lot. 6 | 7 | ## Screenshot 8 | 9 | ![Screenshot](./screenshot.png) 10 | 11 | ## What to notice 12 | 13 | I DO NOT CONFIRM THIS COPY IS SAFE 14 | 15 | I been using this copy for 3 years or so. It should be safe but I DO_NOT promise you that. You can take over this copy and rewrite it if you like to. PRs are welcome. 16 | 17 | ## Why is this 18 | 19 | This is a copy of GetThemAll from Google Chrome Extension Store. 20 | 21 | I saved this copy as an accident. That day I was backing up my Chrome Extension localy to my hard drive and some weeks later, I noticed this lovely extension was away from my Chrome. 22 | 23 | Here is a backup I looked it up for 30 min in my backups. 24 | 25 | ## What about the license 26 | 27 | Clearly, I dont have any license of this extension. If anything goes wrong, contact me in the issue and I will follow up asap. 28 | 29 | ## A little bit more 30 | 31 | I have modified the manifest.json due some **Chrome Jobs** The Chome will not enable this if I dont do or simply delete it like the same way last time I lost it. 32 | 33 | Enjoy - Lakr Aream - 2020 04 23 34 | -------------------------------------------------------------------------------- /_locales/de/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "appDesc": { 3 | "message": "Laden Sie Videos, PDF-Dateien, HTML-Dateien und Bilder herunter. Analysieren Sie Webseiten mit integrierten Filtern." 4 | }, 5 | "appName": { 6 | "message": "Video Downloader GetThemAll" 7 | }, 8 | "button_download": { 9 | "message": "Download" 10 | }, 11 | "options_about": { 12 | "message": "Über" 13 | }, 14 | "options_apply_changes": { 15 | "message": "Änderungen übernehmen" 16 | }, 17 | "options_close": { 18 | "message": "Schließen" 19 | }, 20 | "options_facebook": { 21 | "message": "facebook.com Download-Schaltfläche anzeigen" 22 | }, 23 | "options_filename": { 24 | "message": "download original FileName" 25 | }, 26 | "options_general": { 27 | "message": "OPTIONEN" 28 | }, 29 | "options_save": { 30 | "message": "Show Save in text" 31 | }, 32 | "options_title": { 33 | "message": "GetThemAll Einstellungen" 34 | }, 35 | "options_vk": { 36 | "message": "vk.com Download-Schaltfläche anzeigen" 37 | }, 38 | "popup_clear_all": { 39 | "message": "Clear all" 40 | }, 41 | "popup_download": { 42 | "message": "DOWNLOAD" 43 | }, 44 | "popup_download_warning_1": { 45 | "message": "Wichtig, bitte lesen!" 46 | }, 47 | "popup_download_warning_2": { 48 | "message": "Wenn Sie mehrere Dateien herunterladen, können viele \"Speichern als...\"-Fenster erscheinen." 49 | }, 50 | "popup_download_warning_3": { 51 | "message": "1. Klicken Sie immer auf ZULASSEN. Andernfalls können Sie von der aktuellen Webseite nicht weiter mehrere Dateien herunterladen!" 52 | }, 53 | "popup_download_warning_4": { 54 | "message": "2. Sehen Sie sich das kurze Video darüber an, wie Sie mit vielen Dialog-Fenstern umgehen." 55 | }, 56 | "popup_download_warning_5": { 57 | "message": "Verstanden! Nicht mehr anzeigen!" 58 | }, 59 | "popup_download_zip": { 60 | "message": "Als ZIP herunterladen" 61 | }, 62 | "popup_downloader_desc": { 63 | "message": "Beschreibung" 64 | }, 65 | "popup_downloader_size": { 66 | "message": "Größe" 67 | }, 68 | "popup_downloader_url": { 69 | "message": "URL" 70 | }, 71 | "popup_filter_mask": { 72 | "message": "Mask:" 73 | }, 74 | "popup_noyoutube_message_1": { 75 | "message": "Aufgrund der YouTube-Richtlinien. Von YouTube darf nicht heruntergeladen werden." 76 | }, 77 | "popup_noyoutube_message_2": { 78 | "message": "Bitte schreiben Sie keine negativen Bewertungen. Es ist nicht unsere Schuld." 79 | }, 80 | "popup_noyoutube_message_3": { 81 | "message": "Vielen Dank für Ihr Verständnis!" 82 | }, 83 | "popup_rate_button": { 84 | "message": "Bewerten Sie uns!" 85 | }, 86 | "popup_rate_text": { 87 | "message": "Wenn Sie uns mögen, bewerten Sie bitte unser Produkt" 88 | }, 89 | "popup_reload_message": { 90 | "message": "Sie müssen diese Seite erneut laden, bevor Sie etwas herunterladen können" 91 | }, 92 | "popup_save_link": { 93 | "message": "save link in txt" 94 | }, 95 | "popup_select_all": { 96 | "message": "Alle auswählen" 97 | }, 98 | "popup_show_filter": { 99 | "message": "Filter anzeigen/ausblenden" 100 | }, 101 | "popup_show_more": { 102 | "message": "show more than" 103 | }, 104 | "popup_show_previews": { 105 | "message": "show previews" 106 | }, 107 | "popup_show_title": { 108 | "message": "Show:" 109 | }, 110 | "popup_tab_detected": { 111 | "message": "detected" 112 | }, 113 | "popup_tab_name_docs": { 114 | "message": "Doks/Archive/Sonst" 115 | }, 116 | "popup_tab_name_images": { 117 | "message": "Bilder" 118 | }, 119 | "popup_tab_name_links": { 120 | "message": "Links" 121 | }, 122 | "popup_tab_name_settings": { 123 | "message": "Einstellungen" 124 | }, 125 | "popup_tab_name_video": { 126 | "message": "Video/Audio" 127 | }, 128 | "popup_tab_not_detected": { 129 | "message": "Not detected" 130 | } 131 | } 132 | -------------------------------------------------------------------------------- /_locales/en/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "appDesc": { 3 | "message": "Download videos, pdf files, html, images. Analyze webpage using built-in filters." 4 | }, 5 | "appName": { 6 | "message": "Video Downloader GetThemAll" 7 | }, 8 | "button_download": { 9 | "message": "Download" 10 | }, 11 | "options_about": { 12 | "message": "About" 13 | }, 14 | "options_apply_changes": { 15 | "message": "Apply Changes" 16 | }, 17 | "options_close": { 18 | "message": "Close" 19 | }, 20 | "options_facebook": { 21 | "message": "Display facebook.com download button" 22 | }, 23 | "options_filename": { 24 | "message": "download original FileName" 25 | }, 26 | "options_general": { 27 | "message": "OPTIONS" 28 | }, 29 | "options_save": { 30 | "message": "Show Save in text" 31 | }, 32 | "options_scale": { 33 | "message": "Scale addon" 34 | }, 35 | "options_title": { 36 | "message": "Get them all settings" 37 | }, 38 | "options_vk": { 39 | "message": "Display vk.com download button" 40 | }, 41 | "popup_clear_all": { 42 | "message": "Clear all" 43 | }, 44 | "popup_download": { 45 | "message": "DOWNLOAD" 46 | }, 47 | "popup_download_warning_1": { 48 | "message": "Important, please read!" 49 | }, 50 | "popup_download_warning_2": { 51 | "message": "When download multiple files, many Save As dialogs may pop-up." 52 | }, 53 | "popup_download_warning_3": { 54 | "message": "1. Always click ALLOW button. Otherwise you won't be able to download multiple files again from current website!" 55 | }, 56 | "popup_download_warning_4": { 57 | "message": "2. Watch short video how to fix multiple dialog pop-ups." 58 | }, 59 | "popup_download_warning_5": { 60 | "message": "I've got it! Don't show this message again!" 61 | }, 62 | "popup_download_zip": { 63 | "message": "download as ZIP" 64 | }, 65 | "popup_downloader_desc": { 66 | "message": "Description" 67 | }, 68 | "popup_downloader_size": { 69 | "message": "Size" 70 | }, 71 | "popup_downloader_url": { 72 | "message": "Url" 73 | }, 74 | "popup_filter_mask": { 75 | "message": "Mask:" 76 | }, 77 | "popup_noyoutube_message_1": { 78 | "message": "Due to YouTube Policy. It isn't allowed to download from YouTube." 79 | }, 80 | "popup_noyoutube_message_2": { 81 | "message": "Please, do not post negative reviews. This is not our fault." 82 | }, 83 | "popup_noyoutube_message_3": { 84 | "message": "Hope you understand that. Thanks!" 85 | }, 86 | "popup_rate_button": { 87 | "message": "Rate us!" 88 | }, 89 | "popup_rate_text": { 90 | "message": "If you like us, please rate our product." 91 | }, 92 | "popup_reload_message": { 93 | "message": "You need to refresh this page before download from it" 94 | }, 95 | "popup_save_link": { 96 | "message": "save link in txt" 97 | }, 98 | "popup_select_all": { 99 | "message": "Select all" 100 | }, 101 | "popup_show_filter": { 102 | "message": " Show filter / Hide filter " 103 | }, 104 | "popup_show_more": { 105 | "message": "show more than" 106 | }, 107 | "popup_show_previews": { 108 | "message": "show previews" 109 | }, 110 | "popup_show_title": { 111 | "message": "Show:" 112 | }, 113 | "popup_tab_detected": { 114 | "message": "detected" 115 | }, 116 | "popup_tab_name_docs": { 117 | "message": "Docs/Archives/Misc" 118 | }, 119 | "popup_tab_name_images": { 120 | "message": "Images" 121 | }, 122 | "popup_tab_name_links": { 123 | "message": "Links" 124 | }, 125 | "popup_tab_name_settings": { 126 | "message": "Settings" 127 | }, 128 | "popup_tab_name_video": { 129 | "message": "Video/Audio" 130 | }, 131 | "popup_tab_not_detected": { 132 | "message": "Not detected" 133 | } 134 | } 135 | -------------------------------------------------------------------------------- /_locales/es/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "appDesc": { 3 | "message": "Descarga vídeos, archivos PDF, HTML e imágenes. Analiza la página web usando filtros incorporados." 4 | }, 5 | "appName": { 6 | "message": "Video Downloader GetThemAll" 7 | }, 8 | "button_download": { 9 | "message": "Descargar" 10 | }, 11 | "options_about": { 12 | "message": "Acerca de" 13 | }, 14 | "options_apply_changes": { 15 | "message": "Aplicar cambios" 16 | }, 17 | "options_close": { 18 | "message": "Cerrar" 19 | }, 20 | "options_facebook": { 21 | "message": "Mostrar el botón de descarga facebook.com" 22 | }, 23 | "options_filename": { 24 | "message": "download original FileName" 25 | }, 26 | "options_general": { 27 | "message": "OPCIONES" 28 | }, 29 | "options_save": { 30 | "message": "Show Save in text" 31 | }, 32 | "options_title": { 33 | "message": "Ajustes de GetThemAll" 34 | }, 35 | "options_vk": { 36 | "message": "Mostrar el botón de descarga vk.com" 37 | }, 38 | "popup_clear_all": { 39 | "message": "Clear all" 40 | }, 41 | "popup_download": { 42 | "message": "DESCARGAR" 43 | }, 44 | "popup_download_warning_1": { 45 | "message": "¡Importante, por favor leer!" 46 | }, 47 | "popup_download_warning_2": { 48 | "message": "Al descargar varios archivos, pueden aparecer múltiples cuadros de diálogo \"Guardar como\"." 49 | }, 50 | "popup_download_warning_3": { 51 | "message": "1. Siempre haga clic en el botón PERMITIR. ¡De lo contrario, no podrá descargar múltiples archivos otra vez del sitio web actual!" 52 | }, 53 | "popup_download_warning_4": { 54 | "message": "2. Vea un corto vídeo sobre cómo corregir los múltiples cuadros de diálogo." 55 | }, 56 | "popup_download_warning_5": { 57 | "message": "¡Comprendo! ¡No mostrar este mensaje de nuevo!" 58 | }, 59 | "popup_download_zip": { 60 | "message": "descargar como ZIP" 61 | }, 62 | "popup_downloader_desc": { 63 | "message": "Descripción" 64 | }, 65 | "popup_downloader_size": { 66 | "message": "Tamaño" 67 | }, 68 | "popup_downloader_url": { 69 | "message": "URL" 70 | }, 71 | "popup_filter_mask": { 72 | "message": "Mask:" 73 | }, 74 | "popup_noyoutube_message_1": { 75 | "message": "Debido a las políticas de YouTube. No se permite descargar de YouTube." 76 | }, 77 | "popup_noyoutube_message_2": { 78 | "message": "Por favor, no publique comentarios negativos. No es culpa nuestra." 79 | }, 80 | "popup_noyoutube_message_3": { 81 | "message": "Espero que lo comprenda. ¡Gracias!" 82 | }, 83 | "popup_rate_button": { 84 | "message": "¡Califíquenos!" 85 | }, 86 | "popup_rate_text": { 87 | "message": "Si le gusta, por favor califique nuestro producto." 88 | }, 89 | "popup_reload_message": { 90 | "message": "Debe actualizar la página antes de descargar de ella." 91 | }, 92 | "popup_save_link": { 93 | "message": "save link in txt" 94 | }, 95 | "popup_select_all": { 96 | "message": "Seleccionar todo" 97 | }, 98 | "popup_show_filter": { 99 | "message": "Mostrar filtro/ocultar filtro" 100 | }, 101 | "popup_show_more": { 102 | "message": "show more than" 103 | }, 104 | "popup_show_previews": { 105 | "message": "show previews" 106 | }, 107 | "popup_show_title": { 108 | "message": "Show:" 109 | }, 110 | "popup_tab_detected": { 111 | "message": "detected" 112 | }, 113 | "popup_tab_name_docs": { 114 | "message": "Documentos/Archivos" 115 | }, 116 | "popup_tab_name_images": { 117 | "message": "Imágenes" 118 | }, 119 | "popup_tab_name_links": { 120 | "message": "Enlaces" 121 | }, 122 | "popup_tab_name_settings": { 123 | "message": "Ajustes" 124 | }, 125 | "popup_tab_name_video": { 126 | "message": "Vídeo/Flash" 127 | }, 128 | "popup_tab_not_detected": { 129 | "message": "Not detected" 130 | } 131 | } 132 | -------------------------------------------------------------------------------- /_locales/fr/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "appDesc": { 3 | "message": "Téléchargez des vidéos, des fichiers PDF, HTML, images. Analysez une page Web en utilisant des filtres intégrés." 4 | }, 5 | "appName": { 6 | "message": "Video Downloader GetThemAll" 7 | }, 8 | "button_download": { 9 | "message": "Télécharger" 10 | }, 11 | "options_about": { 12 | "message": "À propos" 13 | }, 14 | "options_apply_changes": { 15 | "message": "Appliquer les modifications" 16 | }, 17 | "options_close": { 18 | "message": "Fermer" 19 | }, 20 | "options_facebook": { 21 | "message": "Afficher le bouton de téléchargement de facebook.com" 22 | }, 23 | "options_filename": { 24 | "message": "download original FileName" 25 | }, 26 | "options_general": { 27 | "message": "OPTIONS" 28 | }, 29 | "options_save": { 30 | "message": "Show Save in text" 31 | }, 32 | "options_title": { 33 | "message": "Paramètres Get them all" 34 | }, 35 | "options_vk": { 36 | "message": "Afficher le bouton de téléchargement de vk.com" 37 | }, 38 | "popup_clear_all": { 39 | "message": "Clear all" 40 | }, 41 | "popup_download": { 42 | "message": "TÉLÉCHARGER" 43 | }, 44 | "popup_download_warning_1": { 45 | "message": "Important, veuillez lire !" 46 | }, 47 | "popup_download_warning_2": { 48 | "message": "Lors du téléchargement de plusieurs fichiers, de nombreuses boîtes de dialogue Enregistrer Sous peuvent apparaître." 49 | }, 50 | "popup_download_warning_3": { 51 | "message": "1. Toujours cliquez sur le bouton AUTORISER. Sinon, vous ne pourrez pas télécharger plusieurs fichiers à nouveau à partir du site actuel !" 52 | }, 53 | "popup_download_warning_4": { 54 | "message": "2. Regardez la courte vidéo comment résoudre l'apparition de plusieurs boîtes de dialogue." 55 | }, 56 | "popup_download_warning_5": { 57 | "message": "J'ai compris ! Ne plus afficher ce message !" 58 | }, 59 | "popup_download_zip": { 60 | "message": "télécharger en ZIP" 61 | }, 62 | "popup_downloader_desc": { 63 | "message": "Description" 64 | }, 65 | "popup_downloader_size": { 66 | "message": "Taille" 67 | }, 68 | "popup_downloader_url": { 69 | "message": "URL" 70 | }, 71 | "popup_filter_mask": { 72 | "message": "Mask:" 73 | }, 74 | "popup_noyoutube_message_1": { 75 | "message": "En raison de la Politique de YouTube. Il est interdit de télécharger à partir de YouTube." 76 | }, 77 | "popup_noyoutube_message_2": { 78 | "message": "Veuillez ne pas poster de commentaires négatifs. Ce n'est pas notre faute." 79 | }, 80 | "popup_noyoutube_message_3": { 81 | "message": "Nous espérons que vous comprenez. Merci !" 82 | }, 83 | "popup_rate_button": { 84 | "message": "Évaluez-nous !" 85 | }, 86 | "popup_rate_text": { 87 | "message": "Si vous nous aimez, veuillez évaluer notre produit." 88 | }, 89 | "popup_reload_message": { 90 | "message": "Vous devez rafraîchir cette page avant de télécharger à partir de celle-ci" 91 | }, 92 | "popup_save_link": { 93 | "message": "save link in txt" 94 | }, 95 | "popup_select_all": { 96 | "message": "Tout sélectionner" 97 | }, 98 | "popup_show_filter": { 99 | "message": "Afficher filtre/Masquer filtre" 100 | }, 101 | "popup_show_more": { 102 | "message": "show more than" 103 | }, 104 | "popup_show_previews": { 105 | "message": "show previews" 106 | }, 107 | "popup_show_title": { 108 | "message": "Show:" 109 | }, 110 | "popup_tab_detected": { 111 | "message": "detected" 112 | }, 113 | "popup_tab_name_docs": { 114 | "message": "Docs/Archives/Divers" 115 | }, 116 | "popup_tab_name_images": { 117 | "message": "Images" 118 | }, 119 | "popup_tab_name_links": { 120 | "message": "Liens" 121 | }, 122 | "popup_tab_name_settings": { 123 | "message": "Paramètres" 124 | }, 125 | "popup_tab_name_video": { 126 | "message": "Vidéo/Flash" 127 | }, 128 | "popup_tab_not_detected": { 129 | "message": "Not detected" 130 | } 131 | } 132 | -------------------------------------------------------------------------------- /_locales/it/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "appDesc": { 3 | "message": "Scaricare video, file pdf, html, immagini. Analizzare pagina web utilizzando i filtri incorporati." 4 | }, 5 | "appName": { 6 | "message": "Video Downloader GetThemAll" 7 | }, 8 | "button_download": { 9 | "message": "Scarica" 10 | }, 11 | "options_about": { 12 | "message": "Informazioni" 13 | }, 14 | "options_apply_changes": { 15 | "message": "Applica le modifiche" 16 | }, 17 | "options_close": { 18 | "message": "Chiudi" 19 | }, 20 | "options_facebook": { 21 | "message": "Mostra il pulsante scarica di facebook.com" 22 | }, 23 | "options_filename": { 24 | "message": "download original FileName" 25 | }, 26 | "options_general": { 27 | "message": "OPZIONI" 28 | }, 29 | "options_save": { 30 | "message": "Show Save in text" 31 | }, 32 | "options_title": { 33 | "message": "Applica tutte le impostazioni" 34 | }, 35 | "options_vk": { 36 | "message": "Mostra il pulsante scarica di vk.com" 37 | }, 38 | "popup_clear_all": { 39 | "message": "Clear all" 40 | }, 41 | "popup_download": { 42 | "message": "SCARICA" 43 | }, 44 | "popup_download_warning_1": { 45 | "message": "Note importanti da leggere!" 46 | }, 47 | "popup_download_warning_2": { 48 | "message": "Quando scarichi più file, potrebbero aprirsi molte finestre di dialogo Salva con nome." 49 | }, 50 | "popup_download_warning_3": { 51 | "message": "1. Fai clic sempre sul pulsante Consenti. In caso contrario, non potrai scaricare di nuovo più file dal sito attuale!" 52 | }, 53 | "popup_download_warning_4": { 54 | "message": "2. Guarda il breve video su come risolvere la comparsa di più finestre dialogo." 55 | }, 56 | "popup_download_warning_5": { 57 | "message": "Già letto! Non mostrare più questo messaggio!" 58 | }, 59 | "popup_download_zip": { 60 | "message": "scarica come ZIP" 61 | }, 62 | "popup_downloader_desc": { 63 | "message": "Decrittazione" 64 | }, 65 | "popup_downloader_size": { 66 | "message": "Dimensione" 67 | }, 68 | "popup_downloader_url": { 69 | "message": "Url" 70 | }, 71 | "popup_filter_mask": { 72 | "message": "Mask:" 73 | }, 74 | "popup_noyoutube_message_1": { 75 | "message": "La politica di YouTube non consente scaricare contenuti da YouTube." 76 | }, 77 | "popup_noyoutube_message_2": { 78 | "message": "Si prega di non pubblicare recensioni negative, in quanto non siamo responsabili di tale disservizio." 79 | }, 80 | "popup_noyoutube_message_3": { 81 | "message": "Grazie per comprensione!" 82 | }, 83 | "popup_rate_button": { 84 | "message": "Invia il tuo commento!" 85 | }, 86 | "popup_rate_text": { 87 | "message": "Indica se ti piace il nostro prodotto." 88 | }, 89 | "popup_reload_message": { 90 | "message": "È necessario aggiornare questa pagina prima di poterne scaricare i contenuti" 91 | }, 92 | "popup_save_link": { 93 | "message": "save link in txt" 94 | }, 95 | "popup_select_all": { 96 | "message": "Seleziona tutto" 97 | }, 98 | "popup_show_filter": { 99 | "message": " Mostra filtro/Nascondi filtro" 100 | }, 101 | "popup_show_more": { 102 | "message": "show more than" 103 | }, 104 | "popup_show_previews": { 105 | "message": "show previews" 106 | }, 107 | "popup_show_title": { 108 | "message": "Show:" 109 | }, 110 | "popup_tab_detected": { 111 | "message": "detected" 112 | }, 113 | "popup_tab_name_docs": { 114 | "message": "Documenti/Archivi/Varie" 115 | }, 116 | "popup_tab_name_images": { 117 | "message": "Immagini" 118 | }, 119 | "popup_tab_name_links": { 120 | "message": "Collegamenti ipertestuali" 121 | }, 122 | "popup_tab_name_settings": { 123 | "message": "Impostazioni" 124 | }, 125 | "popup_tab_name_video": { 126 | "message": "Video / Flash" 127 | }, 128 | "popup_tab_not_detected": { 129 | "message": "Not detected" 130 | } 131 | } 132 | -------------------------------------------------------------------------------- /_locales/ja/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "appDesc": { 3 | "message": "組み込みフィルタを使用してWebページを分析。ビデオ、PDFファイル、HTML、画像をダウンロード" 4 | }, 5 | "appName": { 6 | "message": "Video Downloader GetThemAll" 7 | }, 8 | "button_download": { 9 | "message": "ダウンロードする" 10 | }, 11 | "options_about": { 12 | "message": "詳細" 13 | }, 14 | "options_apply_changes": { 15 | "message": "変更を適用する" 16 | }, 17 | "options_close": { 18 | "message": "閉じる" 19 | }, 20 | "options_facebook": { 21 | "message": "facebook.comダウンロードボタンを表示する" 22 | }, 23 | "options_filename": { 24 | "message": "download original FileName" 25 | }, 26 | "options_general": { 27 | "message": "オプション" 28 | }, 29 | "options_save": { 30 | "message": "Show Save in text" 31 | }, 32 | "options_title": { 33 | "message": "GetThemAllの設定" 34 | }, 35 | "options_vk": { 36 | "message": "vk.comダウンロードボタンを表示する" 37 | }, 38 | "popup_clear_all": { 39 | "message": "Clear all" 40 | }, 41 | "popup_download": { 42 | "message": "ダウンロード" 43 | }, 44 | "popup_download_warning_1": { 45 | "message": "重要ですので、必ずお読みください!" 46 | }, 47 | "popup_download_warning_2": { 48 | "message": "複数のファイルをダウンロードする際には、複数の「名前をつけて保存」ダイアログがポップアップする場合がございます。" 49 | }, 50 | "popup_download_warning_3": { 51 | "message": "1.常にボタンを「許可する」をクリックします。そうしないと、現在のWebサイトから再び、複数のファイルをダウンロードすることができなくなります!" 52 | }, 53 | "popup_download_warning_4": { 54 | "message": "2.複数のダイアログポップアップを修正する方法を、短編動画でご確認ください。" 55 | }, 56 | "popup_download_warning_5": { 57 | "message": "わかりました!今後このメッセージを表示しないでください!" 58 | }, 59 | "popup_download_zip": { 60 | "message": "ZIPとしてダウンロード" 61 | }, 62 | "popup_downloader_desc": { 63 | "message": "詳細" 64 | }, 65 | "popup_downloader_size": { 66 | "message": "サイズ" 67 | }, 68 | "popup_downloader_url": { 69 | "message": "URL" 70 | }, 71 | "popup_filter_mask": { 72 | "message": "Mask:" 73 | }, 74 | "popup_noyoutube_message_1": { 75 | "message": "YouTubeポリシーより、この動画をYouTubeのからダウンロードすることはできません。" 76 | }, 77 | "popup_noyoutube_message_2": { 78 | "message": "これは私どもの責任ではございませんので、否定的なレビューを投稿しないでください。" 79 | }, 80 | "popup_noyoutube_message_3": { 81 | "message": "ご理解ご協力、ありがとうございます!" 82 | }, 83 | "popup_rate_button": { 84 | "message": "評価をお願いいたします!" 85 | }, 86 | "popup_rate_text": { 87 | "message": "気に入っていただけましたら、評価していただければ幸いです。" 88 | }, 89 | "popup_reload_message": { 90 | "message": "ダウンロードする前に、このページを更新する必要があります" 91 | }, 92 | "popup_save_link": { 93 | "message": "save link in txt" 94 | }, 95 | "popup_select_all": { 96 | "message": "全て選択する" 97 | }, 98 | "popup_show_filter": { 99 | "message": " フィルターを表示/フィルターを非表示" 100 | }, 101 | "popup_show_more": { 102 | "message": "show more than" 103 | }, 104 | "popup_show_previews": { 105 | "message": "show previews" 106 | }, 107 | "popup_show_title": { 108 | "message": "Show:" 109 | }, 110 | "popup_tab_detected": { 111 | "message": "detected" 112 | }, 113 | "popup_tab_name_docs": { 114 | "message": "ドキュメント/アーカイブ/その他" 115 | }, 116 | "popup_tab_name_images": { 117 | "message": "画像" 118 | }, 119 | "popup_tab_name_links": { 120 | "message": "リンク" 121 | }, 122 | "popup_tab_name_settings": { 123 | "message": "設定" 124 | }, 125 | "popup_tab_name_video": { 126 | "message": "動画/フラッシュ" 127 | }, 128 | "popup_tab_not_detected": { 129 | "message": "Not detected" 130 | } 131 | } 132 | -------------------------------------------------------------------------------- /_locales/ko/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "appDesc": { 3 | "message": "내장 필터를 사용하여 웹페이지를 분석. 동영상, pdf 파일, html, 이미지 다운로드" 4 | }, 5 | "appName": { 6 | "message": "Video Downloader GetThemAll" 7 | }, 8 | "button_download": { 9 | "message": "다운로드" 10 | }, 11 | "options_about": { 12 | "message": "소개" 13 | }, 14 | "options_apply_changes": { 15 | "message": "변경 사항 적용" 16 | }, 17 | "options_close": { 18 | "message": "닫기" 19 | }, 20 | "options_facebook": { 21 | "message": "facebook.com 다운로드 버튼 표시" 22 | }, 23 | "options_filename": { 24 | "message": "download original FileName" 25 | }, 26 | "options_general": { 27 | "message": "옵션" 28 | }, 29 | "options_save": { 30 | "message": "Show Save in text" 31 | }, 32 | "options_title": { 33 | "message": "GetThemAll 설정" 34 | }, 35 | "options_vk": { 36 | "message": "vk.com 다운로드 버튼 표시" 37 | }, 38 | "popup_clear_all": { 39 | "message": "Clear all" 40 | }, 41 | "popup_download": { 42 | "message": "다운로드" 43 | }, 44 | "popup_download_warning_1": { 45 | "message": "중요, 읽어주세요!" 46 | }, 47 | "popup_download_warning_2": { 48 | "message": "여러 개의 파일을 다운로드할 때, '다른이름으로 저장' 대화창이 여러 개 나타납니다." 49 | }, 50 | "popup_download_warning_3": { 51 | "message": "1. 항상 '허용' 버튼을 클릭하십시오. 그렇지 않으면 현재 웹사이트에서 여러 파일을 다운로드할 수 없게 됩니다." 52 | }, 53 | "popup_download_warning_4": { 54 | "message": "2. 여러개의 팝업 대화창이 나타나는 문제를 고치려면 간단한 안내 동영상을 보세요." 55 | }, 56 | "popup_download_warning_5": { 57 | "message": "알겠습니다! 이 메시지를 다시 표시하지 마십시오!" 58 | }, 59 | "popup_download_zip": { 60 | "message": "zip으로 다운로드" 61 | }, 62 | "popup_downloader_desc": { 63 | "message": "설명" 64 | }, 65 | "popup_downloader_size": { 66 | "message": "크기" 67 | }, 68 | "popup_downloader_url": { 69 | "message": "URL" 70 | }, 71 | "popup_filter_mask": { 72 | "message": "Mask:" 73 | }, 74 | "popup_noyoutube_message_1": { 75 | "message": "YouTube 정책 때문에 YouTube에서는 다운로드할 수 없습니다." 76 | }, 77 | "popup_noyoutube_message_2": { 78 | "message": "부정적인 후기를 게시하지 말아 주십시오. 이것은 저희 잘못이 아닙니다." 79 | }, 80 | "popup_noyoutube_message_3": { 81 | "message": "이해해 주시기 바랍니다. 감사합니다!" 82 | }, 83 | "popup_rate_button": { 84 | "message": "평가!" 85 | }, 86 | "popup_rate_text": { 87 | "message": "제품이 마음에 드시면, 저희 제품을 평가해 주십시오." 88 | }, 89 | "popup_reload_message": { 90 | "message": "다운로드하기 전에 이 페이지를 새로 고쳐야 합니다." 91 | }, 92 | "popup_save_link": { 93 | "message": "save link in txt" 94 | }, 95 | "popup_select_all": { 96 | "message": "전부 선택" 97 | }, 98 | "popup_show_filter": { 99 | "message": "필터 표시/숨기기" 100 | }, 101 | "popup_show_more": { 102 | "message": "show more than" 103 | }, 104 | "popup_show_previews": { 105 | "message": "show previews" 106 | }, 107 | "popup_show_title": { 108 | "message": "Show:" 109 | }, 110 | "popup_tab_detected": { 111 | "message": "detected" 112 | }, 113 | "popup_tab_name_docs": { 114 | "message": "문서/자료실/기타" 115 | }, 116 | "popup_tab_name_images": { 117 | "message": "이미지" 118 | }, 119 | "popup_tab_name_links": { 120 | "message": "링크" 121 | }, 122 | "popup_tab_name_settings": { 123 | "message": "설정" 124 | }, 125 | "popup_tab_name_video": { 126 | "message": "동영상/플래시" 127 | }, 128 | "popup_tab_not_detected": { 129 | "message": "Not detected" 130 | } 131 | } 132 | -------------------------------------------------------------------------------- /_locales/pt_BR/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "appDesc": { 3 | "message": "Faça downloads de vídeos, arquivos pdf e html e imagens. Analise o site utilizando os filtros embutidos." 4 | }, 5 | "appName": { 6 | "message": "Video Downloader GetThemAll" 7 | }, 8 | "button_download": { 9 | "message": "Baixar" 10 | }, 11 | "options_about": { 12 | "message": "Sobre o app" 13 | }, 14 | "options_apply_changes": { 15 | "message": "Aplicar alterações" 16 | }, 17 | "options_close": { 18 | "message": "Fechar" 19 | }, 20 | "options_facebook": { 21 | "message": "Exibir o botão de downolad do facebook.com" 22 | }, 23 | "options_filename": { 24 | "message": "download original FileName" 25 | }, 26 | "options_general": { 27 | "message": "OPÇÕES" 28 | }, 29 | "options_save": { 30 | "message": "Show Save in text" 31 | }, 32 | "options_title": { 33 | "message": "Configurações do GetThemAll" 34 | }, 35 | "options_vk": { 36 | "message": "Exibir o botão de downolad do vk.com" 37 | }, 38 | "popup_clear_all": { 39 | "message": "Clear all" 40 | }, 41 | "popup_download": { 42 | "message": "DOWNLOAD" 43 | }, 44 | "popup_download_warning_1": { 45 | "message": "Importante! Leia, por favor." 46 | }, 47 | "popup_download_warning_2": { 48 | "message": "Ao baixar diversos arquivos, podem se abrir diversas caixas de diálogo para Salvar." 49 | }, 50 | "popup_download_warning_3": { 51 | "message": "1. Sempre clique no botão PERMITIR, de outra forma, não será possível baixar múltiplos arquivos novamente no site atual!" 52 | }, 53 | "popup_download_warning_4": { 54 | "message": "2. Assista a um breve vídeo sobre como reparar múltiplas caixas de diálogo pop-up." 55 | }, 56 | "popup_download_warning_5": { 57 | "message": "Entendi! Não mostrar esta mensagem novamente!" 58 | }, 59 | "popup_download_zip": { 60 | "message": "Baixar como ZIP" 61 | }, 62 | "popup_downloader_desc": { 63 | "message": "Descrição" 64 | }, 65 | "popup_downloader_size": { 66 | "message": "Tamanho" 67 | }, 68 | "popup_downloader_url": { 69 | "message": "URL" 70 | }, 71 | "popup_filter_mask": { 72 | "message": "Mask:" 73 | }, 74 | "popup_noyoutube_message_1": { 75 | "message": "Devido às políticas do YouTube. Não é permitido fazer downloads do YouTube." 76 | }, 77 | "popup_noyoutube_message_2": { 78 | "message": "Solicitamos que não poste críticas negativas. Não cabe a nós solucionar este problema." 79 | }, 80 | "popup_noyoutube_message_3": { 81 | "message": "Contamos com a sua compreensão. Obrigado!" 82 | }, 83 | "popup_rate_button": { 84 | "message": "Classifique-nos!" 85 | }, 86 | "popup_rate_text": { 87 | "message": "Se você gostou do nosso app, pedimos que classifique-nos." 88 | }, 89 | "popup_reload_message": { 90 | "message": "É preciso atualizar esta página antes de fazer downloads." 91 | }, 92 | "popup_save_link": { 93 | "message": "save link in txt" 94 | }, 95 | "popup_select_all": { 96 | "message": "Selecionar tudo" 97 | }, 98 | "popup_show_filter": { 99 | "message": "Exibir filtro/Ocultar filtro" 100 | }, 101 | "popup_show_more": { 102 | "message": "show more than" 103 | }, 104 | "popup_show_previews": { 105 | "message": "show previews" 106 | }, 107 | "popup_show_title": { 108 | "message": "Show:" 109 | }, 110 | "popup_tab_detected": { 111 | "message": "detected" 112 | }, 113 | "popup_tab_name_docs": { 114 | "message": "Docs/Arquivos/Diversos" 115 | }, 116 | "popup_tab_name_images": { 117 | "message": "Imagens" 118 | }, 119 | "popup_tab_name_links": { 120 | "message": "Links" 121 | }, 122 | "popup_tab_name_settings": { 123 | "message": "Configurações" 124 | }, 125 | "popup_tab_name_video": { 126 | "message": "Vídeo/Flash" 127 | }, 128 | "popup_tab_not_detected": { 129 | "message": "Not detected" 130 | } 131 | } 132 | -------------------------------------------------------------------------------- /_locales/pt_PT/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "appDesc": { 3 | "message": "Descarregue vídeos, arquivos de PDF, HTML, imagens. Analisar página web usando filtros embutidos." 4 | }, 5 | "appName": { 6 | "message": "Video Downloader GetThemAll" 7 | }, 8 | "button_download": { 9 | "message": "Descarregar" 10 | }, 11 | "options_about": { 12 | "message": "Sobre" 13 | }, 14 | "options_apply_changes": { 15 | "message": "Aplicar alterações" 16 | }, 17 | "options_close": { 18 | "message": "Fechar" 19 | }, 20 | "options_facebook": { 21 | "message": "Mostrar botão de download facebook.com" 22 | }, 23 | "options_filename": { 24 | "message": "download original FileName" 25 | }, 26 | "options_general": { 27 | "message": "OPÇÕES" 28 | }, 29 | "options_save": { 30 | "message": "Show Save in text" 31 | }, 32 | "options_title": { 33 | "message": "Configurações GetThemAll" 34 | }, 35 | "options_vk": { 36 | "message": "Mostrar botão de download vk.com" 37 | }, 38 | "popup_clear_all": { 39 | "message": "Clear all" 40 | }, 41 | "popup_download": { 42 | "message": "DESCARREGAR" 43 | }, 44 | "popup_download_warning_1": { 45 | "message": "Importante, por favor leia!" 46 | }, 47 | "popup_download_warning_2": { 48 | "message": "Quando estiver a descarregar vários arquivos, várias caixas de diálogo \"Salvar Como\" podem aparecer." 49 | }, 50 | "popup_download_warning_3": { 51 | "message": "1. Clique sempre no botão \"PERMITIR\". Caso contrário, não será capaz de fazer novamente download de ficheiros múltiplos do site atual!" 52 | }, 53 | "popup_download_warning_4": { 54 | "message": "2. Veja um pequeno vídeo sobre como corrigir caixas de diálogo múltiplas." 55 | }, 56 | "popup_download_warning_5": { 57 | "message": "Entendi! Não mostrar esta mensagem novamente!" 58 | }, 59 | "popup_download_zip": { 60 | "message": "descarregar como ZIP" 61 | }, 62 | "popup_downloader_desc": { 63 | "message": "Descrição" 64 | }, 65 | "popup_downloader_size": { 66 | "message": "Tamanho" 67 | }, 68 | "popup_downloader_url": { 69 | "message": "Url" 70 | }, 71 | "popup_filter_mask": { 72 | "message": "Mask:" 73 | }, 74 | "popup_noyoutube_message_1": { 75 | "message": "Devido à Politica de YouTubo, não é permitido descarregar a partir do YouTube." 76 | }, 77 | "popup_noyoutube_message_2": { 78 | "message": "Por favor, não publique comentários negativos. Isto não é culpa nossa." 79 | }, 80 | "popup_noyoutube_message_3": { 81 | "message": "Esperamos que entenda. Obrigado!" 82 | }, 83 | "popup_rate_button": { 84 | "message": "Avalie-nos!" 85 | }, 86 | "popup_rate_text": { 87 | "message": "Se gosta de nós, por favor avalie o nosso produto." 88 | }, 89 | "popup_reload_message": { 90 | "message": "Precisa atualizar esta página antes de descarregar a partir dela." 91 | }, 92 | "popup_save_link": { 93 | "message": "save link in txt" 94 | }, 95 | "popup_select_all": { 96 | "message": "Selecionar tudo" 97 | }, 98 | "popup_show_filter": { 99 | "message": "Mostrar filtro / Esconder filtro" 100 | }, 101 | "popup_show_more": { 102 | "message": "show more than" 103 | }, 104 | "popup_show_previews": { 105 | "message": "show previews" 106 | }, 107 | "popup_show_title": { 108 | "message": "Show:" 109 | }, 110 | "popup_tab_detected": { 111 | "message": "detected" 112 | }, 113 | "popup_tab_name_docs": { 114 | "message": "Docs/Arquivos/Vários" 115 | }, 116 | "popup_tab_name_images": { 117 | "message": "Imagens" 118 | }, 119 | "popup_tab_name_links": { 120 | "message": "Ligações" 121 | }, 122 | "popup_tab_name_settings": { 123 | "message": "Configurações" 124 | }, 125 | "popup_tab_name_video": { 126 | "message": "Vídeo/Flash" 127 | }, 128 | "popup_tab_not_detected": { 129 | "message": "Not detected" 130 | } 131 | } 132 | -------------------------------------------------------------------------------- /_locales/ru/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "appDesc": { 3 | "message": "Скачать видео, PDF-файлов, HTML, изображения. Анализ веб-страницы с помощью встроенных фильтров." 4 | }, 5 | "appName": { 6 | "message": "Video Downloader GetThemAll" 7 | }, 8 | "button_download": { 9 | "message": "Скачать" 10 | }, 11 | "options_about": { 12 | "message": "О программе" 13 | }, 14 | "options_apply_changes": { 15 | "message": "Применить" 16 | }, 17 | "options_close": { 18 | "message": "Закрыть" 19 | }, 20 | "options_facebook": { 21 | "message": "Показывать на facebook.com кнопку скачать" 22 | }, 23 | "options_filename": { 24 | "message": "Сохранять под оригинальным именем файла" 25 | }, 26 | "options_general": { 27 | "message": "Настройки" 28 | }, 29 | "options_save": { 30 | "message": "Показывать кнопку Сохранять в текст" 31 | }, 32 | "options_scale": { 33 | "message": "Масштаб расширения" 34 | }, 35 | "options_title": { 36 | "message": "Параметры GetThemAll" 37 | }, 38 | "options_vk": { 39 | "message": "Показывать на vk.com кнопку скачать" 40 | }, 41 | "popup_clear_all": { 42 | "message": "Очистить" 43 | }, 44 | "popup_download": { 45 | "message": "СКАЧАТЬ" 46 | }, 47 | "popup_download_warning_1": { 48 | "message": "Внимание, прочтите, пожалуйста!" 49 | }, 50 | "popup_download_warning_2": { 51 | "message": "При загрузке нескольких файлов, может появиться всплывающее окно." 52 | }, 53 | "popup_download_warning_3": { 54 | "message": "1. Всегда нажимайте кнопку Разрешить. В противном случае вы не сможете загрузить файлы с текущего сайта!" 55 | }, 56 | "popup_download_warning_4": { 57 | "message": "2. Посмотрите короткое видео, как исправить множественную закачку." 58 | }, 59 | "popup_download_warning_5": { 60 | "message": "Я понял! Не показывать это сообщение вновь!" 61 | }, 62 | "popup_download_zip": { 63 | "message": "скачивать в ZIP" 64 | }, 65 | "popup_downloader_desc": { 66 | "message": "Description" 67 | }, 68 | "popup_downloader_size": { 69 | "message": "Size" 70 | }, 71 | "popup_downloader_url": { 72 | "message": "Url" 73 | }, 74 | "popup_filter_mask": { 75 | "message": "Mask:" 76 | }, 77 | "popup_noyoutube_message_1": { 78 | "message": "Согласно политики YouTube, не допускается скачивание с YouTube." 79 | }, 80 | "popup_noyoutube_message_2": { 81 | "message": "Пожалуйста, не пишите негативные отзывы. Это не наша вина." 82 | }, 83 | "popup_noyoutube_message_3": { 84 | "message": "Надеюсь, Вы нас поняли. Спасибо!" 85 | }, 86 | "popup_rate_button": { 87 | "message": "Оцените нас!" 88 | }, 89 | "popup_rate_text": { 90 | "message": "Если Вам понравился наш продукт, то оцените его." 91 | }, 92 | "popup_reload_message": { 93 | "message": "Вы должны обновить эту страницу, прежде чем загрузить с него" 94 | }, 95 | "popup_save_link": { 96 | "message": "сохранить ссылки в txt" 97 | }, 98 | "popup_select_all": { 99 | "message": "Select all" 100 | }, 101 | "popup_show_filter": { 102 | "message": " Show filter / Hide filter " 103 | }, 104 | "popup_show_more": { 105 | "message": "show more than" 106 | }, 107 | "popup_show_previews": { 108 | "message": "show previews" 109 | }, 110 | "popup_show_title": { 111 | "message": "Show:" 112 | }, 113 | "popup_tab_detected": { 114 | "message": "найдено" 115 | }, 116 | "popup_tab_name_docs": { 117 | "message": "Docs/Archives/Misc" 118 | }, 119 | "popup_tab_name_images": { 120 | "message": "Images" 121 | }, 122 | "popup_tab_name_links": { 123 | "message": "Links" 124 | }, 125 | "popup_tab_name_settings": { 126 | "message": "Параметры" 127 | }, 128 | "popup_tab_name_video": { 129 | "message": "Video/Audio" 130 | }, 131 | "popup_tab_not_detected": { 132 | "message": "Не найдено" 133 | } 134 | } 135 | -------------------------------------------------------------------------------- /_locales/tr/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "appDesc": { 3 | "message": "Videolar, pdf dosyaları, html, resimler indirin. Yerleşik filtreleri kullanarak web sayfasını analiz edin." 4 | }, 5 | "appName": { 6 | "message": "Video Downloader GetThemAll" 7 | }, 8 | "button_download": { 9 | "message": "İndir" 10 | }, 11 | "options_about": { 12 | "message": "Hakkında" 13 | }, 14 | "options_apply_changes": { 15 | "message": "Değişiklikleri uygula" 16 | }, 17 | "options_close": { 18 | "message": "Kapat" 19 | }, 20 | "options_facebook": { 21 | "message": "facebook.com indirme düğmesini göster" 22 | }, 23 | "options_filename": { 24 | "message": "download original FileName" 25 | }, 26 | "options_general": { 27 | "message": "SEÇENEKLER" 28 | }, 29 | "options_save": { 30 | "message": "Show Save in text" 31 | }, 32 | "options_title": { 33 | "message": "Get them all ayarları" 34 | }, 35 | "options_vk": { 36 | "message": "vk.com indirme düğmesini göster" 37 | }, 38 | "popup_clear_all": { 39 | "message": "Clear all" 40 | }, 41 | "popup_download": { 42 | "message": "İNDİR" 43 | }, 44 | "popup_download_warning_1": { 45 | "message": "Önemli, lütfen okuyun!" 46 | }, 47 | "popup_download_warning_2": { 48 | "message": "Birden fazla dosya indirirken birçok Farklı Kaydet iletişim kutusu açılabilir." 49 | }, 50 | "popup_download_warning_3": { 51 | "message": "1. Her zaman İZİN VER düğmesine tıklayın. Aksi takdirde açık olan web sitesinden bir daha birden fazla dosya indiremezsiniz!" 52 | }, 53 | "popup_download_warning_4": { 54 | "message": "2. Birden fazla iletişim kutusu açılması sorununu nasıl çözeceğinize dair kısa bir video izleyin." 55 | }, 56 | "popup_download_warning_5": { 57 | "message": "Anladım! Bu mesajı bir daha gösterme!" 58 | }, 59 | "popup_download_zip": { 60 | "message": "ZIP olarak indir" 61 | }, 62 | "popup_downloader_desc": { 63 | "message": "Açıklama" 64 | }, 65 | "popup_downloader_size": { 66 | "message": "Boyut" 67 | }, 68 | "popup_downloader_url": { 69 | "message": "URL" 70 | }, 71 | "popup_filter_mask": { 72 | "message": "Mask:" 73 | }, 74 | "popup_noyoutube_message_1": { 75 | "message": "YouTube Politikası nedeniyle. YouTube'dan indirmeye izin verilmez." 76 | }, 77 | "popup_noyoutube_message_2": { 78 | "message": "Lütfen olumsuz yorumlar yazmayın. Bu bizim suçumuz değil!" 79 | }, 80 | "popup_noyoutube_message_3": { 81 | "message": "Anlayışınız için teşekkürler!" 82 | }, 83 | "popup_rate_button": { 84 | "message": "Bize puan verin!" 85 | }, 86 | "popup_rate_text": { 87 | "message": "Beğendiyseniz, lütfen ürünümüze puan verin." 88 | }, 89 | "popup_reload_message": { 90 | "message": "Bu sayfadan indirmeden önce sayfayı yenilemeniz gerekiyor" 91 | }, 92 | "popup_save_link": { 93 | "message": "save link in txt" 94 | }, 95 | "popup_select_all": { 96 | "message": "Tümünü seç" 97 | }, 98 | "popup_show_filter": { 99 | "message": "Filtreyi göster / Filtreyi gizle" 100 | }, 101 | "popup_show_more": { 102 | "message": "show more than" 103 | }, 104 | "popup_show_previews": { 105 | "message": "show previews" 106 | }, 107 | "popup_show_title": { 108 | "message": "Show:" 109 | }, 110 | "popup_tab_detected": { 111 | "message": "detected" 112 | }, 113 | "popup_tab_name_docs": { 114 | "message": "Belgeler/Arşiv/Karışık" 115 | }, 116 | "popup_tab_name_images": { 117 | "message": "Görüntüler" 118 | }, 119 | "popup_tab_name_links": { 120 | "message": "Bağlantılar" 121 | }, 122 | "popup_tab_name_settings": { 123 | "message": "Ayarlar" 124 | }, 125 | "popup_tab_name_video": { 126 | "message": "Video/Audio" 127 | }, 128 | "popup_tab_not_detected": { 129 | "message": "Not detected" 130 | } 131 | } 132 | -------------------------------------------------------------------------------- /background.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 |
45 |
46 |
47 |
48 |
49 |
50 | 51 | 52 | -------------------------------------------------------------------------------- /css/icons/checks16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/css/icons/checks16.png -------------------------------------------------------------------------------- /css/icons/sort-ascending.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/css/icons/sort-ascending.png -------------------------------------------------------------------------------- /css/icons/sort-descending.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/css/icons/sort-descending.png -------------------------------------------------------------------------------- /data/ad_win.txt: -------------------------------------------------------------------------------- 1 | http://flashvideodownloader.org/fvd-suite/to/s/fvdconv1|Video Converter 2 | http://flashvideodownloader.org/fvd-suite/to/s/fvdplay_1|Fastest Video Player -------------------------------------------------------------------------------- /images/allow_deny.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/allow_deny.png -------------------------------------------------------------------------------- /images/android.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/android.png -------------------------------------------------------------------------------- /images/bg_download.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/bg_download.png -------------------------------------------------------------------------------- /images/bullet01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/bullet01.png -------------------------------------------------------------------------------- /images/convert_video.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/convert_video.png -------------------------------------------------------------------------------- /images/converter_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/converter_bg.png -------------------------------------------------------------------------------- /images/copy_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/copy_icon.png -------------------------------------------------------------------------------- /images/email_open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/email_open.png -------------------------------------------------------------------------------- /images/email_open_hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/email_open_hover.png -------------------------------------------------------------------------------- /images/ext_icons/3gp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/ext_icons/3gp.png -------------------------------------------------------------------------------- /images/ext_icons/7z.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/ext_icons/7z.png -------------------------------------------------------------------------------- /images/ext_icons/bmp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/ext_icons/bmp.png -------------------------------------------------------------------------------- /images/ext_icons/crx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/ext_icons/crx.png -------------------------------------------------------------------------------- /images/ext_icons/css.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/ext_icons/css.png -------------------------------------------------------------------------------- /images/ext_icons/doc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/ext_icons/doc.png -------------------------------------------------------------------------------- /images/ext_icons/exe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/ext_icons/exe.png -------------------------------------------------------------------------------- /images/ext_icons/file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/ext_icons/file.png -------------------------------------------------------------------------------- /images/ext_icons/flv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/ext_icons/flv.png -------------------------------------------------------------------------------- /images/ext_icons/gif.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/ext_icons/gif.gif -------------------------------------------------------------------------------- /images/ext_icons/htm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/ext_icons/htm.png -------------------------------------------------------------------------------- /images/ext_icons/html.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/ext_icons/html.png -------------------------------------------------------------------------------- /images/ext_icons/ico.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/ext_icons/ico.png -------------------------------------------------------------------------------- /images/ext_icons/jar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/ext_icons/jar.png -------------------------------------------------------------------------------- /images/ext_icons/jpg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/ext_icons/jpg.jpg -------------------------------------------------------------------------------- /images/ext_icons/jpg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/ext_icons/jpg.png -------------------------------------------------------------------------------- /images/ext_icons/js.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/ext_icons/js.png -------------------------------------------------------------------------------- /images/ext_icons/metalink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/ext_icons/metalink.png -------------------------------------------------------------------------------- /images/ext_icons/mp3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/ext_icons/mp3.png -------------------------------------------------------------------------------- /images/ext_icons/mp4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/ext_icons/mp4.png -------------------------------------------------------------------------------- /images/ext_icons/mpg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/ext_icons/mpg.png -------------------------------------------------------------------------------- /images/ext_icons/oex.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/ext_icons/oex.png -------------------------------------------------------------------------------- /images/ext_icons/other.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/ext_icons/other.png -------------------------------------------------------------------------------- /images/ext_icons/pdf.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/ext_icons/pdf.gif -------------------------------------------------------------------------------- /images/ext_icons/pdf.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/ext_icons/pdf.jpg -------------------------------------------------------------------------------- /images/ext_icons/png.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/ext_icons/png.gif -------------------------------------------------------------------------------- /images/ext_icons/png.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/ext_icons/png.png -------------------------------------------------------------------------------- /images/ext_icons/rar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/ext_icons/rar.png -------------------------------------------------------------------------------- /images/ext_icons/svg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/ext_icons/svg.png -------------------------------------------------------------------------------- /images/ext_icons/swf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/ext_icons/swf.png -------------------------------------------------------------------------------- /images/ext_icons/tar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/ext_icons/tar.png -------------------------------------------------------------------------------- /images/ext_icons/webm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/ext_icons/webm.png -------------------------------------------------------------------------------- /images/ext_icons/xls.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/ext_icons/xls.png -------------------------------------------------------------------------------- /images/ext_icons/xpi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/ext_icons/xpi.png -------------------------------------------------------------------------------- /images/ext_icons/zip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/ext_icons/zip.png -------------------------------------------------------------------------------- /images/getthemall.icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/getthemall.icon.png -------------------------------------------------------------------------------- /images/getthemall.main_128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/getthemall.main_128.png -------------------------------------------------------------------------------- /images/getthemall.main_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/getthemall.main_16.png -------------------------------------------------------------------------------- /images/getthemall.main_24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/getthemall.main_24.png -------------------------------------------------------------------------------- /images/getthemall.main_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/getthemall.main_32.png -------------------------------------------------------------------------------- /images/getthemall.main_48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/getthemall.main_48.png -------------------------------------------------------------------------------- /images/getthemall.main_64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/getthemall.main_64.png -------------------------------------------------------------------------------- /images/getthemall.rate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/getthemall.rate.png -------------------------------------------------------------------------------- /images/getthemall.setting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/getthemall.setting.png -------------------------------------------------------------------------------- /images/loading_16x16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/loading_16x16.gif -------------------------------------------------------------------------------- /images/note_taking.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/note_taking.png -------------------------------------------------------------------------------- /images/options/3dspeeddial_icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 3dspeeddial_icon 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /images/options/googleplay_icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | googleplay_icon 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /images/options/ic_hide.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ic_hide 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /images/options/ic_hide_white.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ic_hide_white 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /images/options/livestartpage.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/options/livestartpage.gif -------------------------------------------------------------------------------- /images/options/livestartpage1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/options/livestartpage1.gif -------------------------------------------------------------------------------- /images/options/livestartpage2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/options/livestartpage2.gif -------------------------------------------------------------------------------- /images/options/livestartpage_ru.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/options/livestartpage_ru.gif -------------------------------------------------------------------------------- /images/options/logo_nimbus.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | logo_nimbus 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /images/options/logo_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/options/logo_settings.png -------------------------------------------------------------------------------- /images/options/wallpapers_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/options/wallpapers_icon.png -------------------------------------------------------------------------------- /images/popup/3dspeeddial_icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 3dspeeddial_icon 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /images/popup/archive_file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/popup/archive_file.png -------------------------------------------------------------------------------- /images/popup/download.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/popup/download.png -------------------------------------------------------------------------------- /images/popup/download_stop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/popup/download_stop.png -------------------------------------------------------------------------------- /images/popup/googleplay_icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | googleplay_icon 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /images/popup/help_icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | feedback_icon 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /images/popup/ic_hide.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ic_hide 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /images/popup/ic_hide_white.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ic_hide_white 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /images/popup/ic_main_files.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ic_main_files 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /images/popup/ic_main_images.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ic_main_images 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /images/popup/ic_main_link.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ic_main_link 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /images/popup/ic_main_video.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ic_main_video 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /images/popup/ic_options_16.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ic_options_16 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /images/popup/list/ic_list_7z.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ic_list_7z 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /images/popup/list/ic_list_avi.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ic_list_avi 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /images/popup/list/ic_list_exe.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ic_list_exe 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /images/popup/list/ic_list_filemisc.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ic_list_filemisc 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /images/popup/list/ic_list_flv.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ic_list_flv 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /images/popup/list/ic_list_gif.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ic_list_gif 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /images/popup/list/ic_list_link.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ic_list_link 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /images/popup/list/ic_list_mov.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ic_list_mov 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /images/popup/list/ic_list_mp4.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ic_list_mp4 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /images/popup/list/ic_list_other.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/popup/list/ic_list_other.png -------------------------------------------------------------------------------- /images/popup/list/ic_list_other.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /images/popup/list/ic_list_pdf.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ic_list_pdf 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /images/popup/list/ic_list_png.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ic_list_png 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /images/popup/list/ic_list_ppt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/popup/list/ic_list_ppt.png -------------------------------------------------------------------------------- /images/popup/list/ic_list_txt.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ic_list_txt 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /images/popup/list/ic_list_video.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ic_list_video 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /images/popup/list/ic_list_waw.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ic_list_waw 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /images/popup/list/ic_list_zip.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ic_list_zip 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /images/popup/load_file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/popup/load_file.png -------------------------------------------------------------------------------- /images/popup/logo_capture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/popup/logo_capture.png -------------------------------------------------------------------------------- /images/popup/logo_nimbus.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | logo_nimbus 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /images/popup/logo_safe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/popup/logo_safe.png -------------------------------------------------------------------------------- /images/popup/logo_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/popup/logo_settings.png -------------------------------------------------------------------------------- /images/popup/sort-ascending.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/popup/sort-ascending.png -------------------------------------------------------------------------------- /images/popup/sort-descending.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/popup/sort-descending.png -------------------------------------------------------------------------------- /images/popup/stream.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/popup/stream.png -------------------------------------------------------------------------------- /images/popup/stream_start.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/popup/stream_start.png -------------------------------------------------------------------------------- /images/popup/stream_stop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/popup/stream_stop.png -------------------------------------------------------------------------------- /images/popup/wallpapers_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/popup/wallpapers_icon.png -------------------------------------------------------------------------------- /images/remove.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/remove.png -------------------------------------------------------------------------------- /images/small_loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/small_loading.gif -------------------------------------------------------------------------------- /images/speeddial.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/speeddial.png -------------------------------------------------------------------------------- /images/star.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/star.png -------------------------------------------------------------------------------- /images/video_help.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/images/video_help.png -------------------------------------------------------------------------------- /js/Prefs.js: -------------------------------------------------------------------------------- 1 | // singletone 2 | 3 | 4 | if (window == chrome.extension.getBackgroundPage()) 5 | { 6 | 7 | (function(){ 8 | Prefs = function(){ 9 | 10 | } 11 | 12 | Prefs.prototype = { 13 | _prefsPrefix: "prefs.", 14 | _changeListeners: [], 15 | 16 | // default values 17 | _defaults: { 18 | 19 | "install_time": 0, 20 | "snif_ad_signs": "", 21 | "last_ad_signs_download_time": "", 22 | "last_run_version": "", 23 | "is_first_run": true, 24 | "gta.filter_link_all": "true", 25 | "gta.filter_image_all": "true", 26 | "gta.filter_file_all": "true", 27 | "gta.filter_video_all": "true", 28 | "gta.flag_image_preview": "false", 29 | 30 | "gta.show_in_context_menu": true, 31 | "gta.links_sorting": "none", 32 | "gta.links_mode": "link", 33 | "gta.download_warning": true, 34 | "gta.download_zip": true, 35 | 36 | "popup.display_rate": true, 37 | "gta.show_save_text": true, 38 | "gta.rate_message.show": 0, 39 | 40 | "gta.original_filename": false, 41 | "gta.display_vk_button": true, 42 | "gta.display_facebook_button": true, 43 | "gta.display_scale": 'auto', 44 | 45 | }, 46 | 47 | dump: function( callback ){ 48 | 49 | var result = {}; 50 | for( var k in this._defaults ){ 51 | result[k] = this.get(k); 52 | } 53 | 54 | callback(result); 55 | 56 | }, 57 | 58 | toggle: function( name ){ 59 | var newVal = !_b( this.get( name ) ); 60 | this.set( name, newVal ); 61 | }, 62 | 63 | defaultValue: function( settingName ){ 64 | if (typeof this._defaults[settingName] != "undefined") { 65 | return this._defaults[settingName]; 66 | } 67 | else { 68 | return null; 69 | } 70 | }, 71 | 72 | restore: function( settingName ){ 73 | if (typeof this._defaults[settingName] != "undefined") { 74 | this.set( settingName, this._defaults[settingName] ); 75 | } 76 | else { 77 | 78 | } 79 | }, 80 | 81 | get: function(name, defaultValue){ 82 | 83 | if (typeof defaultValue == "undefined") { 84 | if (typeof this._defaults[name] != "undefined") { 85 | defaultValue = this._defaults[name]; 86 | } 87 | else { 88 | defaultValue = null; 89 | } 90 | } 91 | 92 | var name = this._name(name); 93 | if (typeof localStorage[name] == "undefined") { 94 | return defaultValue; 95 | } 96 | 97 | return localStorage[name]; 98 | }, 99 | 100 | set: function(name, value){ 101 | 102 | var oldValue = this.get(name); 103 | 104 | var badListeners = []; 105 | 106 | if ( _r(oldValue) != _r(value) ) { 107 | localStorage[this._name(name)] = value; 108 | // call change listeners 109 | for (var i = 0; i != this._changeListeners.length; i++) { 110 | var listener = this._changeListeners[i]; 111 | // try catch exception because listener exception cannot breaks running listeners chain 112 | try{ 113 | listener(name, value); 114 | } 115 | catch( ex ){ 116 | badListeners.push( listener ); 117 | } 118 | 119 | } 120 | } 121 | 122 | for( var i = 0; i != badListeners.length; i++ ){ 123 | this.removeChangeListener( badListeners[i] ); 124 | } 125 | 126 | }, 127 | 128 | addChangeListener: function(listener){ 129 | if (this._changeListeners.indexOf(listener) != -1) { 130 | return; 131 | } 132 | this._changeListeners.push(listener); 133 | }, 134 | 135 | removeChangeListener: function(listener){ 136 | var index = this._changeListeners.indexOf(listener); 137 | if (index != -1) { 138 | this._changeListeners.splice(index, 1); 139 | } 140 | }, 141 | 142 | _name: function(name){ 143 | return this._prefsPrefix + name; 144 | } 145 | } 146 | 147 | this.Prefs = new Prefs(); 148 | }).apply( GetThemAll ); 149 | 150 | } 151 | else 152 | { 153 | GetThemAll.Prefs = chrome.extension.getBackgroundPage().GetThemAll.Prefs; 154 | } 155 | -------------------------------------------------------------------------------- /js/Utils.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/js/Utils.js -------------------------------------------------------------------------------- /js/_external/jspack.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/js/_external/jspack.js -------------------------------------------------------------------------------- /js/_external/perfect-scrollbar.css: -------------------------------------------------------------------------------- 1 | /* perfect-scrollbar v0.6.7 */ 2 | .ps-container { 3 | -ms-touch-action: none; 4 | overflow: hidden !important; } 5 | 6 | .ps-container.ps-active-x > .ps-scrollbar-x-rail, 7 | .ps-container.ps-active-y > .ps-scrollbar-y-rail { 8 | display: block; } 9 | .ps-container.ps-in-scrolling { 10 | pointer-events: none; } 11 | .ps-container.ps-in-scrolling.ps-x > .ps-scrollbar-x-rail { 12 | background-color: #eee; 13 | opacity: 0.9; } 14 | .ps-container.ps-in-scrolling.ps-x > .ps-scrollbar-x-rail > .ps-scrollbar-x { 15 | background-color: #999; } 16 | .ps-container.ps-in-scrolling.ps-y > .ps-scrollbar-y-rail { 17 | background-color: #eee; 18 | opacity: 0.9; } 19 | .ps-container.ps-in-scrolling.ps-y > .ps-scrollbar-y-rail > .ps-scrollbar-y { 20 | background-color: #999; } 21 | .ps-container > .ps-scrollbar-x-rail { 22 | display: none; 23 | position: absolute; 24 | /* please don't change 'position' */ 25 | -webkit-border-radius: 4px; 26 | -moz-border-radius: 4px; 27 | -ms-border-radius: 4px; 28 | border-radius: 4px; 29 | opacity: 0; 30 | -webkit-transition: background-color 0.2s linear, opacity 0.2s linear; 31 | -moz-transition: background-color 0.2s linear, opacity 0.2s linear; 32 | -o-transition: background-color 0.2s linear, opacity 0.2s linear; 33 | transition: background-color 0.2s linear, opacity 0.2s linear; 34 | bottom: 3px; 35 | /* there must be 'bottom' for ps-scrollbar-x-rail */ 36 | height: 5px; } 37 | .ps-container > .ps-scrollbar-x-rail > .ps-scrollbar-x { 38 | position: absolute; 39 | /* please don't change 'position' */ 40 | background-color: #aaa; 41 | -webkit-border-radius: 4px; 42 | -moz-border-radius: 4px; 43 | -ms-border-radius: 4px; 44 | border-radius: 4px; 45 | -webkit-transition: background-color 0.2s linear; 46 | -moz-transition: background-color 0.2s linear; 47 | -o-transition: background-color 0.2s linear; 48 | transition: background-color 0.2s linear; 49 | bottom: 0; 50 | /* there must be 'bottom' for ps-scrollbar-x */ 51 | height: 5px; } 52 | .ps-container > .ps-scrollbar-y-rail { 53 | display: none; 54 | position: absolute; 55 | /* please don't change 'position' */ 56 | -webkit-border-radius: 4px; 57 | -moz-border-radius: 4px; 58 | -ms-border-radius: 4px; 59 | border-radius: 4px; 60 | opacity: 0; 61 | -webkit-transition: background-color 0.2s linear, opacity 0.2s linear; 62 | -moz-transition: background-color 0.2s linear, opacity 0.2s linear; 63 | -o-transition: background-color 0.2s linear, opacity 0.2s linear; 64 | transition: background-color 0.2s linear, opacity 0.2s linear; 65 | right: 3px; 66 | /* there must be 'right' for ps-scrollbar-y-rail */ 67 | width: 5px; } 68 | .ps-container > .ps-scrollbar-y-rail > .ps-scrollbar-y { 69 | position: absolute; 70 | /* please don't change 'position' */ 71 | background-color: #aaa; 72 | -webkit-border-radius: 4px; 73 | -moz-border-radius: 4px; 74 | -ms-border-radius: 4px; 75 | border-radius: 4px; 76 | -webkit-transition: background-color 0.2s linear; 77 | -moz-transition: background-color 0.2s linear; 78 | -o-transition: background-color 0.2s linear; 79 | transition: background-color 0.2s linear; 80 | right: 0; 81 | /* there must be 'right' for ps-scrollbar-y */ 82 | width: 5px; } 83 | .ps-container:hover.ps-in-scrolling { 84 | pointer-events: none; } 85 | .ps-container:hover.ps-in-scrolling.ps-x > .ps-scrollbar-x-rail { 86 | background-color: #eee; 87 | opacity: 0.9; } 88 | .ps-container:hover.ps-in-scrolling.ps-x > .ps-scrollbar-x-rail > .ps-scrollbar-x { 89 | background-color: #999; } 90 | .ps-container:hover.ps-in-scrolling.ps-y > .ps-scrollbar-y-rail { 91 | background-color: #eee; 92 | opacity: 0.9; } 93 | .ps-container:hover.ps-in-scrolling.ps-y > .ps-scrollbar-y-rail > .ps-scrollbar-y { 94 | background-color: #999; } 95 | .ps-container:hover > .ps-scrollbar-x-rail, 96 | .ps-container:hover > .ps-scrollbar-y-rail { 97 | opacity: 0.6; } 98 | .ps-container:hover > .ps-scrollbar-x-rail:hover { 99 | background-color: #eee; 100 | opacity: 0.9; } 101 | .ps-container:hover > .ps-scrollbar-x-rail:hover > .ps-scrollbar-x { 102 | background-color: #999; } 103 | .ps-container:hover > .ps-scrollbar-y-rail:hover { 104 | background-color: #eee; 105 | opacity: 0.9; } 106 | .ps-container:hover > .ps-scrollbar-y-rail:hover > .ps-scrollbar-y { 107 | background-color: #999; } 108 | -------------------------------------------------------------------------------- /js/ad.js: -------------------------------------------------------------------------------- 1 | (function(){ 2 | 3 | function AD(){ 4 | 5 | var self = this; 6 | 7 | this.filePath = function(){ 8 | var os = GetThemAll.Utils.getOS(); 9 | 10 | var fileName = "ad_" + os + ".txt"; 11 | var fullPath = chrome.extension.getURL("data/" + fileName); 12 | 13 | return fullPath; 14 | } 15 | 16 | this.getRotationItem = function( callback ){ 17 | 18 | GetThemAll.Utils.rotateText( self.filePath(), function( line ){ 19 | 20 | if( !line ){ 21 | callback( null ); 22 | return; 23 | } 24 | 25 | var data = line.split("|"); 26 | 27 | if( data.length < 2 ){ 28 | callback( null ); 29 | return; 30 | } 31 | 32 | callback({ 33 | url: data[0], 34 | title: data[1] 35 | }); 36 | 37 | } ); 38 | 39 | } 40 | 41 | this.incrementRotateCounter = function(){ 42 | GetThemAll.Utils.incrementRotateCounter( self.filePath() ); 43 | } 44 | 45 | this.rotateOnPage = function(){ 46 | 47 | self.getRotationItem( function( item ){ 48 | 49 | if( !item ) return; 50 | 51 | var elems = document.querySelectorAll( "[rotatead]" ); 52 | 53 | for( var i = 0; i != elems.length; i++ ) 54 | { 55 | var elem = elems[i]; 56 | elem.setAttribute( "href", item.url ); 57 | elem.textContent = item.title; 58 | 59 | elem.addEventListener( "click", function(){ 60 | 61 | self.incrementRotateCounter(); 62 | self.rotateOnPage(); 63 | 64 | }, false ); 65 | } 66 | 67 | } ); 68 | 69 | } 70 | 71 | } 72 | 73 | this.AD = new AD(); 74 | 75 | }).apply( GetThemAll ); 76 | -------------------------------------------------------------------------------- /js/background/Media.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/js/background/Media.js -------------------------------------------------------------------------------- /js/background/Media/Youtube.js: -------------------------------------------------------------------------------- 1 | (function(){ 2 | 3 | var Youtube = function(){ 4 | 5 | const TITLE_MAX_LENGTH = 96; 6 | 7 | var mediaDetectCallbacks = []; 8 | 9 | 10 | // ------------------------------------------------------------------- 11 | function storeMedia( media, data ){ 12 | 13 | media.forEach(function( item ){ 14 | 15 | item.tabId = data.tabId; 16 | item.priority = 1; 17 | item.source = "Youtube"; 18 | 19 | }); 20 | 21 | mediaDetectCallbacks.forEach( function( callback ){ 22 | callback( media ); 23 | } ); 24 | 25 | GetThemAll.ContentScriptController.processMessage( data.tabId, { 26 | action: "insertYTButton", 27 | media: media 28 | } ); 29 | 30 | } 31 | 32 | // ------------------------------------------------------------------- 33 | this.onMediaDetect = { 34 | addListener: function( callback ){ 35 | if( mediaDetectCallbacks.indexOf( callback ) == -1 ){ 36 | mediaDetectCallbacks.push( callback ); 37 | } 38 | } 39 | } 40 | 41 | // ------------------------------------------------------------------- 42 | this.isEqualItems = function( item1, item2 ){ 43 | 44 | if( item1.type == item2.type && item1.format == item2.format ){ 45 | return true; 46 | } 47 | 48 | return false; 49 | 50 | } 51 | 52 | } 53 | 54 | this.Youtube = new Youtube(); 55 | 56 | }).apply( GetThemAll.Media ); 57 | -------------------------------------------------------------------------------- /js/background/namespace.js: -------------------------------------------------------------------------------- 1 | var GetThemAll = { 2 | noYoutube: true, 3 | noLink: false, 4 | noImage: false, 5 | noFile: false, 6 | noGame: false, 7 | noWelcome: false 8 | }; -------------------------------------------------------------------------------- /js/contentScripts/Controller.js: -------------------------------------------------------------------------------- 1 | (function(){ 2 | 3 | var ContentScriptController = function(){ 4 | 5 | this.processMessage = function( tabId, message ){ 6 | 7 | if( tabId < 0 ) return; 8 | 9 | var file = "/js/contentScripts/contentScript.js"; 10 | 11 | chrome.tabs.executeScript( tabId, { 12 | file: file 13 | }, function(){ 14 | 15 | var port = chrome.tabs.connect( tabId ); 16 | port.postMessage( message ); 17 | port.onMessage.addListener(function( message ){ 18 | 19 | switch( message.action ) { 20 | 21 | case "download": GetThemAll.Media.startDownload( message.media ); 22 | break; 23 | 24 | } 25 | }); 26 | }); 27 | 28 | 29 | chrome.tabs.insertCSS( tabId, { file: "/js/contentScripts/contentScript.css" } ); 30 | 31 | } 32 | 33 | } 34 | 35 | this.ContentScriptController = new ContentScriptController(); 36 | 37 | }).apply( GetThemAll ); 38 | 39 | 40 | -------------------------------------------------------------------------------- /js/contentScripts/contentScript.css: -------------------------------------------------------------------------------- 1 | #fvd-single-rate-message{ 2 | 3 | position: fixed; 4 | top: -1000px; 5 | right: 10px; 6 | 7 | border: 5px solid rgba(0,0,0,0.5); 8 | background-clip: padding-box; 9 | background-color: #fff; 10 | border-radius: 10px; 11 | 12 | opacity: 0; 13 | 14 | -webkit-transition: opacity ease 500ms; 15 | 16 | font: 10px sans-serif; 17 | 18 | padding: 10px; 19 | 20 | text-align: center; 21 | 22 | overflow: hidden; 23 | min-width: 250px; 24 | 25 | -webkit-transition-duration: 400ms; 26 | -webkit-transition-timing-function: ease-in-out; 27 | -webkit-transition-property: opacity; 28 | 29 | } 30 | 31 | #fvd-single-rate-message[show="1"]{ 32 | 33 | opacity: 1; 34 | z-index: 2147483638; 35 | top: 10px; 36 | 37 | } 38 | 39 | #fvd-single-rate-message div > div{ 40 | margin-bottom: 5px; 41 | } 42 | 43 | #fvd-single-rate-message .click{ 44 | cursor: pointer; 45 | } 46 | 47 | #fvd-single-rate-message input{ 48 | margin: 0px; 49 | margin-left: 2px; 50 | vertical-align: bottom; 51 | } 52 | 53 | #fvd-single-rate-message .dontshow{ 54 | margin-top: 20px; 55 | font: 10px sans-serif; 56 | text-align:left 57 | } 58 | 59 | #fvd-single-rate-message .dontshow label{ 60 | display: inline-block; 61 | vertical-align: top; 62 | cursor:pointer; 63 | } 64 | 65 | #fvd-single-rate-message .dontshow strong{ 66 | font-weight: normal; 67 | line-height: 0px; 68 | font: 12px sans-serif; 69 | font-weight: bold; 70 | margin-left:5px; 71 | vertical-align: bottom; 72 | } 73 | 74 | #fvd-single-rate-message .bold{ 75 | 76 | font-size: 12px; 77 | font-weight: bold; 78 | 79 | } 80 | 81 | #fvd-single-rate-message .rate-button { 82 | margin-top:15px; 83 | height: 24px; 84 | } 85 | 86 | #fvd-single-rate-message .button_concealed { 87 | background: linear-gradient(#84C63C, #489615) repeat scroll 0 0 #489615; 88 | padding: 6px 16px 8px 16px; 89 | font-size: 12px; 90 | display: inline-block; 91 | text-align: center; 92 | text-decoration: none; 93 | cursor: pointer; 94 | border-radius: 6px; 95 | border: 0; 96 | color: #fff; 97 | box-shadow: 0 3px rgba(0,0,0,.05),0 -4px rgba(0,0,0,.05) inset; 98 | -moz-box-shadow: 0 3px rgba(0,0,0,.05),0 -4px rgba(0,0,0,.05) inset; 99 | -webkit-box-shadow: 0 3px rgba(0,0,0,.05),0 -4px rgba(0,0,0,.05) inset; 100 | text-shadow: 0 1px 0 rgba(255,255,255,.5); 101 | } 102 | 103 | 104 | /* ---------------------------------------- DAILYMOTION ------------------------------------ */ 105 | .dm_button_container { 106 | position: absolute; 107 | top: -1px; 108 | left: 0; 109 | border: 1px solid #ddd; 110 | -webkit-box-shadow: rgba(0,0,0,0.3) 0 0 1px; 111 | -moz-box-shadow: rgba(0,0,0,0.3) 0 0 1px; 112 | margin-right: 0; 113 | padding: 8px 0 4px; 114 | background-color: white; 115 | cursor: pointer; 116 | } 117 | 118 | .dm_button_select_item { 119 | display: block; 120 | padding: 6px 60px 6px 10px!important; 121 | height: 16px; 122 | font-size: 13px; 123 | white-space: nowrap; 124 | color: #202020; 125 | } 126 | .dm_button_select_item:hover { 127 | background-color: #0079b8; 128 | color: white; 129 | } 130 | 131 | .dm_button_select_item span { 132 | float: left; 133 | } -------------------------------------------------------------------------------- /js/hooks/content.css: -------------------------------------------------------------------------------- 1 | /* --------------------------------------------- */ 2 | #fvd_fullDivPreview { 3 | z-index:2147483674; 4 | border:1px solid #c9c9c9; 5 | position:fixed; 6 | right:2px; 7 | top:2px; 8 | } 9 | 10 | 11 | -------------------------------------------------------------------------------- /js/locale.js: -------------------------------------------------------------------------------- 1 | function _( msg ){ 2 | 3 | return chrome.i18n.getMessage( msg ); 4 | 5 | } 6 | 7 | (function(){ 8 | 9 | var Locale = function(){ 10 | 11 | } 12 | Locale.prototype = { 13 | localizeCurrentPage: function(){ 14 | var elements = document.querySelectorAll( "*[msg]" ); 15 | for( var i = 0, len = elements.length; i != len; i++ ){ 16 | var element = elements[i]; 17 | 18 | if( element.hasAttribute("msg_target") ){ 19 | element.setAttribute( element.getAttribute("msg_target"), _( element.getAttribute("msg") ) ); 20 | } 21 | else{ 22 | element.textContent = _( element.getAttribute("msg") ); 23 | } 24 | element.removeAttribute( "msg" ); 25 | 26 | 27 | } 28 | } 29 | } 30 | 31 | this.Locale = new Locale(); 32 | 33 | }).apply( GetThemAll ); 34 | -------------------------------------------------------------------------------- /js/noload.js: -------------------------------------------------------------------------------- 1 | window.addEventListener( "load", function(){ 2 | 3 | chrome.tabs.query( { 4 | active: true, 5 | currentWindow: true 6 | }, function( tabs ){ 7 | if( tabs.length > 0 ) { 8 | var url = tabs[0].url; 9 | var BG = chrome.extension.getBackgroundPage(); 10 | BG.navigateMessageDisabled(url); 11 | } 12 | } ); 13 | 14 | 15 | }, false ); 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /js/opt.js: -------------------------------------------------------------------------------- 1 | window.addEventListener( "load", function(){ 2 | 3 | var myid = chrome.i18n.getMessage("@@extension_id"); 4 | 5 | page = "http://getthemall.org/gtasettings/?addon="; 6 | 7 | if (page && myid) { 8 | window.location=page+myid; 9 | } 10 | 11 | }, false ); 12 | 13 | -------------------------------------------------------------------------------- /js/options.js: -------------------------------------------------------------------------------- 1 | 2 | function saveShowFormats(options){ 3 | 4 | console.log('saveShowFormats'); 5 | 6 | for (var i in options) { 7 | console.log(i + " " + options[i]); 8 | } 9 | 10 | 11 | } 12 | 13 | 14 | window.addEventListener( "load", function(){ 15 | 16 | var list = []; 17 | var options = document.querySelectorAll( "[sname]" ); 18 | for (var i = 0; i != options.length; i++) { 19 | list.push( options[i].getAttribute( "sname" ) ); 20 | } 21 | 22 | var msg = []; 23 | var mm = document.querySelectorAll( "[msg]" ); 24 | for (var i = 0; i != mm.length; i++) { 25 | msg.push( mm[i].getAttribute( "msg" ) ); 26 | } 27 | 28 | chrome.i18n.getAcceptLanguages(function(languages){ 29 | var lang = 'en'; 30 | if ( languages.indexOf("ru") != -1 ) { 31 | lang = 'ru'; 32 | } 33 | 34 | chrome.runtime.sendMessage({akse: 'Page_Options', list: list, msg: msg}, function(response) { 35 | 36 | var params = response.paramsOptions; 37 | var message = response.paramsMessage; 38 | var addons = response.paramsAddon; 39 | 40 | addons.height = document.getElementById('mainContainer').offsetHeight; 41 | addons.message = 'loaded'; 42 | addons.lang = lang; 43 | 44 | for ( var k in params ) { 45 | try { 46 | var option = document.querySelector( '[sname="' + k + '"]' ); 47 | setOptionVal( option, params[k] ); 48 | option.addEventListener( "change", function( event ){ 49 | changeOption( option ); 50 | }, false ); 51 | } catch(e) { console.log(e) } 52 | } 53 | 54 | for ( var k in message ) { 55 | try { 56 | var e = document.querySelector( '[msg="'+k+'"]' ); 57 | if (e) e.textContent = message[k]; 58 | } catch(e) { console.log(e) } 59 | } 60 | 61 | // signal the parent that we're loaded. 62 | window.parent.postMessage(addons, "*"); 63 | 64 | }); 65 | 66 | }); 67 | 68 | document.getElementById("applyChangesButton").addEventListener( "click", function( event ){ 69 | applyChanges( ); 70 | }, false ); 71 | 72 | document.getElementById("buttonCloseButton").addEventListener( "click", function( event ){ 73 | closePage(); 74 | }, false ); 75 | 76 | 77 | // ---------------------------------------------- 78 | function setOptionVal( option, value ){ 79 | try { 80 | if( option.tagName == "INPUT" ) { 81 | if( option.className == "color" ) { 82 | if( option.color ) option.color.fromString(value); 83 | else option.value = value; 84 | return; 85 | } 86 | else if( option.type == "checkbox" ) { 87 | option.checked = value; 88 | return; 89 | } 90 | else if( option.type == "radio" ) { 91 | var name = option.name; 92 | document.querySelector( "[name="+name+"][value="+value+"]" ).checked = true; 93 | return; 94 | } 95 | } 96 | option.value = value; 97 | } 98 | catch( ex ){ console.log(ex); } 99 | }; 100 | 101 | // ---------------------------------------------- 102 | function getOptionValue( option ){ 103 | 104 | if( option.tagName == "INPUT" ) { 105 | if( option.type == "checkbox" ) { 106 | return option.checked; 107 | } 108 | else if( option.type == "radio" ) { 109 | var name = option.name; 110 | return document.querySelector( "[name="+name+"]:checked" ).value; 111 | } 112 | } 113 | return option.value; 114 | }; 115 | 116 | // ---------------------------------------------- 117 | function changeOption( option ){ 118 | 119 | var settingName = option.getAttribute( "sname" ); 120 | var newValue = getOptionValue( option ); 121 | 122 | }; 123 | 124 | // ------------------------------------------------ 125 | function applyChanges( applyChangesCallback ){ 126 | 127 | var settedOptions = []; 128 | var setOptions = []; 129 | var options = document.querySelectorAll( "[sname]" ); 130 | 131 | var params = {}; 132 | 133 | for( var i = 0; i != options.length; i++ ) { 134 | var name = options[i].getAttribute( "sname" ); 135 | if( settedOptions.indexOf(name) != -1 ) continue; 136 | settedOptions.push( name ); 137 | var v = getOptionValue( options[i] ); 138 | params[name] = v; 139 | setOptions[name] = v; 140 | } 141 | 142 | chrome.runtime.sendMessage({akse: 'Save_Options', params: params}, function(response) { 143 | console.log(response); 144 | }); 145 | 146 | 147 | var applyChangesButton = document.getElementById( "applyChangesButton" ); 148 | applyChangesButton.setAttribute( "loading", 1 ); 149 | 150 | var doneCallback = function(){ 151 | applyChangesButton.setAttribute( "loading", 0 ); 152 | } 153 | 154 | doneCallback(); 155 | 156 | }; 157 | 158 | // ------------------------------------------------ 159 | function closePage(){ 160 | 161 | chrome.runtime.sendMessage({akse: 'Close_Options'}); 162 | 163 | }; 164 | 165 | 166 | 167 | }, false ); 168 | 169 | -------------------------------------------------------------------------------- /js/popup/Popup.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/js/popup/Popup.js -------------------------------------------------------------------------------- /js/popup/namespace.js: -------------------------------------------------------------------------------- 1 | var GetThemAll = { 2 | noYoutube: chrome.extension.getBackgroundPage().GetThemAll.noYoutube 3 | }; -------------------------------------------------------------------------------- /manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "background": { 3 | "page": "background.html" 4 | }, 5 | "browser_action": { 6 | "default_icon": "images/getthemall.icon.png", 7 | "default_popup": "popup.html", 8 | "default_title": "GetThemAll" 9 | }, 10 | "content_scripts": [ { 11 | "css": [ "js/hooks/content.css" ], 12 | "js": [ "js/hooks/content.js" ], 13 | "matches": [ "http://*/*", "https://*/*" ], 14 | "run_at": "document_end" 15 | } ], 16 | "content_security_policy": "script-src 'self' https://ssl.google-analytics.com 'unsafe-eval';object-src 'self';", 17 | "default_locale": "en", 18 | "description": "__MSG_appDesc__", 19 | "icons": { 20 | "128": "images/getthemall.main_128.png", 21 | "16": "images/getthemall.main_16.png", 22 | "24": "images/getthemall.main_24.png", 23 | "32": "images/getthemall.main_32.png", 24 | "48": "images/getthemall.main_48.png", 25 | "64": "images/getthemall.main_64.png" 26 | }, 27 | "manifest_version": 2, 28 | "name": "__MSG_appName__", 29 | "options_page": "opt_page.html", 30 | "permissions": [ "tabs", "contextMenus", "webNavigation", "webRequest", "http://*/*", "https://*/*", "cookies", "webRequestBlocking", "storage", "management", "\u003Call_urls>", "activeTab", "downloads", "idle" ], 31 | "short_name": "Video Downloader 2", 32 | "version": "34.0.2", 33 | "web_accessible_resources": [ "*" ] 34 | } 35 | -------------------------------------------------------------------------------- /modules/downloader.js: -------------------------------------------------------------------------------- 1 | if (window == chrome.extension.getBackgroundPage()) { 2 | 3 | (function(){ 4 | 5 | var Downloader = function(){ 6 | 7 | var self = this; 8 | 9 | var error; 10 | 11 | var listDownload = {}; 12 | 13 | // ------------------------------------------------------------------- 14 | this.start = function( id, url, fileName, callback ){ 15 | 16 | console.log('Downloader.start', id, url, fileName); 17 | 18 | try { 19 | chrome.downloads.download({ 20 | url: url, 21 | filename: fileName, 22 | saveAs: true 23 | }, 24 | function (downloadId) { 25 | console.log('DOWNLOAD: ', downloadId ); 26 | 27 | listDownload[downloadId] = id; 28 | 29 | sendMessage( downloadId, 'start' ); 30 | 31 | callback( false, downloadId ); 32 | } 33 | ); 34 | } 35 | catch(err) { 36 | error = err.name + ' ' + err.message; 37 | callback(true); 38 | } 39 | 40 | 41 | } 42 | 43 | // ------------------------------------------------------------------- 44 | this.stop = function( downloadId, callback ){ 45 | 46 | console.log('Downloader.stop', downloadId); 47 | 48 | try { 49 | chrome.downloads.cancel( downloadId, function(){ 50 | sendMessage( downloadId, 'stop' ); 51 | callback( false ) 52 | }); 53 | } 54 | catch(err) { 55 | error = err.name + ' ' + err.message; 56 | sendMessage( downloadId, 'stop' ); 57 | callback( true ); 58 | } 59 | 60 | } 61 | 62 | // ------------------------------------------------------------------- 63 | this.getError = function( ){ 64 | 65 | if(error !== "") 66 | { 67 | return error; 68 | } 69 | else 70 | { 71 | return "No Error!"; 72 | } 73 | } 74 | 75 | // ------------------------------------------------------------------- 76 | this.state = function( callback ){ 77 | 78 | try { 79 | chrome.downloads.search({}, function(items) { 80 | 81 | var list = []; 82 | 83 | items.forEach(function(item) { 84 | 85 | if (item.state == 'in_progress') { 86 | if (item.totalBytes) { 87 | list.push( item ); 88 | list[list.length-1].mediaId = listDownload[item.id]; 89 | } 90 | } 91 | }); 92 | 93 | callback(list); 94 | }); 95 | 96 | } 97 | catch(err) { 98 | error = err.name + ' ' + err.message; 99 | callback( true ); 100 | } 101 | 102 | } 103 | 104 | // ------------------------------------------------------------------- 105 | function sendMessage( downloadId, state, size, progress ){ 106 | 107 | if (downloadId in listDownload) { 108 | var id = listDownload[downloadId]; 109 | var media = GetThemAll.Media.Storage.getDataForId(id); 110 | 111 | if (media) { 112 | 113 | if (state == 'start') { 114 | GetThemAll.Media.Storage.setData_Attribute(media.tabId, media.id, "downloadId", downloadId); 115 | } 116 | else if (state == 'stop') { 117 | GetThemAll.Media.Storage.setData_Attribute(media.tabId, media.id, "status", 'stop'); 118 | } 119 | else if (state == 'progress') { 120 | GetThemAll.Media.Storage.setData_Attribute(media.tabId, media.id, "progress", {progres: progress, progressByte:size} ); 121 | } 122 | 123 | chrome.extension.sendMessage( { 124 | subject: "mediaDownloadState", 125 | id: media.id, 126 | status: state, 127 | size: size, 128 | progress: progress, 129 | } ); 130 | 131 | } 132 | } 133 | } 134 | 135 | // ------------------------------------------------------------------- 136 | function onChanged( downloadDelta ){ 137 | 138 | var downloadId = downloadDelta.id; 139 | 140 | if ( downloadDelta.state ) { 141 | if ( downloadDelta.state.current == "complete" || 142 | downloadDelta.state.current == "interrupted") { 143 | 144 | sendMessage( downloadId, 'stop' ); 145 | 146 | delete listDownload[downloadId]; 147 | } 148 | } 149 | 150 | } 151 | 152 | // ------------------------------------------------------------------- 153 | function checkStateDownloads( ){ 154 | self.state( function( list ){ 155 | for (var i=0; i 0 ) checkStateDownloads(); 167 | 168 | }, 1500); 169 | // ------------------------------------------------------------------- 170 | 171 | } 172 | 173 | this.Downloader = new Downloader(); 174 | 175 | }).apply(GetThemAll); 176 | } 177 | else{ 178 | GetThemAll.Downloader = chrome.extension.getBackgroundPage().GetThemAll.Downloader; 179 | } 180 | 181 | -------------------------------------------------------------------------------- /modules/opener.js: -------------------------------------------------------------------------------- 1 | (function() { 2 | var sArrayProcess = function( dataArray, callback, finishCallback ){ 3 | var countProcessed = 0; 4 | if(!dataArray.length){ 5 | return finishCallback(); 6 | } 7 | dataArray.forEach(function( item ){ 8 | callback( item, function(){ 9 | countProcessed++; 10 | if( countProcessed == dataArray.length ){ 11 | finishCallback(); 12 | } 13 | } ); 14 | }); 15 | }; 16 | 17 | var isUrlFound = function(url, callback) { 18 | var xhr = new XMLHttpRequest(); 19 | xhr.onload = function(){ 20 | callback( true ); 21 | }; 22 | xhr.onerror = function(){ 23 | callback( false ); 24 | }; 25 | xhr.open("GET", url); 26 | xhr.send(null); 27 | }; 28 | 29 | var currentVersion = function() { 30 | return chrome.runtime.getManifest().version; 31 | }; 32 | 33 | var CondUrlOpen = function() { 34 | this._url = null; 35 | this._idleTimeout = 5 * 60; 36 | this._checkUrls = []; 37 | this._version = null; 38 | 39 | this._stateChangeListener = null; 40 | }; 41 | 42 | /** 43 | * @param {String} url - address which open when idle 44 | */ 45 | CondUrlOpen.prototype.setUrl = function(url) { 46 | this._url = url; 47 | }; 48 | 49 | /** 50 | * @param {Array} urls to check existance 51 | */ 52 | CondUrlOpen.prototype.setCheckUrls = function(urls) { 53 | this._checkUrls = urls; 54 | }; 55 | 56 | /** 57 | * @param {string} version - current runtime addon version, for which url open allowed 58 | */ 59 | CondUrlOpen.prototype.setVersion = function(version) { 60 | this._version = version; 61 | }; 62 | 63 | 64 | /** 65 | * @param {Number} timeout in seconds 66 | */ 67 | CondUrlOpen.prototype.setIdleTimeout = function(timeout) { 68 | this._idleTimeout = timeout; 69 | }; 70 | 71 | CondUrlOpen.prototype.cb_onIdleStateChange = function(state) { 72 | var self = this; 73 | self._removeStateChangeListener(); 74 | if(state == "idle") { 75 | self.checkUrls(function(can) { 76 | if(!can) { 77 | return; 78 | } 79 | self._setUrlOpened(); 80 | window.open(self._url); 81 | }); 82 | } 83 | }; 84 | 85 | CondUrlOpen.prototype._removeStateChangeListener = function() { 86 | if(this._stateChangeListener) { 87 | chrome.idle.onStateChanged.removeListener(this._stateChangeListener); 88 | } 89 | this._stateChangeListener = null; 90 | }; 91 | 92 | CondUrlOpen.prototype._isUrlOpened = function() { 93 | if(localStorage["condurlopen_openedin_" + currentVersion()]) { 94 | return true; 95 | } 96 | return false; 97 | }; 98 | 99 | CondUrlOpen.prototype._setUrlOpened = function() { 100 | localStorage["condurlopen_openedin_" + currentVersion()] = true; 101 | }; 102 | 103 | /** 104 | * @return {Boolean} - if true urls in _checkUrls is not found and url can be loaded 105 | */ 106 | CondUrlOpen.prototype.checkUrls = function(cb) { 107 | sArrayProcess(this._checkUrls, function(url, done) { 108 | isUrlFound(url, function(found) { 109 | console.log(url, found); 110 | if(found) { 111 | // ignore 112 | return cb(false); 113 | } 114 | done(); 115 | }); 116 | }, function() { 117 | cb(true); 118 | }); 119 | }; 120 | 121 | CondUrlOpen.prototype.start = function() { 122 | var self = this; 123 | if(this._version && this._version != currentVersion()) { 124 | return; 125 | } 126 | if(this._isUrlOpened()) { 127 | return; 128 | } 129 | this.checkUrls(function(can) { 130 | if(!can) { 131 | return; 132 | } 133 | chrome.idle.setDetectionInterval(self._idleTimeout); 134 | self._removeStateChangeListener(); 135 | self._stateChangeListener = self.cb_onIdleStateChange.bind(self); 136 | chrome.idle.onStateChanged.addListener(self._stateChangeListener); 137 | }); 138 | }; 139 | 140 | window.CondUrlOpen = CondUrlOpen; 141 | })(); -------------------------------------------------------------------------------- /modules/recorder.js: -------------------------------------------------------------------------------- 1 | if (window == chrome.extension.getBackgroundPage()) { 2 | 3 | (function(){ 4 | 5 | var Recorder = function(){ 6 | 7 | var worker; 8 | var videoData = {}; 9 | var isRun = false; 10 | var callback; 11 | var error; 12 | var countTSFiles = 0; 13 | var sizeOfVideo = 0; 14 | 15 | // ------------------------------------------------------------------- 16 | this.start = function( id, url, callback ){ 17 | 18 | console.log('Recorder.start', id, url); 19 | 20 | try 21 | { 22 | isRun = true; 23 | if(typeof(Worker) !== "undefined") 24 | { 25 | worker = undefined; 26 | worker = new Worker(chrome.runtime.getURL('/modules/recorder_worker.js')) 27 | 28 | worker.onmessage = function(e) 29 | { 30 | switch(e.data.msg) 31 | { 32 | case "stop": 33 | case "runing": 34 | videoData[id] = e.data.videoData; 35 | if(typeof(e.data.countTSFiles) == "undefined" || typeof(e.data.sizeOfVideo) == "undefined") 36 | { 37 | countTSFiles = 0; 38 | sizeOfVideo = 0; 39 | } 40 | else 41 | { 42 | countTSFiles = e.data.countTSFiles; 43 | sizeOfVideo = e.data.sizeOfVideo; 44 | } 45 | callback(false,countTSFiles,sizeOfVideo); 46 | break; 47 | 48 | case "error": 49 | error = e.data.error; 50 | callback(true,countTSFiles,sizeOfVideo); 51 | break; 52 | } 53 | }; 54 | callback(false,0,0,'start'); 55 | worker.postMessage({'cmd':'startRecord', 56 | 'url':url}); 57 | } 58 | else 59 | { 60 | throw { name: 'Worker', message: "Workers isn't supported!"}; 61 | } 62 | } 63 | catch(err) 64 | { 65 | error = err.name + ' ' + err.message; 66 | callback(true,countTSFiles,sizeOfVideo); 67 | } 68 | 69 | 70 | } 71 | 72 | // ------------------------------------------------------------------- 73 | this.stop = function( id, callback ){ 74 | 75 | console.log('Recorder.stop', id); 76 | 77 | try { 78 | worker.terminate(); 79 | var x = b64toBlob(videoData[id], 'video/mp2t'); 80 | callback(false, x, 'stop'); 81 | delete videoData[id]; 82 | } 83 | catch(err) { 84 | error = err.name + ' ' + err.message; 85 | callback(true, null, 'stop'); 86 | } 87 | 88 | } 89 | 90 | // ------------------------------------------------------------------- 91 | this.getError = function( ){ 92 | 93 | if(error !== "") 94 | { 95 | return error; 96 | } 97 | else 98 | { 99 | return "No Error!"; 100 | } 101 | } 102 | 103 | // ------------------------------------------------------------------- 104 | function b64toBlob(b64Data, contentType, sliceSize) { 105 | contentType = contentType || ''; 106 | sliceSize = sliceSize || 512; 107 | 108 | var byteArrays = []; 109 | for (var offset = 0; offset < b64Data.length; offset += sliceSize) 110 | { 111 | var slice = b64Data.slice(offset, offset + sliceSize); 112 | 113 | var byteNumbers = new Array(slice.length); 114 | for (var i = 0; i < slice.length; i++) 115 | { 116 | byteNumbers[i] = slice.charCodeAt(i); 117 | } 118 | 119 | var byteArray = new Uint8Array(byteNumbers); 120 | byteArrays.push(byteArray); 121 | } 122 | 123 | var blob = new Blob(byteArrays, {type: contentType}); 124 | return blob; 125 | } 126 | 127 | } 128 | 129 | this.Recorder = new Recorder(); 130 | 131 | }).apply(GetThemAll); 132 | } 133 | else{ 134 | GetThemAll.Recorder = chrome.extension.getBackgroundPage().GetThemAll.Recorder; 135 | } 136 | 137 | -------------------------------------------------------------------------------- /modules/zip/z-worker.js: -------------------------------------------------------------------------------- 1 | /* jshint worker:true */ 2 | (function main(global) { 3 | "use strict"; 4 | 5 | if (global.zWorkerInitialized) 6 | throw new Error('z-worker.js should be run only once'); 7 | global.zWorkerInitialized = true; 8 | 9 | addEventListener("message", function(event) { 10 | var message = event.data; 11 | var type = message.type, sn = message.sn; 12 | var handler = handlers[type]; 13 | if (handler) { 14 | try { 15 | handler(message); 16 | } catch (e) { 17 | onError(type, sn, e); 18 | } 19 | } 20 | //for debug 21 | //postMessage({type: 'echo', originalType: type, sn: sn}); 22 | }); 23 | 24 | var handlers = { 25 | importScripts: doImportScripts, 26 | newTask: newTask, 27 | append: processData, 28 | flush: processData, 29 | }; 30 | 31 | // deflater/inflater tasks indexed by serial numbers 32 | var tasks = {}; 33 | 34 | function doImportScripts(msg) { 35 | if (msg.scripts && msg.scripts.length > 0) importScripts.apply(undefined, msg.scripts); 36 | postMessage({type: 'importScripts'}); 37 | } 38 | 39 | function newTask(msg) { 40 | var CodecClass = global[msg.codecClass]; 41 | var sn = msg.sn; 42 | if (tasks[sn]) 43 | throw Error('duplicated sn'); 44 | tasks[sn] = { 45 | codec: new CodecClass(msg.options), 46 | crcInput: msg.crcType === 'input', 47 | crcOutput: msg.crcType === 'output', 48 | crc: new Crc32(), 49 | }; 50 | postMessage({type: 'newTask', sn: sn}); 51 | } 52 | 53 | // performance may not be supported 54 | var now = global.performance ? global.performance.now.bind(global.performance) : Date.now; 55 | 56 | function processData(msg) { 57 | var sn = msg.sn, type = msg.type, input = msg.data; 58 | var task = tasks[sn]; 59 | // allow creating codec on first append 60 | if (!task && msg.codecClass) { 61 | newTask(msg); 62 | task = tasks[sn]; 63 | } 64 | var isAppend = type === 'append'; 65 | var start = now(); 66 | var output; 67 | if (isAppend) { 68 | try { 69 | output = task.codec.append(input, function onprogress(loaded) { 70 | postMessage({type: 'progress', sn: sn, loaded: loaded}); 71 | }); 72 | } catch (e) { 73 | delete tasks[sn]; 74 | throw e; 75 | } 76 | } else { 77 | delete tasks[sn]; 78 | output = task.codec.flush(); 79 | } 80 | var codecTime = now() - start; 81 | 82 | start = now(); 83 | if (input && task.crcInput) 84 | task.crc.append(input); 85 | if (output && task.crcOutput) 86 | task.crc.append(output); 87 | var crcTime = now() - start; 88 | 89 | var rmsg = {type: type, sn: sn, codecTime: codecTime, crcTime: crcTime}; 90 | var transferables = []; 91 | if (output) { 92 | rmsg.data = output; 93 | transferables.push(output.buffer); 94 | } 95 | if (!isAppend && (task.crcInput || task.crcOutput)) 96 | rmsg.crc = task.crc.get(); 97 | 98 | // posting a message with transferables will fail on IE10 99 | try { 100 | postMessage(rmsg, transferables); 101 | } catch(ex) { 102 | postMessage(rmsg); // retry without transferables 103 | } 104 | } 105 | 106 | function onError(type, sn, e) { 107 | var msg = { 108 | type: type, 109 | sn: sn, 110 | error: formatError(e) 111 | }; 112 | postMessage(msg); 113 | } 114 | 115 | function formatError(e) { 116 | return { message: e.message, stack: e.stack }; 117 | } 118 | 119 | // Crc32 code copied from file zip.js 120 | function Crc32() { 121 | this.crc = -1; 122 | } 123 | Crc32.prototype.append = function append(data) { 124 | var crc = this.crc | 0, table = this.table; 125 | for (var offset = 0, len = data.length | 0; offset < len; offset++) 126 | crc = (crc >>> 8) ^ table[(crc ^ data[offset]) & 0xFF]; 127 | this.crc = crc; 128 | }; 129 | Crc32.prototype.get = function get() { 130 | return ~this.crc; 131 | }; 132 | Crc32.prototype.table = (function() { 133 | var i, j, t, table = []; // Uint32Array is actually slower than [] 134 | for (i = 0; i < 256; i++) { 135 | t = i; 136 | for (j = 0; j < 8; j++) 137 | if (t & 1) 138 | t = (t >>> 1) ^ 0xEDB88320; 139 | else 140 | t = t >>> 1; 141 | table[i] = t; 142 | } 143 | return table; 144 | })(); 145 | 146 | // "no-op" codec 147 | function NOOP() {} 148 | global.NOOP = NOOP; 149 | NOOP.prototype.append = function append(bytes, onprogress) { 150 | return bytes; 151 | }; 152 | NOOP.prototype.flush = function flush() {}; 153 | })(this); 154 | -------------------------------------------------------------------------------- /noload.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /opt_page.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | GetThemAll settings 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /options.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Flash video downloader settings 7 | 8 | 9 | 10 |
11 | 12 |
13 | 14 | 15 |
16 |
17 | 20 |
21 | 22 | Close 23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 | 37 |
38 |
39 | 46 |
47 |
48 | 55 |
56 |
57 | Scale addon 58 | 65 |
66 |
67 | 74 |
75 |
76 | 77 |
78 |
79 |
80 | 81 |
82 |
83 | 84 | 85 |
86 | 87 |
88 | 89 | 90 | 91 | 92 | -------------------------------------------------------------------------------- /screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lakr233/GetThemAll/b45532fc83a4fecc95b1850995ae7ea45383ab75/screenshot.png --------------------------------------------------------------------------------