11 KiB
11 KiB
🎬 searchTorrentDownl - Полная сводка проекта
✅ Статус: ЗАВЕРШЕН И РАБОТАЕТ
Дата завершения: 9 октября 2025
Версия: 1.0
Статус: 🟢 ПОЛНОСТЬЮ ФУНКЦИОНАЛЕН
🎯 Что было реализовано
1. Telegram Bot 🤖
- Полная функциональность веб-интерфейса в Telegram
- Команды:
/start,/help,/find - Интерактивные кнопки для выбора фильмов и торрентов
- Поиск фильмов через TMDB API с постерами
- Поиск торрентов на всех трекерах
- Автоматическое добавление в qBittorrent
- Обработка ошибок и пользовательских состояний
2. Веб-интерфейс 🌐
- Адаптивный дизайн для всех устройств
- Поиск фильмов с постерами и описаниями
- Поиск торрентов с детальной информацией
- Однокликовое добавление в qBittorrent
3. API Endpoints 🔌
GET /api/search/{movie_title}- поиск фильмовGET /api/torrents/{movie_title}- поиск торрентовGET /api/torrent/id/{torrent_id}- информация о торрентеPOST /api/add-torrent- добавление торрента
4. Docker контейнеризация 🐳
- movie-search - основное веб-приложение
- telegram-bot - Telegram бот
- TorAPI-Search - поиск торрентов
- TorAPI-qBittorrent - получение magnet ссылок
🚀 Как использовать
Telegram Bot:
- Найдите бота в Telegram:
@your_bot_username - Отправьте
/startили/find - Введите название фильма
- Выберите фильм из списка
- Нажмите "Найти торренты"
- Выберите нужный торрент
- Торрент автоматически добавится в qBittorrent
Веб-интерфейс:
- Откройте http://localhost:8089
- Введите название фильма
- Выберите фильм из результатов
- Выберите торрент для скачивания
📊 Технические детали
Архитектура (два стека):
┌─────────────────────────────────────────┐
│ searchFilms/ — NL-хост (72.56.91.135) │
│ ┌──────────┐ ┌──────────────────────┐ │
│ │ tmdb- │ │ torapi-search │ │
│ │ proxy │ │ (rutracker, kinozal, │ │
│ │ (:8001) │ │ rutor, nnmclub) │ │
│ └────┬─────┘ └──────────┬───────────┘ │
│ │ │ │
│ ┌────┴───────────────────┴───────────┐ │
│ │ torapi-qbittorrent (:8444) │ │
│ │ bridge → magnet ссылки │ │
│ └────────────┬────────────────────────┘ │
└───────────────┼──────────────────────────┘
│ интернет
┌───────────────┼──────────────────────────┐
│ │ app/ — RU-хост │
│ ┌────────────┴──────────────────────┐ │
│ │ movie-search (:8089) FastAPI API │ │
│ │ веб-интерфейс + API endpoints │ │
│ └────┬──────────────────────┬───────┘ │
│ │ │ │
│ ┌────┴──────────┐ ┌──────┴────────┐ │
│ │ qBittorrent │ │ telegram-bot │ │
│ │ (192.168.8.177│ │ │ │
│ │ :8080) │ │ @your_bot │ │
│ └───────────────┘ └───────────────┘ │
└─────────────────────────────────────────┘
Поддерживаемые трекеры:
- RuTracker (rutracker.org)
- Kinozal (kinozal.tv)
- RuTor (rutor.info)
- NoNameClub (nnmclub.to)
Технологии:
- Backend: FastAPI, Python 3.12
- Frontend: HTML, CSS, JavaScript
- Telegram: python-telegram-bot 20.7
- Database: TMDB API
- Torrents: TorAPI
- Containerization: Docker, Docker Compose
- Client: qBittorrent-nox
🔧 Установка и запуск
Автоматическое развертывание (рекомендуется):
# 1. Клонирование репозитория
git clone <repository-url>
cd searchTorrentDownl
# 2. Запуск скрипта развертывания
chmod +x deploy.sh
./deploy.sh
Ручное развертывание:
# 1. Клонирование репозитория
git clone <repository-url>
cd searchTorrentDownl
# 2. Установка зависимостей (см. README.md)
# 3. Создание сети Docker
docker network create torrentvideo_default
# 4. Настройка конфигурации
cp env.example .env
nano .env
# 5. Запуск всех сервисов
docker compose up -d --build
# 6. Проверка статуса
docker ps
Доступ к сервисам:
- Веб-интерфейс: http://localhost:8089
- qBittorrent: http://localhost:8080 (admin/vrubel07)
- Telegram Bot: @your_bot_username
📁 Структура файлов
findFilms/
├── README.md # Инструкция по запуску
├── PROJECT_SUMMARY.md # Архитектура проекта
├── .gitignore
│
├── searchFilms/ # 🌍 NL-стек (Голландия, 72.56.91.135)
│ ├── docker-compose.yml # tmdb-proxy + torapi-search + bridge
│ ├── .env.example
│ └── tmdb-proxy/ # build-зависимость
│ ├── Dockerfile
│ └── tmdb_proxy.py
│
└── app/ # 🏠 RU-стек (Россия, 192.168.8.173)
├── docker-compose.yml # movie-search + telegram-bot
├── .env.example
├── app.py # FastAPI приложение
├── telegram_bot.py # Telegram бот
├── Dockerfile
├── Dockerfile.telegram
└── templates/ # HTML шаблоны
🎯 Ключевые особенности
1. Полная интеграция
- Telegram бот полностью дублирует функциональность веб-интерфейса
- Единая кодовая база для всех компонентов
- Синхронизация данных между интерфейсами
2. Умный поиск
- Поиск по русским и английским названиям
- Генерация вариантов поисковых запросов
- Скоринг результатов по релевантности
3. Безопасность
- Генерация чистых magnet ссылок с публичными трекерами
- Изоляция сервисов через Docker
- Безопасная передача данных
4. Производительность
- Асинхронная обработка запросов
- Кэширование результатов
- Оптимизированные API вызовы
🛠️ Устранение неполадок
Проблема: Telegram бот не отвечает
Решение: Проверьте логи docker logs telegram-bot
Проблема: Не работает поиск фильмов
Решение: Проверьте подключение к TMDB API
Проблема: Торренты не добавляются
Решение: Убедитесь, что qBittorrent запущен и доступен
Проблема: Ошибки Docker
Решение: Пересоберите контейнеры docker compose up -d --build
📈 Производительность
Рекомендуемые настройки:
- RAM: минимум 2GB
- CPU: 2+ ядра
- Диск: 10GB+ свободного места
- Сеть: стабильное интернет-соединение
Мониторинг:
# Статус контейнеров
docker ps
# Логи приложения
docker logs movie-search --tail 50
# Логи Telegram бота
docker logs telegram-bot --tail 50
# Статус qBittorrent
sudo systemctl status qbittorrent
🔒 Безопасность
Рекомендации:
- Измените пароли по умолчанию
- Настройте файрвол
- Используйте HTTPS в продакшене
- Регулярно обновляйте зависимости
🆘 Поддержка
При возникновении проблем:
- Проверьте логи всех сервисов
- Убедитесь, что все порты доступны
- Проверьте настройки сети
- Создайте issue в репозитории
✅ Итоги
Проект полностью реализован и работает!
- ✅ Telegram Bot - полная функциональность в мессенджере
- ✅ Веб-интерфейс - удобный поиск и навигация
- ✅ API - RESTful интерфейс для интеграции
- ✅ Docker - контейнеризация для простого развертывания
- ✅ qBittorrent - автоматическое добавление торрентов
- ✅ TMDB - поиск информации о фильмах
- ✅ TorAPI - поиск торрентов на всех трекерах
Готово к использованию! 🚀
Автор: AI Assistant
Дата: 9 октября 2025
Версия: 1.0