feat(license): сервер лицензий lic.zetit.ru — кабинет, онлайн-активация и защита
- bj-license-server: активация по коду и продление токенов (API /v1), кабинет администратора (клиенты, лицензии, установки, журнал, администраторы) - защита: доверенные IP установок, jail fail2ban api/admin, раздел «Защита» с режимом обороны, белым списком и сроками блокировок (root-помощник fw-apply) - доступ к кабинету: свой адрес вместо /admin, вход только из белого списка, второй фактор — TOTP или подтверждение в «ЗЕТИТ Ключ» (push/код) - deploy/license: unit-файлы, fail2ban, path/timer помощника; контракт API в docs Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -47,6 +47,12 @@ type License struct {
|
||||
Features []string `json:"features,omitempty"` // "updates","web-cabinet",...
|
||||
MaxNodes int `json:"max_nodes,omitempty"` // лимит инсталляций (0 = без лимита)
|
||||
Note string `json:"note,omitempty"`
|
||||
|
||||
// Онлайн-лицензирование (lic.zetit.ru, docs/license-server-api.md): токен выдаётся
|
||||
// сервером на короткий срок (ExpiresAt) под конкретную установку и продлевается,
|
||||
// пока действует договор (ContractUntil). У офлайн-ключей оба поля пустые.
|
||||
InstallID string `json:"install_id,omitempty"`
|
||||
ContractUntil time.Time `json:"contract_until,omitempty"`
|
||||
}
|
||||
|
||||
// Token — лицензия + подпись. Именно это вводит клиент (одна base64-строка
|
||||
|
||||
Reference in New Issue
Block a user