- generate_clean_magnet: убраны мёртвые трекеры (coppersurfer.tk, leechers-paradise.org),
добавлены рабочие (tamersunion.org, exodus.desync.com, moeking.me),
включено &dn= с URL-кодированием кириллицы
- extract_hash_from_result: новая единая функция извлечения хэша из 5 источников
(Hash, InfoHash, Magnet, btih: в URL, Id)
- /api/add-torrent: убран ложный success — после Ok. от qBittorrent идёт реальная
верификация (торрент появился в списке по хэшу или названию). Если не появился — error.
- /api/proxy-torrent-download: новый endpoint для скачивания .torrent файлов
через NL-прокси (обходит DPI-блокировку)
- torrents.html: кнопка Копировать magnet (Clipboard API + fallback),
proxy-ссылки для .torrent, disabled-состояния для пустых magnet/torrent_url
- tmdb-proxy: добавлен /proxy-torrent endpoint
- urlencode filter для Jinja2
- test_app.py: 47 тестов на чистые функции
- Enhanced the DownloadMonitor class to provide more detailed error messages
- Improved logging for download status updates
- Refined user notifications for better clarity on download outcomes
- Ensured consistent behavior across different error scenarios
- Prompt user to configure qBittorrent credentials after installation
- Display clear instructions for setting admin/vrubel07
- Wait for user confirmation before starting Docker services
- Ensures correct credentials for all dependent services
- Fixed qBittorrent port configuration: 8080 → 8082
- Updated docker-compose.yml: TorAPI-qBittorrent uses host.docker.internal
- Moved TELEGRAM_BOT_TOKEN to environment variables
- Created start_ubuntu.sh for automated deployment
- Added qBittorrent systemd service with autostart
- Updated env.example with correct port (8082)
- Added UBUNTU_DEPLOYMENT.md documentation
All services now start with: ./start_ubuntu.sh
✨ Новые возможности:
- Красивый современный веб-интерфейс с градиентным дизайном
- Адаптивный дизайн для мобильных устройств
- Анимированные элементы и эффекты наведения
- Улучшенная типографика и цветовая схема
🔧 Технические улучшения:
- Исправлена проблема с внешним доступом (0.0.0.0:8089:8000)
- Улучшен поиск торрентов по ID на всех провайдерах
- Добавлено подробное логирование и обработка ошибок
- Оптимизирована производительность приложения
📁 Новые файлы:
- MANAGEMENT.md - инструкции по управлению сервисами
- start_all_services.sh - скрипт запуска всех сервисов
- stop_all_services.sh - скрипт остановки всех сервисов
🌐 Доступ:
- Локально: http://localhost:8089
- Внешний: http://84.22.132.114:8089
- Удалены ненужные файлы: node_modules, package.json, package-lock.json, get_rutracker_cookie.js, __pycache__
- Создан скрипт автоматического развертывания deploy.sh
- Создан файл .gitignore для исключения временных файлов
- Создан env.example с примером конфигурации
- Полностью переписана документация README.md с подробными инструкциями
- Обновлен PROJECT_SUMMARY.md с инструкциями по развертыванию
- Проект готов к развертыванию на новом компьютере
- Реализован класс DownloadMonitor для мониторинга загрузок в qBittorrent
- Добавлена автоматическая аутентификация в qBittorrent API
- Система проверяет статус загрузок каждые 30 секунд
- Автоматические уведомления при завершении загрузки:
* ✅ Успешное завершение с информацией о фильме и торренте
* ❌ Уведомления об ошибках загрузки
- Интеграция с API: возврат torrent_hash и torrent_name
- Отслеживание загрузок по hash с привязкой к пользователю
- Фоновый мониторинг через отдельный поток
- Уведомления отправляются напрямую в Telegram чат пользователя
Технические детали:
- Добавлен класс DownloadMonitor в telegram_bot.py
- Модифицирован API endpoint /api/add-torrent в app.py
- Добавлена поддержка возврата torrent_hash и torrent_name
- Реализована система отслеживания активных загрузок
- Автоматическое удаление из мониторинга после уведомления
Теперь пользователи получают уведомления:
🎉 'Фильм скачался!' - при успешном завершении
❌ 'Ошибка загрузки' - при проблемах с загрузкой
- Создан полнофункциональный Telegram бот для поиска фильмов и торрентов
- Бот дублирует всю функциональность веб-интерфейса
- Реализован поиск фильмов через TMDB API с постерами
- Добавлен поиск торрентов на всех трекерах (RuTracker, Kinozal, RuTor, NoNameClub)
- Автоматическое добавление торрентов в qBittorrent
- Интерактивные кнопки для выбора фильмов и торрентов
- Обработка ошибок и пользовательских состояний
- Docker контейнеризация с правильной сетевой конфигурацией
- Увеличен таймаут HTTP запросов до 60 секунд
- Добавлена документация и скрипты запуска
Команды бота:
- /start, /help - справка
- /find - начать поиск фильма
Файлы:
- telegram_bot.py - основной код бота
- run_telegram_bot.py - скрипт запуска
- Dockerfile.telegram - Docker образ для бота
- docker-compose.yml - обновлен с сервисом бота
- requirements.txt - добавлена зависимость python-telegram-bot
- README.md - обновлена документация
- PROJECT_SUMMARY.md - полная сводка проекта
- Удалена папка venv/ (не нужна для Docker)
- Удалены тестовые скрипты (advanced_torrent_test.py, fix_qbittorrent_port.py, qbittorrent_diagnostics.py)
- Удален cookies.txt (временный файл)
- Проект готов к использованию через Docker
- Изменен приоритет: сначала magnet ссылки, потом .torrent файлы
- Добавлена проверка успешного добавления торрента
- Добавлен импорт asyncio для корректной работы
- Улучшена обработка ошибок при добавлении торрентов
- Теперь торренты успешно добавляются и загружаются
- Добавлено подробное описание бизнес-логики и технической составляющей
- Обновлен алгоритм работы с реальной реализацией
- Добавлен статус проекта (полностью функционален)
- Указана папка загрузок /home/qbittorrent/Downloads
- Расширены возможности системы
- Добавлена информация о мониторинге загрузки