findFilms/PROJECT_SUMMARY.md

11 KiB
Raw Permalink Blame History

🎬 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:

  1. Найдите бота в Telegram: @your_bot_username
  2. Отправьте /start или /find
  3. Введите название фильма
  4. Выберите фильм из списка
  5. Нажмите "Найти торренты"
  6. Выберите нужный торрент
  7. Торрент автоматически добавится в qBittorrent

Веб-интерфейс:

  1. Откройте http://localhost:8089
  2. Введите название фильма
  3. Выберите фильм из результатов
  4. Выберите торрент для скачивания

📊 Технические детали

Архитектура (два стека):

┌─────────────────────────────────────────┐
│  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

Доступ к сервисам:

📁 Структура файлов

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

🔒 Безопасность

Рекомендации:

  1. Измените пароли по умолчанию
  2. Настройте файрвол
  3. Используйте HTTPS в продакшене
  4. Регулярно обновляйте зависимости

🆘 Поддержка

При возникновении проблем:

  1. Проверьте логи всех сервисов
  2. Убедитесь, что все порты доступны
  3. Проверьте настройки сети
  4. Создайте issue в репозитории

Итоги

Проект полностью реализован и работает!

  • Telegram Bot - полная функциональность в мессенджере
  • Веб-интерфейс - удобный поиск и навигация
  • API - RESTful интерфейс для интеграции
  • Docker - контейнеризация для простого развертывания
  • qBittorrent - автоматическое добавление торрентов
  • TMDB - поиск информации о фильмах
  • TorAPI - поиск торрентов на всех трекерах

Готово к использованию! 🚀


Автор: AI Assistant
Дата: 9 октября 2025
Версия: 1.0