Скрипты для торрент трекеров

Страницы :   Пред.  1, 2, 3 ... 12, 13, 14
Ответить
 

(@_@-)

Стаж: 2 года 5 месяцев

Сообщений: 183

(@_@-) · 20-Авг-24 23:56 (7 месяцев назад)

EL-34 писал(а):
86608942(@_@-)
Никак.
Правда?
Темные темы делают, а светлые нет?
[Профиль]  [ЛС] 

EL-34

Top Bonus 10* 1PB

Стаж: 17 лет 3 месяца

Сообщений: 8313

EL-34 · 21-Авг-24 07:55 (спустя 7 часов, ред. 21-Авг-24 07:55)

(@_@-)
Это вам не в форумные игры играть.
На многих сайтах эта возможность встроена, как например в одноклассниках и вконтакте.
Светлая, тёмная, как в системе.
[Профиль]  [ЛС] 

(@_@-)

Стаж: 2 года 5 месяцев

Сообщений: 183

(@_@-) · 21-Авг-24 11:50 (спустя 3 часа)

EL-34
Где встроено, я в курсе.
На рутрекере нет тем, но можно сторонними расширениями сделать темную тему.
[Профиль]  [ЛС] 

EL-34

Top Bonus 10* 1PB

Стаж: 17 лет 3 месяца

Сообщений: 8313

EL-34 · 21-Авг-24 11:52 (спустя 2 мин.)

(@_@-) писал(а):
86612008можно сторонними расширениями сделать темную тему.
И даже без расширений можно, например в Опере.
[Профиль]  [ЛС] 

(@_@-)

Стаж: 2 года 5 месяцев

Сообщений: 183

(@_@-) · 21-Авг-24 12:00 (спустя 7 мин.)

EL-34
Вот, уже не никак, а можно
А светлую тему опера не делает?
[Профиль]  [ЛС] 

raddyst

Стаж: 11 лет 3 месяца

Сообщений: 500


raddyst · 21-Авг-24 12:11 (спустя 10 мин.)

(@_@-) писал(а):
86612042А светлую тему опера не делает?
Попробуйте букмарклеты: Light Mode Bookmarlet и Dark Mode - Javascript Bookmarklet
[Профиль]  [ЛС] 

(@_@-)

Стаж: 2 года 5 месяцев

Сообщений: 183

(@_@-) · 21-Авг-24 12:18 (спустя 7 мин.)

raddyst
О! Спасибо, попробую.
[Профиль]  [ЛС] 

RewTeyi

Стаж: 2 года 10 месяцев

Сообщений: 359

RewTeyi · 14-Фев-25 00:40 (спустя 5 месяцев 23 дня)

Цитата:
IMDb Scout
Может знает кто, есть ли подобный скрипт для TMDB?
[Профиль]  [ЛС] 

raddyst

Стаж: 11 лет 3 месяца

Сообщений: 500


raddyst · 14-Фев-25 02:37 (спустя 1 час 56 мин.)

RewTeyi писал(а):
87394356Может знает кто, есть ли подобный скрипт для TMDB?
Локализованных не встречал, разве что torrent-quick-search и исключительно для passthepopcorn
[Профиль]  [ЛС] 

oi

Стаж: 17 лет

Сообщений: 559

oi · 24-Фев-25 00:56 (спустя 9 дней, ред. 24-Фев-25 00:56)

TeamHD One Click Torrent Downloader
Добавляет кнопку "Download All" на сайт teamhd.org для массовой загрузки .torrent файлов со страницы поиска.
Обычное нажатие загружает только .torrent файлы, с которыми нет активного взаимодействия (раздача/загрузка).
Долгое нажатие (3 секунды) включает режим "Force Download All", позволяя скачать все .torrent файлы, включая те, что в активной закачке/раздаче.
Кнопка отображает количество доступных файлов и показывает прогресс загрузки.
Есть возможность поставить на паузу и возобновить загрузку при повторном нажатии на кнопку.
Загрузка происходит раз в секунду чтобы не напрягать сервер большими выгрузками.
гифка
скриптец
Код:
// ==UserScript==
// @name         TeamHD One Click Torrent Downloader
// @namespace    http://tampermonkey.net/
// @version      0.1.020
// @description  Adds a Download All button to download all .torrent links on teamhd.org with progress indication, pre-download count, pause/resume with status, and long press functionality
// @author       oi
// @match        https://teamhd.org/browse*
// @grant        GM_download
// ==/UserScript==
(function() {
    'use strict';
    let downloadAllButton;
    let longPressTimer;
    let textChangeTimer;
    const longPressDuration = 3000; // 3 seconds
    const textChangeDelay = 500; // 0.5 seconds
    let isPaused = false;
    let isDownloading = false;
    let currentDownloadIndex = 0;
    let currentTorrents = [];
    // Function to download a file using simulated click
    function downloadFile(url, filename) {
        const link = document.createElement('a');
        link.href = url;
        link.download = filename;
        link.style.display = 'none';
        document.body.appendChild(link);
        link.click();
        document.body.removeChild(link);
        console.log(`Simulated click for: ${filename}`);
    }
    // Function to gather all .torrent links with interaction check
    function getAllTorrentLinks(includeInteracted = false) {
        const links = document.querySelectorAll('a[href*="download.php?id="]');
        return Array.from(links).map(link => {
            const parentTd = link.closest('td');
            const isInteracted = parentTd.querySelector('.badgget.seeder, .badgget.leecher') !== null;
            return {
                url: link.href.startsWith('http') ? link.href : window.location.origin + '/' + link.getAttribute('href'),
                filename: decodeURIComponent((link.href.split('name=')[1] || 'file.torrent').split('&')[0]),
                interacted: isInteracted
            };
        }).filter(torrent => includeInteracted || !torrent.interacted);
    }
    // Function to update button progress with red progress bar
    function updateButtonProgress(downloaded, total) {
        const percent = Math.round((downloaded / total) * 100);
        downloadAllButton.textContent = `${isPaused ? 'Paused' : 'Downloading'} ${downloaded}/${total} (${percent}%)`;
        downloadAllButton.style.background = `linear-gradient(to right, red ${percent}%, #28a745 ${percent}%)`;
    }
    // Function to display initial count of torrents
    function displayInitialCount() {
        const allTorrents = getAllTorrentLinks(true);
        const nonInteractedTorrents = getAllTorrentLinks(false);
        downloadAllButton.textContent = `Download All (${nonInteractedTorrents.length}/${allTorrents.length})`;
    }
    // Function to download torrents with delay and pause/resume functionality
    async function downloadAllTorrents(event, includeInteracted = false) {
        if (event) {
            event.preventDefault();
            event.stopPropagation();
        }
        if (isDownloading) {
            isPaused = !isPaused;
            updateButtonProgress(currentDownloadIndex, currentTorrents.length);
            return;
        }
        currentTorrents = getAllTorrentLinks(includeInteracted);
        if (currentTorrents.length === 0) {
            console.log('No torrents found to download.');
            downloadAllButton.textContent = 'No Torrents Found';
            downloadAllButton.style.backgroundColor = 'gray';
            setTimeout(() => displayInitialCount(), 2000);
            return false;
        }
        isDownloading = true;
        isPaused = false;
        currentDownloadIndex = 0;
        // Adding a 0.5 second delay before showing progress for force download
        if (includeInteracted) {
            await new Promise(resolve => setTimeout(resolve, 500));
        }
        while (currentDownloadIndex < currentTorrents.length) {
            if (isPaused) {
                await new Promise(resolve => setTimeout(resolve, 500));
                continue;
            }
            const torrent = currentTorrents[currentDownloadIndex];
            console.log(`Downloading: ${torrent.filename}`);
            downloadFile(torrent.url, torrent.filename);
            updateButtonProgress(currentDownloadIndex + 1, currentTorrents.length);
            currentDownloadIndex++;
            await new Promise(resolve => setTimeout(resolve, 1000));
        }
        isDownloading = false;
        downloadAllButton.textContent = 'This Page is Done';
        downloadAllButton.style.backgroundColor = 'red';
        return false;
    }
    // Add Download All button with long press functionality
    function addDownloadAllButton() {
        const searchButton = document.querySelector('input[type="submit"][value="Поиск!"]');
        if (searchButton) {
            downloadAllButton = document.createElement('button');
            downloadAllButton.textContent = 'Download All';
            downloadAllButton.style.marginLeft = '10px';
            downloadAllButton.classList.add('btn', 'btn-success');
            let longPressActivated = false;
            // Short press - download non-interacted torrents or pause/resume
            downloadAllButton.addEventListener('click', (e) => {
                e.preventDefault();
                e.stopPropagation();
                if (!longPressActivated) downloadAllTorrents(e, false);
                return false;
            });
            // Long press handling
            downloadAllButton.addEventListener('mousedown', (e) => {
                e.preventDefault();
                e.stopPropagation();
                let progress = 0;
                longPressActivated = false;
                // Delay text change by 0.5s
                textChangeTimer = setTimeout(() => {
                    downloadAllButton.textContent = 'Force Download All';
                    downloadAllButton.style.background = 'linear-gradient(to right, #FFD700 0%, #28a745 0%)';
                    downloadAllButton.style.color = 'black';
                }, textChangeDelay);
                longPressTimer = setInterval(() => {
                    progress += 100 / (longPressDuration / 100);
                    downloadAllButton.style.background = `linear-gradient(to right, #FFD700 ${progress}%, #28a745 ${progress}%)`;
                    if (progress >= 100) {
                        clearInterval(longPressTimer);
                        clearTimeout(textChangeTimer);
                        longPressTimer = null;
                        textChangeTimer = null;
                        longPressActivated = true;
                        downloadAllTorrents(new Event('click'), true);
                    }
                }, 100);
            });
            downloadAllButton.addEventListener('mouseup', (e) => {
                e.preventDefault();
                e.stopPropagation();
                if (longPressTimer) {
                    clearInterval(longPressTimer);
                    longPressTimer = null;
                }
                if (textChangeTimer) {
                    clearTimeout(textChangeTimer);
                    textChangeTimer = null;
                }
                // Only reset button if not downloading or paused
                if (!isDownloading && !isPaused) {
                    displayInitialCount();
                    downloadAllButton.style.background = '';
                    downloadAllButton.style.color = '';
                }
            });
            downloadAllButton.addEventListener('mouseleave', (e) => {
                e.preventDefault();
                e.stopPropagation();
                if (longPressTimer) {
                    clearInterval(longPressTimer);
                    longPressTimer = null;
                }
                if (textChangeTimer) {
                    clearTimeout(textChangeTimer);
                    textChangeTimer = null;
                }
                // Prevent reset on hover if paused or downloading
                if (!isDownloading && !isPaused) {
                    displayInitialCount();
                    downloadAllButton.style.background = '';
                    downloadAllButton.style.color = '';
                }
            });
            searchButton.parentNode.insertBefore(downloadAllButton, searchButton.nextSibling);
            displayInitialCount();
        } else {
            console.error('Download All button could not be added. Search button not found.');
        }
    }
    // Initialize script
    window.addEventListener('load', () => {
        addDownloadAllButton();
        console.log('TeamHD Torrent Downloader script initialized.');
    });
})();
[Профиль]  [ЛС] 

БэстЛайв

Стаж: 14 лет 10 месяцев

Сообщений: 911

БэстЛайв · 25-Фев-25 15:52 (спустя 1 день 14 часов, ред. 25-Фев-25 15:52)

oi писал(а):
87440502TeamHD One Click Torrent Downloader
Добавляет кнопку "Download All" на сайт teamhd.org для массовой загрузки .torrent файлов со страницы поиска.
Обычное нажатие загружает только .torrent файлы, с которыми нет активного взаимодействия (раздача/загрузка).
Долгое нажатие (3 секунды) включает режим "Force Download All", позволяя скачать все .torrent файлы, включая те, что в активной закачке/раздаче.
Кнопка отображает количество доступных файлов и показывает прогресс загрузки.
Есть возможность поставить на паузу и возобновить загрузку при повторном нажатии на кнопку.
Загрузка происходит раз в секунду чтобы не напрягать сервер большими выгрузками.
гифка
Правила TeamHD
Цитата:
3.6 Запрещено "коллекционирование" торрент-файлов, т.е. скачивание торрент-файлов "про запас" без фактической загрузки раздачи. Используйте систему закладок. Несоблюдение - предупреждение на 2 недели, в особых случаях - бан.
Хороший скрипт, скачал все торренты и в бан
[Профиль]  [ЛС] 

oi

Стаж: 17 лет

Сообщений: 559

oi · 25-Фев-25 20:53 (спустя 5 часов)

БэстЛайв писал(а):
Хороший скрипт, скачал все торренты и в бан
Для этого скрипт не нужен, на странице поиска ссылки на торрент файлы и так доступны. Есть 100500 екстеншенов которые их смогут выкачать и так.
[Профиль]  [ЛС] 

Кантор-Эль драко

Top Loader 05* 2TB

Стаж: 15 лет 4 месяца

Сообщений: 1795

Кантор-Эль драко · 25-Фев-25 21:33 (спустя 40 мин.)

Цитата:
скачал все торренты
И выложил в паблик.
[Профиль]  [ЛС] 
 
Ответить
Loading...
Error