5.8 KiB
ZTORRENT ⚡
Ztorrent — это минималистичный и невероятно быстрый консольный (TUI) BitTorrent-клиент, написанный на Go.
Он работает прямо в вашем терминале, поддерживает .torrent файлы и magnet-ссылки, умеет искать пиров через собственный встроенный DHT-движок и сохраняет историю всех ваших загрузок и логов.
(Пример интерфейса — скриншот будет добавлен позже)
🔥 Ключевые возможности
- 🚀 Полноценный TUI (Terminal UI) — стильный и отзывчивый интерфейс прямо в консоли (написан на BubbleTea).
- 🧲 Поддержка Magnet-ссылок — загрузка метаданных "на лету" через встроенный DHT-сервер и UDP-трекеры.
- 📁 Классические
.torrentфайлы — парсинг однофайловых и многофайловых торрентов, поддержка огромных раздач. - 💾 Журнал торрентов (History) — программа запоминает всё, что вы скачивали, и позволяет быстро перезапустить старую раздачу.
- 📝 Логирование сессий — подробные логи каждого скачивания аккуратно сохраняются в Markdown-файлы (
~/.ztorrent/logs/). - ⚡ Мультитрекерность — автоматический опрос всех доступных трекеров по HTTP/HTTPS и UDP.
- 🖥 Кроссплатформенность — работает на macOS, Linux и Windows.
🛠 Установка (Инструкция)
Требования
Для сборки из исходников вам понадобится установленный Go (версии 1.21+).
Шаг 1: Клонирование репозитория
Скачайте исходный код к себе на компьютер:
git clone https://github.com/твоё_имя/ztorrent.git
cd ztorrent
Шаг 2: Сборка программы
Соберите бинарный файл ztrr стандартной командой Go. (Мы используем директорию cmd/ztrr как точку входа):
go build -o ztrr ./cmd/ztrr
Дополнительно: если хотите вшить версию и дату сборки (отображается по кнопке ?), используйте эту команду:
VERSION="1.0.0" && BUILDDATE=$(date -u +%Y-%m-%d) && COMMIT=$(git rev-parse --short HEAD 2>/dev/null || echo "unknown") && go build -ldflags="-X 'github.com/veggiedefender/torrent-client/internal/version.Version=${VERSION}' -X 'github.com/veggiedefender/torrent-client/internal/version.BuildDate=${BUILDDATE}' -X 'github.com/veggiedefender/torrent-client/internal/version.GitCommit=${COMMIT}'" -o ztrr ./cmd/ztrr
Шаг 3: Глобальная установка (Опционально)
Чтобы запускать торрент-клиент из любой папки, перенесите собранный файл в /usr/local/bin (или в любую папку из вашего $PATH):
sudo mv ztrr /usr/local/bin/
Теперь вы можете запустить клиент просто написав в терминале:
ztrr
🎮 Использование и Горячие клавиши
После запуска программы перед вами откроется экран приветствия.
Вы можете ввести путь к .torrent файлу вручную, либо нажать F, чтобы выбрать его через системный проводник. Также поддерживается вставка magnet-ссылки прямо в текстовое поле.
Горячие клавиши (Доступны отовсюду):
Jили5— Журнал торрентов: список ранее скачанных торрентов.Lили6— Журнал логов: подробные технические логи (помогают понять, почему торрент не качается).?или7— О программе: версия, дата сборки и список всех хоткеев.QилиCtrl+C— Выйти из программы.
Во время скачивания (Дашборд):
1-4/Tab— Переключение вкладок (Обзор, Пиры, Файлы, Трекеры).ПробелилиS— Пауза / Продолжить скачивание.O— Закрыть текущий торрент и открыть окно нового.C— Очистить всё.
📂 Где хранятся данные?
Все служебные данные Ztorrent хранит в вашей домашней директории:
~/.ztorrent/history.json— база данных ваших загрузок (Журнал).~/.ztorrent/logs/— markdown-файлы с логами для каждой сессии скачивания.
Лицензия
Ztorrent распространяется под лицензией MIT. Вы можете свободно изменять и распространять код.