Скрипт для rutor.is
Привет. Не очень мне было удобно пользоваться этим сайтом с торрентами, хотя очень нравится, что не надо регистрироваться, чтобы скачивать. И вот для расширения браузера Tampermonkey написал скрипт, который гуппирует раздачи по названию фильма, сортирует внутри групп по количеству раздающих и подсвечивает раздачи размером 1.3–2.5 Гб, т.е. те, что меня интересуют))
Собственно если кому интересно - то вот сам скрипт и скриншоты его работы:
// ==UserScript==
// @name Rutor — группировка + сортировка по сидерам + подсветка по размеру
// @namespace http://tampermonkey.net/
// @VERSION 1.3
// @Description Группирует раздачи по названию фильма, сортирует внутри групп по количеству раздающих и подсвечивает раздачи размером 1.5–2.5 Гб
// @GrAnt none
// ==/UserScript==
(function () {
'use strict';
const indexDiv = document.querySelector('#index');
if (!indexDiv) return;
const table = indexDiv.querySelector('table[width="100%"]');
if (!table) return;
// Все строки, кроме первой (шапка)
const rows = Array.from(table.querySelectorAll('tr')).slice(1);
const groups = {};
rows.forEach(row => {
const titleLink = row.querySelector('a[href^="/torrent/"]');
if (!titleLink) return;
let title = titleLink.textContent.trim();
// Берём только "Название (Год)"
const match = title.match(/^(.+?\(\d{4}\))/);
if (match) {
title = match[1];
}
if (!groups[title]) groups[title] = [];
groups[title].push(row);
});
// Очищаем таблицу
table.innerHTML = '';
// Перестраиваем содержимое
for (const [filmTitle, filmRows] of Object.entries(groups)) {
const headerRow = document.createElement('tr');
const headerCell = document.createElement('td');
headerCell.colSpan = 5;
headerCell.style.background = '#eee';
headerCell.style.padding = '5px';
headerCell.style.fontWeight = 'bold';
headerCell.textContent = `${filmTitle} (${filmRows.length})`;
headerRow.appendChild(headerCell);
table.appendChild(headerRow);
// Сортировка по сидерам (обычно колонка с индексом 4)
filmRows.sort((a, b) => {
const tdsA = a.querySelectorAll('td');
const tdsB = b.querySelectorAll('td');
const seedersA = parseInt(tdsA[4]?.textContent.trim()) || 0;
const seedersB = parseInt(tdsB[4]?.textContent.trim()) || 0;
return seedersB - seedersA;
});
filmRows.forEach(r => {
const tds = r.querySelectorAll('td');
// Обычно размер в колонке с индексом 1 или 2 — уточняем
const sizeText = [...tds].map(td => td.textContent.trim()).find(txt => /(?:\d+(?:[.,]\d+)?)\s*(?:GB|ГБ|Mb|МБ|KB|КБ)/i.test(txt));
if (sizeText) {
const match = sizeText.match(/([\d.,]+)\s*(GB|ГБ|MB|МБ|KB|КБ)/i);
if (match) {
let num = parseFloat(match[1].replace(',', '.'));
let unit = match[2].toUpperCase();
// Переводим в ГБ
if (unit.includes('MB') || unit.includes('МБ')) {
num = num / 1024;
} else if (unit.includes('KB') || unit.includes('КБ')) {
num = num / (1024 * 1024);
}
if (num >= 1.3 && num <= 2.5) {
r.style.backgroundColor = '#e6ffe6'; // нежно-зелёный
}
}
}
table.appendChild(r);
});
}
})();
Соответственно работает везде: в поиске, в любом разделе и даже в связанных раздачах
Поиск по торентам, телеграм бот
Всем привет, учу с# неспеша и в одно время, решил попробовать сделать бота. Вроде начало получаться, было время (на больничном) и решил сделать свой поисковик по торентам на основе jackett.
Почему начал делать своего? Так как в подобных ботах либо было много рекламы, или реализация не нравилась. И плюс хотел через этого бота что бы фильмы или сериал мог добавить себе в коллекцию на torrserver/lampa одной кнопкой. Удобно что бы пультом не щёлкать название при поиске или не заходить в мобильную версии Lampa для этого.
Ну и заодно практики чудок набраться 😁.
Функционал бота:
1)поиск торентов с выбором категории
2)сортировки выдачи торентов
3)топ трекера rutor по категориям
4)возможность добавления сразу на свой torrserver (пока вручную, ибо в основном это фича для знакомых мне, ибо придётся светить свой адрес логин и пароль torrserver ).
Делал примерно месяц, скорее всего кто то уже из бывалых за пару вечеров такое состряпает, но мне пока некуда спешить 😁.
Так же в курсе про человека или команду кто пилит подобного бота тут на пикабу , но как по мне у них уже полноценный сервис по поиску, мой таккс ботик можно скзатать. Но если кому зайдёт, отпиши фидбек так сказать.
Ибо в скором времени думаю вернуться к этому боту , из новых идей:
1)добавить больше категорий поиска
2)сделать привязку к qbittorent
3)перенести хранение данных в базу данных
Не показывал раньше думая что мой серв не потянет большой нагрузки, но сейчас прикинул есть подобный бот и с большим функционалом , так что много людей не зайдёт на него думаю 😁
Бот не коммерческий, о кстати аватарку на него в гугле нашёл, и такое ощущение что человек с пикабу рисовал, если будет против заменю или уберу её.
https://t.me/SearchTorrentsAllBot
Торрент трекер Rutor
Народ, такой вопрос, подскажите, кто в курсе.
А на текущий момент трекеры Rutor.org и Rutor.info/Rutor.is, это не один и тоже трекер?
Просто смотрю, они немного отличаться внешне стали, а по списку раздач вообще кардинально.
Rutor.org отличается от Rutor.info/Rutor.is. Последние два - один и тот же сайт на разных доменах, если я все правильно понимаю.
Каперство разрешили, а бухты нет
Решил я тут в кои то веки поиграть во что-нибудь. Как истинный пират вышел в море и начал искать пиратскую бухту. По старой памяти поплыл по координатам ("ру" "торг") в направлении (m" torrent"). 8 первых направлений оказалось забанены королевскими войсками. И только девятое было доступно. В связи с этим возникает вопрос. Зачем мы говорим о каперстве чуть ли не официально, но при этом душим пиратские бухты. Должна же быть в нашей ситуации хоть какая то радость? Может роскомнадзору пора перестать душить честных пиратов на службк государства?
Рутор стал платным?
или это только на одном зеркале, и нужно просто поискать другое?
адрес (картинкой, что бы не цензор не порезал)
UPD: у меня оказалось левое зеркало, оргинальный рутор находится по адресу rutor.info







