Release 4.0.1+1: remove account binding / centralized provisioning (no panel credentials in binary; configs via user's own subscription URL); add recommended-services block on About page; Windows 4.0.1.1.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Navis
2026-08-01 20:31:29 +03:00
co-authored by Cursor
parent 1144fab54d
commit 5f768c7732
26 changed files with 237 additions and 1255 deletions
-23
View File
@@ -232,29 +232,6 @@ build.bat
Токены хранятся только локально в `configs/config.json` (не коммитьте).
### Выдача доступа из приложения (admin API)
Приложение умеет само создавать пользователей в панели Remnawave и сразу импортировать их конфиги (панель «Выдать доступ» в интерфейсе). Для этого нужен **отдельный** файл с админ-ключом:
1. Скопируйте `configs/remnawave-api.example.json``configs/remnawave-api.json`.
2. Вставьте `panel_url` и `api_token` (панель → API Tokens). `caddy_api_key` — только если панель за Caddy-auth.
3. Перезапустите Navis — появится панель «Выдать доступ».
Файл читается **в рантайме** из папки `configs` рядом с `config.json` — пересборка (repack) не требуется, достаточно положить файл и перезапустить приложение.
Тариф по умолчанию (настраивается в блоке `provision`):
| Поле | Значение по умолчанию |
|------|----------------------|
| `traffic_gb` | 50 ГБ |
| `days` | 30 дней (expireAt = сейчас + days) |
| `strategy` | `MONTH` (сброс трафика; также `NO_RESET` / `DAY` / `WEEK`) |
| `hwid_device_limit` | 0 = без лимита устройств |
Логика: `GET /api/users/by-username/{username}` — если пользователь есть, берётся его `subscriptionUrl`; иначе `POST /api/users` с тарифом выше, затем подписка импортируется в приложение автоматически.
`configs/remnawave-api.json` в `.gitignore`**никогда не коммитьте** реальный ключ, в репозитории только `remnawave-api.example.json`.
## Сборка macOS (кросс с Windows / Linux)
```bat