Sistema de Ativação Remota

Arquitetura de Segurança e Bloqueio PDVSouza

🚀
Visão Geral do Fluxo

Delphi PDV

Envia HVID + Nome

Traefik (Proxy)

Criptografia SSL

API Next.js

Valida no SQLite

Resposta

ACTIVE / BLOCKED

O sistema funciona como um "Gatekeeper" (Porteiro). Sempre que o PDV inicia (ou em intervalos), ele pergunta ao servidor se aquele computador específico (HVID) tem permissão para rodar.

🧩
1. O Lado do Cliente (Delphi)

O Delphi faz uma requisição GET para a URL do seu servidor.

Endpoint Utilizado:

https://server-ativacaoremota.devsouza.online/api/check-hvid

Parâmetros Enviados:

ParâmetroTipoDescrição
hvidStringIdentificador único do Hardware (ID do processador ou placa mãe).
companyStringNome da empresa que aparece no seu Dashboard.

Exemplo de Resposta (JSON):

{
  "id": "1713100000000",
  "name": "Panificadora Central",
  "status": "ACTIVE"
}

🖥️
2. O Servidor (Next.js + SQLite)

Ao receber o HVID, o servidor executa os seguintes passos:

  1. Busca o HVID na tabela clients.
  2. Se não existir: Cria um novo registro automaticamente como ACTIVE.
  3. Se existir: Verifica se o campo status é 'ACTIVE' ou 'BLOCKED'.
  4. Registra um log na tabela logs com o IP e horário do acesso.

Estrutura do Banco de Dados:

CREATE TABLE clients (
  id TEXT PRIMARY KEY,
  name TEXT,      -- Nome da Empresa
  status TEXT,    -- 'ACTIVE' ou 'BLOCKED'
  hvid TEXT,      -- Digital do Hardware
  lastCheck TEXT  -- Data do último acesso
);

🛡️
3. Por que o Firewall travava?

O Firewall do Windows por padrão desconfia de programas que tentam "falar" com a internet sem uma assinatura digital conhecida.

⚙️
4. Segurança no Easypanel

O Easypanel utiliza Docker para isolar a sua aplicação. Isso garante que:

HomeTerminaisAtivarHistóricoAjustes