Files

114 lines
2.3 KiB
Markdown

# Licenciamento
Este guia cobre a geracao e a instalacao de licenca do `V-Fire Monitor`.
## Como o licenciamento funciona
A licenca vincula:
- `HWID` da maquina
- nome do cliente
- data de expiracao
O serial e salvo em `license.key`.
## Modos de chave
Existem dois cenarios:
1. `Chave mestre via VFM_LICENSE_MASTER_KEY`
2. `Chave legada embutida`
Para producao, use `VFM_LICENSE_MASTER_KEY`.
## Identificar o HWID
Quando o app esta sem licenca, a tela inicial mostra o `Hardware ID`.
Voce tambem pode coletar no proprio sistema onde o app esta rodando:
```bash
python3 - <<'PY'
from vfire_monitor.core import get_hardware_id
print(get_hardware_id())
PY
```
## Gerar o serial
Uso por argumentos:
```bash
python3 generator.py --hwid "HWID-DA-MAQUINA" --cliente "Nome do Cliente" --expira 2027-01-01
```
Se `VFM_LICENSE_MASTER_KEY` estiver definida no ambiente, o gerador usa essa chave.
Se nao estiver definida, ele usa a chave legada embutida.
## Instalar a licenca pelo painel
1. Abra o painel do `V-Fire Monitor`
2. Na tela de bloqueio, copie o `HWID`
3. Gere o serial
4. Cole o serial no campo de ativacao
5. Clique em `Ativar licenca`
O backend valida:
- serial
- HWID
- data de expiracao
Se tudo estiver correto, o monitoramento e liberado.
## Instalar a licenca manualmente no servidor
Se voce ja tem o serial:
```bash
cat > /var/lib/vfire-monitor/license.key <<'EOF'
SEU_SERIAL_AQUI
EOF
chown vfire-monitor:vfire-monitor /var/lib/vfire-monitor/license.key
chmod 600 /var/lib/vfire-monitor/license.key
systemctl restart vfire-monitor
```
## Validar a licenca instalada
Exemplo local:
```bash
python3 - <<'PY'
from pathlib import Path
from vfire_monitor.core import LEGACY_LICENSE_KEY, LicenseService
service = LicenseService(Path("license.key"), LEGACY_LICENSE_KEY)
status = service.verify()
print(status.valid, status.message, status.days_remaining, status.hardware_id)
PY
```
Se a instalacao de producao usar `VFM_LICENSE_MASTER_KEY`, a validacao deve usar a mesma chave mestre.
## Quando a licenca falha
Os erros mais comuns sao:
- `Licenca ausente`
- `Serial invalido`
- `HWID incompativel`
- `Licenca expirada`
## Boas praticas
- use chave mestre por variavel de ambiente em producao
- nao distribua a chave legada em ambiente final
- mantenha backup de:
- `license.key`
- `app_secret.key`
- `config_nodes.json`
- `mapa_dispositivos.json`