62 lines
4.5 KiB
Markdown
62 lines
4.5 KiB
Markdown
# ssh-access-tui
|
||
|
||
Репозиторий содержит два независимых по toolchain'у, но связанных по смыслу
|
||
проекта:
|
||
|
||
1. **`ssh-access-tui`** (Go, корень репозитория) — консольный инструмент
|
||
администрирования jump-хоста: заводит пользователей с проброс-портами без
|
||
интерактивного шелла, генерирует зашифрованные `.7z`-архивы с ключом и
|
||
конфигом для каждого пользователя.
|
||
- Что это и зачем — [README.md](README.md).
|
||
- Модель угроз и обоснование архитектурных решений —
|
||
[docs/ARCHITECTURE.md](docs/ARCHITECTURE.md).
|
||
- Руководство администратора по экранам и сценариям —
|
||
[docs/ADMIN_GUIDE.md](docs/ADMIN_GUIDE.md).
|
||
- Структура кода: `cmd/` — точка входа, `internal/model` — типы,
|
||
`internal/store` — YAML-состояние в git, `internal/sysadm` —
|
||
useradd/authorized_keys/sshd, `internal/keymgr` — генерация ключей и
|
||
упаковка `.7z`-архивов (`{login}_ssh_access.7z` /
|
||
`{login}_config_update.7z`, пароль общий на партию и передаётся
|
||
получателям отдельно от письма), `internal/audit` — журнал подключений,
|
||
`internal/ui` — bubbletea TUI.
|
||
|
||
2. **`outlook-bulk-sender/`** (C#/.NET, VSTO Outlook add-in) — надстройка для
|
||
классического (Win32/C2R) Outlook, которая закрывает следующий шаг после
|
||
`ssh-access-tui`: массовая рассылка сгенерированных `.7z`-архивов каждому
|
||
получателю индивидуальным письмом (адрес выводится из имени файла:
|
||
`a-makarov` → `a.makarov@<домен>`), с предпросмотром перед отправкой и
|
||
логом отправленного.
|
||
- Что это и как настроить — `outlook-bulk-sender/README.md`.
|
||
- Как собрать/установить в Visual Studio (Windows-only) —
|
||
`outlook-bulk-sender/docs/BUILD.md`.
|
||
- `BulkArchiveMailer.Core` — вся логика без обращений к Outlook/COM
|
||
(парсинг имён файлов, вывод email, шаблоны, дедуп-лог) — единственная
|
||
часть, которую можно собрать и протестировать вне Windows
|
||
(`dotnet test`). `BulkArchiveMailer.AddIn` — сам add-in (лента, формы,
|
||
Outlook Interop) — требует Windows + Visual Studio + Outlook для сборки
|
||
и проверки.
|
||
|
||
## Версионирование
|
||
|
||
Формального `VERSION`-файла или `CHANGELOG` в репозитории нет — версии
|
||
фиксируются в сообщениях коммитов (`release vX.Y.Z`), git-тегов пока не
|
||
заводили. Если это меняется, отражайте здесь.
|
||
|
||
## Субагенты этого репозитория
|
||
|
||
В `.claude/agents/` заведены специализированные субагенты — используйте их
|
||
вместо общей работы напрямую, когда задача попадает в их профиль:
|
||
|
||
- **go-developer** — реализация и правки Go-кода `ssh-access-tui`
|
||
(`cmd/`, `internal/*`).
|
||
- **go-tester** — тесты для Go-кода (`go test ./...`), проверка регрессий.
|
||
- **dotnet-developer** — реализация и правки C#/.NET-кода
|
||
`outlook-bulk-sender/` (Core и AddIn).
|
||
- **dotnet-tester** — тесты `BulkArchiveMailer.Core` (`dotnet test`) и
|
||
чек-лист ручной проверки AddIn-части, которую нельзя прогнать без Windows.
|
||
- **project-controller** — сверяет версии/теги, архитектуру и документацию
|
||
(README.md, docs/ARCHITECTURE.md, docs/ADMIN_GUIDE.md, CLAUDE.md,
|
||
`outlook-bulk-sender/README.md`, `outlook-bulk-sender/docs/BUILD.md`) с
|
||
фактическим состоянием кода и заявленным назначением обоих проектов;
|
||
зовите его после значимых изменений или перед релизом/тегом.
|