feat: incremental user passwords and export on update
Preserve passwords from server-info.yml and vault; generate only for new users; remove deleted users from output; re-export URL/QR only when password, domain, port, obfs or files changed.
This commit is contained in:
@@ -199,9 +199,12 @@ hysteria2_user_passwords:
|
||||
friend: "custom-password"
|
||||
```
|
||||
|
||||
3. **Автогенерация** — Ansible `password` lookup (длина `hysteria2_password_length`), если пароль не задан.
|
||||
3. **Автогенерация** — Ansible `password` lookup, если пароль не задан ни в inventory/vault, ни в `output/<server>/server-info.yml`.
|
||||
|
||||
При `make update` пароли подтягиваются из `output/<server>/server-info.yml`, если не указаны в vault/inventory.
|
||||
При `make update` / `make export`:
|
||||
- **существующие** пользователи сохраняют пароли из `server-info.yml` (и URL/QR, если домен/порт/obfs не менялись);
|
||||
- **новые** получают автогенерацию и полный экспорт;
|
||||
- **удалённые** из inventory убираются из конфига Hysteria2 и из `output/<server>/`.
|
||||
|
||||
---
|
||||
|
||||
@@ -280,6 +283,7 @@ ASCII QR — `hysteria share --qr` → `user.qr.txt`.
|
||||
| `hysteria2_users` | host | Список имён VPN-пользователей |
|
||||
| `hysteria2_acme_email` | group | Email для Let's Encrypt |
|
||||
| `hysteria2_user_passwords` | host/vault | Свои пароли VPN |
|
||||
| `hysteria2_force_export` | group | Перегенерировать URL/QR для всех пользователей (`false` — только новые/изменённые) |
|
||||
| `hysteria2_output_dir` | group | Папка экспорта (по умолчанию `./output`) |
|
||||
| `hysteria2_output_name` | host | Имя подпапки (по умолчанию `inventory_hostname`) |
|
||||
| `hysteria2_listen_port` | group | Порт Hysteria2 (443) |
|
||||
|
||||
Reference in New Issue
Block a user