36 lines
2.5 KiB
Markdown
36 lines
2.5 KiB
Markdown
# Этап 1d. Ключи и подключения
|
|||
|
|
|
||
|
|
Статус: не начат.
|
||
|
|
|
||
|
|
## 1. Цель
|
||
|
|
|
||
|
|
Администратор создаёт ключи и подключения вручную; пользователь видит ключи в кабинете и получает конфиги и ссылки.
|
||
|
|
|
||
|
|
## 2. Входит
|
||
|
|
|
||
|
|
1. Коллекции `keys` (поля и статусы) и `connections` с шифрованием содержимого ([03-data-model.md](../03-data-model.md), раздел 5); журнал действий `audit-log`.
|
||
|
|
2. Админка:
|
||
|
|
a. ключ вручную: пользователь, тариф, локация (dedicated);
|
||
|
|
b. подключения: WG/AWG — файлом или текстом, ссылка Happ, ссылка Xray, RU-адрес, номер устройства, страна;
|
||
|
|
c. «Выдать ключ», «Очередь выдачи», «К отключению», блокировка ключа.
|
||
|
|
3. Кабинет по макетам `App` и `MassApp`:
|
||
|
|
a. главная: ключи, «Купить ключ», FAQ кабинета;
|
||
|
|
b. список ключей, бейдж «Истекает» ([04-billing.md](../04-billing.md), раздел 15);
|
||
|
|
c. страница ключа: срок, WG-конфиги (скачать, QR), Happ и Xray (копировать, QR), RU-адрес; у mass — WG по странам.
|
||
|
|
4. Состояния: готовится, активен, льготный период, истёк, заблокирован; нет ключей; нет подключений.
|
||
|
|
5. Содержимое конфигов отдаётся отдельным запросом только владельцу и в HTML страницы не попадает. QR строится в браузере.
|
||
|
|
6. Шаблон `key_ready` на 5 языках.
|
||
|
|
|
||
|
|
## 3. Не входит
|
||
|
|
|
||
|
|
Покупка и оплата (1e), автоматическая выдача (1f), автопродление и «Продлить сейчас» (1g).
|
||
|
|
|
||
|
|
## 4. Перед стартом
|
||
|
|
|
||
|
|
Этап 1c готов.
|
||
|
|
|
||
|
|
## 5. Готово, когда
|
||
|
|
|
||
|
|
1. Ключ, созданный и выданный в админке, виден в кабинете владельца активным; срок идёт с момента выдачи.
|
||
|
|
2. Скачанный `.conf` импортируется в WireGuard; QR сканируется в WireGuard и Happ.
|
||
|
|
3. Чужой пользователь получает 404 на конфиг (тест).
|