Ztorrent/TODO.md

4.1 KiB
Raw Blame History

ZTORRENT — ROADMAP & TODO

Глобальная цель: Довести Ztorrent до продакшен-уровня (стандарты qBittorrent и выше), сохранив консольную эстетику.


🚀 Глобальный план развития (Roadmap)

1. Движок уровня qBittorrent (Core Engine)

  • Оптимизация I/O: Асинхронная запись на диск (mmap / AIO), чтобы не было фризов UI при скачивании на гигабитных скоростях.
  • Продвинутый кэш: Умное кэширование кусков в ОЗУ перед сбросом на диск.
  • Smart Ban / Anti-Leech: Автоматический бан плохих пиров, защита от спам-хэшей и некорректных кусков.
  • Приоритизация файлов: Возможность выбирать, какие файлы из раздачи качать первыми.

2. Идеальный DHT

  • BEP 44 (Arbitrary Data): Хранение произвольных данных в DHT.
  • Умный роутинг (Kademlia 2.0): Динамическое поддержание "живых" нод в bucket'ах, пинги в фоне.
  • IPv6 DHT: Поддержка поиска пиров в IPv6 сетях.
  • Локальный поиск (LSD): Поиск пиров в локальной сети (Local Service Discovery).

3. Умное логирование (Smart Logging)

  • Уровни логов (Levels): Переход на структурированные логи (DEBUG, INFO, WARN, ERROR).
  • Фильтрация логов в UI: Возможность прямо в TUI отфильтровать логи по "DHT", "Peers", "Disk".
  • Аналитика сессии: Summary по итогам скачивания (сколько отброшено кусков, средняя скорость, топовые пиры).

4. Эргономика UI (UX Refactoring)

  • Интерактивные таблицы: Возможность сортировки по столбцам (по скорости, проценту скачивания).
  • Просмотр файлов внутри торрента: Древовидная структура (tree view) для многофайловых торрентов.
  • Настройки "на лету": Вызов окна настроек (Config) прямо из UI (лимиты скорости, порты, пути).
  • Визуализация Swarm'а: Красивая карта пиров или график скорости (ASCII Sparklines).

5. Killer-Features (Убийцы qBit)

  • Стриминг в плеер (VLC/mpv): Скачивание торрента "на лету" (куски по порядку) с пробросом HTTP-стрима прямо в медиаплеер (нажал кнопку — фильм сразу открылся).
  • Интеграция с Telegram / Discord: Уведомления об окончании загрузки прямо на телефон.
  • CLI Remote Control: Возможность поднять Ztorrent как демона на сервере и управлять им через SSH/TUI удалённо по RPC.
  • Web-виджет (Read-Only): Поднятие легковесного веб-сервера для просмотра статуса загрузок с телефона.

🛠 Выполнено (Архив)

  • Magnet-ссылки (BEP 9) и метаданные.
  • Базовый DHT (BEP 5) с непрерывным поиском.
  • Мультитрекерность (HTTP + UDP).
  • Resume Data / Endgame Mode / Keep-alive.
  • Журнал (History) и Логи (Session Logs).
  • TUI интерфейс с глобальными оверлеями (О программе, Журнал, Логи).