|
1 | | -# ADV Keeper (CLI/TUI) |
| 1 | +# Adv Keeper TUI |
2 | 2 |
|
3 | | -Лёгкий клиент/сервер для загрузки и скачивания файлов по gRPC с TUI-интерфейсом на Bubble Tea. |
4 | | -**Ничего ставить не нужно, кроме `make` и вашей ОС.** |
| 3 | +Минимальные требования: **OS + make**. Ничего больше ставить не нужно. |
5 | 4 |
|
6 | | -> **Просьба:** для корректного отображения интерфейса **всегда разворачивайте терминал на полный экран** (fullscreen). |
7 | | -> |
8 | | -> **Мышь:** пока **не поддерживается** — работаю над этим. Используйте клавиатуру (см. ниже). |
| 5 | +> Просьба: **разворачивайте терминал на весь экран** — так интерфейс выглядит корректнее. |
9 | 6 |
|
10 | | ---- |
| 7 | +## Сборка (Make) |
11 | 8 |
|
12 | | -## Быстрый старт |
| 9 | +```bash |
| 10 | +# основные таргеты |
| 11 | +make linux-amd64 # → build-linux_amd64 |
| 12 | +make linux-arm64 # → build-linux_arm64 |
| 13 | +make windows-amd64 # → build-windows_amd64 |
| 14 | +make darwin-arm64 # → build-darwin_arm64 (Apple Silicon) |
| 15 | +``` |
| 16 | +Запуск |
13 | 17 |
|
14 | | -# 2) В другом терминале — запуск TUI-клиента |
15 | | -make tui # (или make run-tui — см. Makefile) |
16 | | -Войти можно тестовым аккаунтом: |
| 18 | +Сделайте бинарник исполняемым и запустите из текущей директории: |
17 | 19 |
|
18 | | -makefile |
19 | | -Copy code |
20 | | -Логин: admin |
21 | | -Пароль: admin |
22 | | -Как пользоваться |
23 | | -Загрузка файла (Upload) |
24 | | -В главном меню выберите Upload (↑/↓ и Enter). |
25 | | - |
26 | | -Укажите файл во встроенном файловом диалоге. |
27 | | - |
28 | | -Во время загрузки видно прогресс-бар, скорость и ETA; ESC — отмена. |
29 | | - |
30 | | -После завершения вы вернётесь к списку файлов (FileList). |
31 | | - |
32 | | -Скачивание файла (Download) |
33 | | -Откройте FileList. |
34 | | - |
35 | | -Выберите файл, Enter → Download. |
| 20 | +chmod +x ./tui_darwin_arm64 # пример для macOS ARM |
| 21 | +./tui_darwin_arm64 # обратите внимание на ./ перед именем файла |
36 | 22 |
|
37 | | -Прогресс отображается так же, как при загрузке. |
38 | 23 |
|
39 | | -Файл сохраняется рядом с приложением (в текущей директории запуска клиента). |
| 24 | +Если в zsh видите command not found: tui_darwin_arm64, добавьте ./ и/или выполните chmod +x. |
40 | 25 |
|
41 | | -Где окажется файл: это текущая папка процесса (pwd на macOS/Linux или просто cd в Windows). |
| 26 | +Логин по умолчанию |
| 27 | +admin / admin |
42 | 28 |
|
43 | | -Управление (клавиатура) |
44 | | -↑ / ↓ / j / k — навигация |
45 | | - |
46 | | -Enter — выбрать/подтвердить |
47 | | - |
48 | | -ESC — назад/отмена/снять фокус |
49 | | - |
50 | | -Ctrl+C — выход |
51 | | - |
52 | | -Во время upload/download: ESC — отменить операцию |
53 | | - |
54 | | -Мышь временно не работает — поддержка в разработке. |
| 29 | +Как пользоваться |
55 | 30 |
|
56 | | -Сборка под платформы |
57 | | -Цели Makefile для сборки бинарей: |
| 31 | +Запустите программу. |
58 | 32 |
|
59 | | -make |
60 | | -Copy code |
61 | | -linux-amd64: build-linux_amd64 |
62 | | -linux-arm64: build-linux_arm64 |
63 | | -windows-amd64: build-windows_amd64 |
64 | | -darwin-arm64: build-darwin_arm64 |
65 | | -Примеры: |
| 33 | +Загрузите файл. |
66 | 34 |
|
67 | | -bash |
68 | | -Copy code |
69 | | -make linux-amd64 # Linux x86_64 |
70 | | -make linux-arm64 # Linux ARM64 |
71 | | -make windows-amd64 # Windows x86_64 |
72 | | -make darwin-arm64 # macOS Apple Silicon |
73 | | -(Имена файлов артефактов и папка вывода смотрите в Makefile.) |
| 35 | +Скачайте его — файл сохранится рядом с бинарником (в той же папке, где лежит софт). |
74 | 36 |
|
75 | | -Демо-видео |
76 | | -[](https://youtu.be/cjn5upkgUdY "Открыть видео") |
| 37 | +Для демонстрации на сервере уже есть пример (видео с Дуэйном Джонсоном). |
77 | 38 |
|
| 39 | +Мышь: пока не поддерживается, работаем над этим. Управление — клавиатурой (стрелки, Enter, Esc). |
78 | 40 |
|
79 | | -Траблшутинг |
80 | | -“Загрузка/скачивание висит” — убедитесь, что сервер запущен до клиента. |
| 41 | +## 🎬 Видео-туториал |
| 42 | +▶️ [Смотреть туториал](https://youtu.be/cjn5upkgUdY) |
81 | 43 |
|
82 | | -“Не логинится” — проверьте демо-учётку admin/admin. |
| 44 | +## Почему часть фич не успел(а) |
83 | 45 |
|
84 | | -“Не вижу скачанный файл” — проверьте текущую директорию клиента; файл сохраняется рядом с бинарём. |
| 46 | +Параллельно с основной работой и настройкой инфраструктуры/деплоя времени на функционал не хватило. Цель была — довести «сквозной путь» (регистрация → вход → загрузка/список/удаление файла) и показать рабочую демо-сборку. Остальное добью в скоро. |
85 | 47 |
|
86 | | -“TUI едет/обрезается” — разверните терминал на полный экран. |
| 48 | +### Что планирую добавить дальше |
| 49 | +- TLS для gRPC (и опция mTLS). |
| 50 | +- Refresh-токены и автообновление доступа. |
| 51 | +- Роли/RBAC и базовые политики доступа. |
| 52 | +- Докачка (resume) при обрывах, контроль размера и checksums. |
| 53 | +- Лимиты/квоты и rate-limit на API. |
| 54 | +- Метрики/трейсинг (Prometheus + OpenTelemetry). |
| 55 | +- Более надёжные миграции (включая rollback). |
| 56 | +- Полировка TUI (стабильная работа в Windows-терминале, прогресс-бар, улучшенная навигация). |
| 57 | +- Публичный домен и «чистая» внешняя точка входа. |
87 | 58 |
|
| 59 | +Сроки намеренно не обещаю — доделаю по мере силы и времени. Если важно ускорить конкретный пункт, дайте знать — приоритизирую. |
0 commit comments