Неофициальная база раздач RuTracker.org v. 20260829 (29 августа 2026 год)
================================================== ==============================
📚 ПРОСТОЕ ОПИСАНИЕ: НЕОФИЦИАЛЬНАЯ БАЗА РАЗДАЧ RUTRACKER.ORG (XML-ДАМП)
Версия: Актуальная (обычно обновляется в последние выходные месяца)
================================================== ==============================
📌 ЧТО ЭТО ТАКОЕ?
Это полная офлайн-копия (дамп) каталога всех раздач RuTracker.
Представьте, что это гигантский текстовый файл, в котором записаны названия
всех торрентов, их 40-символьные хеш-суммы (InfoHash для magnet-ссылок),
списки файлов и описания.
📌 ЗАЧЕМ ЭТО НУЖНО ОБЫЧНОМУ ПОЛЬЗОВАТЕЛЮ?
1. Обход ограничений сайта: RuTracker показывает только ~10 страниц раздач (10 по 50) одного автора.
Эта база покажет ВСЕ его раздачи за все годы без ограничений.
2. Работа при блокировках: Если сайт недоступен, база и magnet-ссылки лежат у вас.
3. Локальный поиск: Поиск по вашему диску работает быстро (секунды на SSD,
но может занять 1–3 минуты на механическом HDD, так как идет полное
последовательное сканирование файла без предварительной индексации).
📌 ГДЕ СКАЧАТЬ?
Автор раздачи выкладывает актуальные версии в двух местах:
• Яндекс Диск: файл часто нарезается на части (для удобства и стабильности
загрузки, а также из-за исторических привычек автора).
• MEGA: цельный архив (в некоторых случаях при скачивании из РФ может
потребоваться VPN, это зависит от конкретного интернет-провайдера).
*Прямые ссылки находятся в оригинальной теме раздачи на форуме RuTracker.*
📌 ЧЕМ ОТКРЫТЬ И ИСКАТЬ (Программы)
⚠️ ВАЖНО: Не пытайтесь открыть огромный XML-файл в "Блокноте" — компьютер зависнет.
Используйте специализированные инструменты:
🥈 САМЫЙ ПРОСТОЙ ПУТЬ (готовые форматы):
• Пользователь форума y3401 регулярно выкладывает уже преобразованные базы
(например, в формат SQLite), которые не требуют долгой первичной конвертации.
Ищите "y3401 rutracker database" в поиске по форуму.
🥉 ДЛЯ ПРОДВИНУТЫХ (Командная строка / Скрипты):
• Bash-скрипт с gawk – ищет напрямую по сырому XML без установки программ
и конвертации (идеально для Linux или Windows через WSL).
• Конвертеры XML в SQLite (от Saiv46 на Node.js или 1dNDN на C#) – для создания
собственной быстрой базы данных.
📌 КАК ЭТО РАБОТАЕТ (Реальная структура данных)
Внутри файла каждая раздача описана понятными тегами. Самое важное для нас:
<torrent id="1234567" registred_at="..." unixts="..." size="...">
<title>Название фильма или игры</title>
<torrent hash="40-СИМВОЛЬНЫЙ_HEX_ХЕШ" tracker_id="..."/>
<forum id="...">Название раздела</forum>
<!-- опционально: -->
<!-- <del/> (означает, что раздача удалена с сайта) -->
<!-- <old hash="..." ...>...</old> (информация о предыдущих версиях) -->
</torrent>
Именно 40-символьная строка из атрибута hash="..." подставляется в шаблон
magnet:?xt=urn:btih:ХЕШ для скачивания через торрент-клиент.
================================================== ==============================
💡 ИТОГОВЫЙ СОВЕТ:
Если вы не хотите разбираться с конвертацией гигантских файлов, начните с поиска
готовой конвертированной базы (например, от пользователя "y3401") на форуме,
либо используйте простой bash-скрипт с gawk (если вы пользуетесь Linux или WSL).
================================================== ==============================
📌 ИНСТРУКЦИЯ ДЛЯ WINDOWS (через WSL):
1. Убедитесь, что WSL включен (в PowerShell от админа: wsl --install, перезагрузка).
2. Откройте терминал Ubuntu (или другой дистрибутив) из меню Пуск.
3. Перейдите в папку Windows, где лежат скрипт и база (диски Windows смонтированы в /mnt/):
cd /mnt/c/Users/ВашеИмя/Desktop/
4. Создайте файл search.bash и вставьте в него код скрипта (см. ниже).
5. Укажите реальный путь в переменной path_to_rutracker_xml, например:
path_to_rutracker_xml="/mnt/c/Users/ВашеИмя/Desktop/rutracker.xml"
6. Дайте права на исполнение: chmod +x search.bash
7. Запускайте поиск: ./search.bash "слово1 слово2"
Для простого поиска по ключевым словам, так чтобы возвращало и название раздачи и её хеш который можно засунуть в торрент-клиент, за глаза хватит простого скрипта:
Код:
#!/bin/bash
# 1. Проверка наличия аргумента
if [ -z "$1" ]; then
echo "❌ Ошибка: Не указан поисковый запрос."
echo "💡 Использование: $0 \"ключевые слова для поиска\""
echo " Пример: $0 \"matrix 1999\""
exit 1
fi
search_query="$1"
# 2. ПУТЬ К ФАЙЛУ (Явные примеры для разных ОС)
# Для Windows (WSL): /mnt/c/Users/ВашеИмя/Downloads/rutracker.xml
# Для Linux: /home/ВашеИмя/Downloads/rutracker.xml
# Для macOS: /Users/ВашеИмя/Downloads/rutracker.xml
path_to_rutracker_xml="/mnt/c/Users/ВашеИмя/Downloads/rutracker.xml"
if [ ! -f "$path_to_rutracker_xml" ]; then
echo "❌ Ошибка: Файл '$path_to_rutracker_xml' не найден."
echo " Откройте скрипт в текстовом редакторе и укажите реальный путь к XML."
exit 1
fi
echo "🔍 Ищем в базе: \"$search_query\" ..."
echo "================================================================"
# 3. Поиск с помощью GNU Awk (gawk)
# RS="</torrent>" надежно выделяет весь блок раздачи целиком,
# избегая проблем с вложенным тегом <torrent hash="..."/>
gawk -v IGNORECASE=1 -v RS="</torrent>" -v query="$search_query" '
BEGIN {
# Разбиваем поисковый запрос на отдельные слова для логики "И" (AND)
n = split(query, words, " ")
}
# Пропускаем пустые блоки или XML-заголовок до первого <torrent>
$0 !~ /<torrent/ { next }
{
# Проверяем, что ВСЕ слова из запроса присутствуют в текущем блоке раздачи
found = 1
for (i = 1; i <= n; i++) {
if ($0 !~ words[i]) {
found = 0
break
}
}
# Если все слова найдены, извлекаем данные
if (found) {
# Извлекаем Title: ищем <title>текст</title>
title = ""
if (match($0, /<title>[^<]+<\/title>/)) {
# RSTART+7 пропускает "<title>", RLENGTH-15 убирает "<title>" и "</title>" (7+8=15)
title = substr($0, RSTART + 7, RLENGTH - 15)
}
# Извлекаем Hash: используем capture group gawk для точного извлечения из атрибута
hash = ""
if (match($0, /hash="([A-Fa-f0-9]{40})"/, arr)) {
hash = arr[1]
}
# Выводим красивый результат, только если нашли и название, и хеш
if (title != "" && hash != "") {
print "📁 Название: " title
print "🔑 Хеш: " hash
print "🧲 Magnet: magnet:?xt=urn:btih:" hash
print "----------------------------------------------------------------"
}
}
}' "$path_to_rutracker_xml"
Скорость: awk с разделителем записей RS="</torrent>" не загружает весь файл в оперативную память как одну строку, а читает его блоками (по одной раздаче). Даже на файле размером 10–20 ГБ поиск обычно отрабатывает за несколько секунд на SSD (на HDD может занять 1–3 минуты).
Отсутствие зависимостей: Нужен только базовый bash и gawk (GNU Awk), которые есть в любом Linux и WSL "из коробки". Никаких npm install, pip install или docker-compose up.
Готовый результат: Скрипт сразу выдает строку magnet:?xt=urn:btih:ХЕШ. Её можно просто выделить мышкой, скопировать и вставить в qBittorrent, uTorrent или Transmission, и закачка начнется мгновенно, даже если сайт RuTracker недоступен.
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 5 сообщение(ий)):
У вас нет прав чтобы видеть скрытый текст, содержащейся здесь.
Скрытый текст (вы должны зарегистрироваться или войти под своим логином):
У вас нет прав чтобы видеть скрытый текст, содержащейся здесь.
__________________ О нас думают плохо лишь те, кто хуже нас. А те, кто лучше нас, им просто не до нас. --Омар Хайям
Обновления по запросу — на Я.Ди. «Мэйл-облако» для тех, кто помогает нашему интернет-проекту, и для тех, кто хотел бы это делать, но пока не знает, как.
Помогая форуму ВТО, вы прежде всего помогаете себе! А не делаете что-то абстрактное для «других», совершенно незнакомых и безразличных вам людей.
#!/bin/bash
# 1. Проверка наличия аргумента
if [ -z "$1" ]; then
echo "❌ Ошибка: Не указан поисковый запрос."
echo "💡 Использование: $0 \"ключевые слова для поиска\""
echo " Пример: $0 \"matrix 1999\""
exit 1
fi
search_query="$1"
# 2. ПУТЬ К ФАЙЛУ (Явные примеры для разных ОС)
# Для Windows (WSL): /mnt/c/Users/ВашеИмя/Downloads/rutracker.xml
# Для Linux: /home/ВашеИмя/Downloads/rutracker.xml
# Для macOS: /Users/ВашеИмя/Downloads/rutracker.xml
path_to_rutracker_xml="/mnt/c/Users/ВашеИмя/Downloads/rutracker.xml"
if [ ! -f "$path_to_rutracker_xml" ]; then
echo "❌ Ошибка: Файл '$path_to_rutracker_xml' не найден."
echo " Откройте скрипт в текстовом редакторе и укажите реальный путь к XML."
exit 1
fi
echo "🔍 Ищем в базе: \"$search_query\" ..."
echo "================================================================"
# 3. Поиск с помощью GNU Awk (gawk)
# RS="</torrent>" надежно выделяет весь блок раздачи целиком,
# избегая проблем с вложенным тегом <torrent hash="..."/>
gawk -v IGNORECASE=1 -v RS="</torrent>" -v query="$search_query" '
BEGIN {
# Разбиваем поисковый запрос на отдельные слова для логики "И" (AND)
n = split(query, words, " ")
}
# Пропускаем пустые блоки или XML-заголовок до первого <torrent>
$0 !~ /<torrent/ { next }
{
# Проверяем, что ВСЕ слова из запроса присутствуют в текущем блоке раздачи
found = 1
for (i = 1; i <= n; i++) {
if ($0 !~ words[i]) {
found = 0
break
}
}
# Если все слова найдены, извлекаем данные
if (found) {
# Извлекаем Title: ищем <title>текст</title>
title = ""
if (match($0, /<title>[^<]+<\/title>/)) {
# RSTART+7 пропускает "<title>", RLENGTH-15 убирает "<title>" и "</title>" (7+8=15)
title = substr($0, RSTART + 7, RLENGTH - 15)
}
# Извлекаем Hash: используем capture group gawk для точного извлечения из атрибута
hash = ""
if (match($0, /hash="([A-Fa-f0-9]{40})"/, arr)) {
hash = arr[1]
}
# Выводим красивый результат, только если нашли и название, и хеш
if (title != "" && hash != "") {
print "📁 Название: " title
print "🔑 Хеш: " hash
print "🧲 Magnet: magnet:?xt=urn:btih:" hash
print "----------------------------------------------------------------"
}
}
}' "$path_to_rutracker_xml"
Если у тебя WSL - этот скрипт можно запускать.
Если у тебя обычная Windows без WSL он не заработает
Вот нормальный рабочий скрипт специально для WSL (и Linux).Он правильно извлекает:
Название раздачи
Хеш
Готовую magnet-ссылку
Код:
#!/bin/bash
# Проверка аргумента
if [ -z "$1" ]; then
echo "❌ Ошибка: Не указан поисковый запрос"
echo "💡 Использование: $0 \"ключевые слова\""
echo " Пример: $0 \"matrix 1999\""
exit 1
fi
search_query="$1"
# ====================== НАСТРОЙКА ======================
# Укажи сюда путь к своему XML-файлу (пример для WSL)
path_to_rutracker_xml="/mnt/c/Users/ВашеИмя/Downloads/rutracker.xml"
# =======================================================
if [ ! -f "$path_to_rutracker_xml" ]; then
echo "❌ Файл не найден: $path_to_rutracker_xml"
echo "Открой скрипт и укажи правильный путь."
exit 1
fi
echo "🔍 Ищем: \"$search_query\""
echo "================================================================"
gawk -v IGNORECASE=1 -v RS="</torrent>" -v query="$search_query" '
BEGIN {
n = split(query, words, " ")
}
$0 !~ /<torrent/ { next }
{
found = 1
for (i = 1; i <= n; i++) {
if ($0 !~ words[i]) {
found = 0
break
}
}
if (found) {
title = ""
if (match($0, /<title>[^<]+<\/title>/)) {
title = substr($0, RSTART + 7, RLENGTH - 15)
}
hash = ""
if (match($0, /hash="([A-Fa-f0-9]{40})"/, arr)) {
hash = arr[1]
}
if (title != "" && hash != "") {
print "📁 Название: " title
print "🔑 Хеш: " hash
print "🧲 Magnet: magnet:?xt=urn:btih:" hash
print "----------------------------------------------------------------"
}
}
}' "$path_to_rutracker_xml"
Как пользоваться в WSL:
1 Создай файл:
bash
nano search.bash
2 Вставь код выше.
3 Исправь путь к XML-файлу.
4 Сохрани (Ctrl+O → Enter → Ctrl+X).
5 Дай права:
bash
chmod +x search.bash
6 Запускай:
bash
./search.bash "matrix 1999"
__________________ О нас думают плохо лишь те, кто хуже нас. А те, кто лучше нас, им просто не до нас. --Омар Хайям
Обновления по запросу — на Я.Ди. «Мэйл-облако» для тех, кто помогает нашему интернет-проекту, и для тех, кто хотел бы это делать, но пока не знает, как.
Помогая форуму ВТО, вы прежде всего помогаете себе! А не делаете что-то абстрактное для «других», совершенно незнакомых и безразличных вам людей.
__________________ О нас думают плохо лишь те, кто хуже нас. А те, кто лучше нас, им просто не до нас. --Омар Хайям
Обновления по запросу — на Я.Ди. «Мэйл-облако» для тех, кто помогает нашему интернет-проекту, и для тех, кто хотел бы это делать, но пока не знает, как.
Помогая форуму ВТО, вы прежде всего помогаете себе! А не делаете что-то абстрактное для «других», совершенно незнакомых и безразличных вам людей.
У многих же недоступно или временно недоступно,... а дальше известно и вполне понятно, что будет.
Поэтому это актуальное и настольное для всех.
Я её не копирую и не телескопирую на форум в виде раздач из этических соображений... и не более. Когда полностью заглохнет, раздавать будет просто некому, будь база хоть на Github хоть тут на VTO или же просто пылится на меге или на я-ди (без разницы)... и постепенно уйдет в небытие как артефакт 00-10-20-хх годов.
__________________ О нас думают плохо лишь те, кто хуже нас. А те, кто лучше нас, им просто не до нас. --Омар Хайям
Обновления по запросу — на Я.Ди. «Мэйл-облако» для тех, кто помогает нашему интернет-проекту, и для тех, кто хотел бы это делать, но пока не знает, как.
Помогая форуму ВТО, вы прежде всего помогаете себе! А не делаете что-то абстрактное для «других», совершенно незнакомых и безразличных вам людей.
Через 5–10 лет после смерти основного трекера такие дампы превратятся в настоящий огромный цифровой артефакт эпохи 2000–2020-х. Даже когда сами дампы станут редкостью и почти перестанут раздаваться, из тех копий, которые останутся у людей на дисках, всё равно можно будет выковыривать ценное
__________________ О нас думают плохо лишь те, кто хуже нас. А те, кто лучше нас, им просто не до нас. --Омар Хайям
Обновления по запросу — на Я.Ди. «Мэйл-облако» для тех, кто помогает нашему интернет-проекту, и для тех, кто хотел бы это делать, но пока не знает, как.
Помогая форуму ВТО, вы прежде всего помогаете себе! А не делаете что-то абстрактное для «других», совершенно незнакомых и безразличных вам людей.
Пока файл физически существует хоть у кого-то - его можно парсить скриптами (тем же awk, Python, InfoTor и т.д.) и доставать нужное. Особенно это актуально для редкого, старого или потерянного контента - оцифровок с аналоговых носителей.
__________________ О нас думают плохо лишь те, кто хуже нас. А те, кто лучше нас, им просто не до нас. --Омар Хайям
Обновления по запросу — на Я.Ди. «Мэйл-облако» для тех, кто помогает нашему интернет-проекту, и для тех, кто хотел бы это делать, но пока не знает, как.
Помогая форуму ВТО, вы прежде всего помогаете себе! А не делаете что-то абстрактное для «других», совершенно незнакомых и безразличных вам людей.
1. Самый простой - InfoTor. Скачай InfoTor 2 (от y3401)
Запусти программу.
Укажи путь к XML-файлу (или к уже сконвертированной базе SQLite).
Программа сама сконвертирует дамп в быстрый формат и даст удобный поиск с графическим интерфейсом.
Это самый лёгкий вариант - ничего кодировать не нужно.
2. Bash + gawk (для Linux / WSL)
Скрипт, который мы уже делали выше (ищет по словам и выдаёт название + хеш + magnet)
3. Python (самый гибкий вариант)
Код:
python
#!/usr/bin/env python3
"""
Надёжный парсер XML-дампа RuTracker
Итеративный разбор, не грузит весь файл в память
"""
import xml.etree.ElementTree as ET
from pathlib import Path
import sys
def search_rutracker(xml_path: str, query: str):
words = [w.lower() for w in query.split() if w]
if not words:
print("❌ Пустой запрос")
return
# Итеративный парсинг
context = ET.iterparse(xml_path, events=("end",))
for event, elem in context:
if elem.tag != "torrent":
continue
# Поиск по всему тексту элемента (title, description и т.п.)
block_text = ET.tostring(elem, encoding="unicode", method="text").lower()
if not all(word in block_text for word in words):
elem.clear()
continue
# Извлекаем title
title_elem = elem.find("title")
title = title_elem.text.strip() if title_elem is not None and title_elem.text else None
# Хеш лежит прямо в атрибутах самого <torrent>
hash_value = elem.attrib.get("hash")
if title and hash_value and len(hash_value) == 40:
print(f"📁 Название: {title}")
print(f"🔑 Хеш: {hash_value}")
print(f"🧲 Magnet: magnet:?xt=urn:btih:{hash_value}")
print("-" * 70)
elem.clear() # освобождаем память
if __name__ == "__main__":
if len(sys.argv) < 3:
print("Использование:")
print(" python search_rutracker.py <путь_к_xml> \"ключевые слова\"")
print("Пример:")
print(' python search_rutracker.py rutracker.xml "matrix 1999"')
sys.exit(1)
xml_file = sys.argv[1]
search_query = sys.argv[2]
if not Path(xml_file).exists():
print(f"❌ Файл не найден: {xml_file}")
sys.exit(1)
print(f"🔍 Ищем: \"{search_query}\"")
print("=" * 70)
search_rutracker(xml_file, search_query)
Можно доработать: сохранять результаты в CSV, искать только по определённым форумам, извлекать список файлов и т.д.
4. Другие готовые инструменты trusearch - очень мощный CLI-инструмент специально для этих дампов. Он есть на гитхабе.
Конвертеры в SQLite (от y3401, Saiv46 и др.) - после конвертации можно делать быстрые SQL-запросы.
__________________ О нас думают плохо лишь те, кто хуже нас. А те, кто лучше нас, им просто не до нас. --Омар Хайям
Обновления по запросу — на Я.Ди. «Мэйл-облако» для тех, кто помогает нашему интернет-проекту, и для тех, кто хотел бы это делать, но пока не знает, как.
Помогая форуму ВТО, вы прежде всего помогаете себе! А не делаете что-то абстрактное для «других», совершенно незнакомых и безразличных вам людей.
re.split(r"</torrent>", content) может работать неидеально, если в дампе есть вложенные теги или переносы строк внутри блока-в больших XML бывают сюрпризы. Для надёжности лучше использовать XML‑парсер (например, xml.etree.ElementTree или lxml) вместо регулярных выражений.
В строке hash="([A-Fa-f0-9]{40})" шаблон верный для BTIH‑хеша, но если в XML хеш хранится без кавычек или в другом атрибуте, поиск не сработает.
Для больших файлов (сотни мегабайт и больше) чтение всего файла в память через f.read() может быть не самым эффективным-лучше потоковая обработка.
__________________ О нас думают плохо лишь те, кто хуже нас. А те, кто лучше нас, им просто не до нас. --Омар Хайям
Обновления по запросу — на Я.Ди. «Мэйл-облако» для тех, кто помогает нашему интернет-проекту, и для тех, кто хотел бы это делать, но пока не знает, как.
Помогая форуму ВТО, вы прежде всего помогаете себе! А не делаете что-то абстрактное для «других», совершенно незнакомых и безразличных вам людей.
Искать только по названию, а не по всему тексту: тогда вместо ET.tostring(...).lower() - = title и проверяй слова только в нём-будет быстрее и точнее.
Вывод в CSV: можно накапливать результаты и в конце записать в файл, чтобы не терять вывод при большом числе совпадений.
Учёт регистра и спецсимволов: если нужны более сложные правила поиска, можно добавить нормализацию (удалять лишние пробелы, заменять тире/минус и т.д.).
__________________ О нас думают плохо лишь те, кто хуже нас. А те, кто лучше нас, им просто не до нас. --Омар Хайям
Обновления по запросу — на Я.Ди. «Мэйл-облако» для тех, кто помогает нашему интернет-проекту, и для тех, кто хотел бы это делать, но пока не знает, как.
Помогая форуму ВТО, вы прежде всего помогаете себе! А не делаете что-то абстрактное для «других», совершенно незнакомых и безразличных вам людей.
Неофициальная база тем и раздач RuTracker.ORG v. 20220516 (16 мая 2022 год)
__________________ О нас думают плохо лишь те, кто хуже нас. А те, кто лучше нас, им просто не до нас. --Омар Хайям
Обновления по запросу — на Я.Ди. «Мэйл-облако» для тех, кто помогает нашему интернет-проекту, и для тех, кто хотел бы это делать, но пока не знает, как.
Помогая форуму ВТО, вы прежде всего помогаете себе! А не делаете что-то абстрактное для «других», совершенно незнакомых и безразличных вам людей.