|
(@_@-)
 Стаж: 2 года 5 месяцев Сообщений: 183
|
(@_@-) ·
20-Авг-24 23:56
(7 месяцев назад)
EL-34 писал(а):
86608942(@_@-)
Никак.
Правда?
Темные темы делают, а светлые нет?
|
|
EL-34
  Стаж: 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
  Стаж: 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 дня)
Может знает кто, есть ли подобный скрипт для 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 екстеншенов которые их смогут выкачать и так.
|
|
Кантор-Эль драко
  Стаж: 15 лет 4 месяца Сообщений: 1795
|
Кантор-Эль драко ·
25-Фев-25 21:33
(спустя 40 мин.)
Цитата:
скачал все торренты
И выложил в паблик.
|
|
|