# Sistema de Captura Automática de MAC - Documentação

## 🎯 Objetivo
Quando um cliente baixa o app em qualquer dispositivo, o MAC do dispositivo é capturado **automaticamente** e aparece no seu painel para que você possa ativar a lista de canais.

## 🔄 Fluxo de Funcionamento

### 1. **Cliente baixa o app**
- O cliente instala o app em um dispositivo (smartphone, tablet, TV box, etc.)

### 2. **App se conecta ao servidor**
- O app envia uma requisição POST para `a/getappuser.php`
- O app envia o ID único do dispositivo (que é convertido em MAC)

### 3. **Servidor captura o MAC automaticamente**
- O arquivo `a/getappuser.php` foi modificado para capturar o MAC automaticamente
- O MAC é registrado em `a/rtx/request.json` com:
  - **MAC Address**: Endereço MAC do dispositivo
  - **IP**: Endereço IP do cliente
  - **Timestamp**: Data e hora da conexão
  - **DevID**: ID único do dispositivo

### 4. **MAC aparece no painel**
- Acesse a página **"MACs Capturados"** no seu painel
- A página atualiza automaticamente a cada 5 segundos
- Você verá o novo MAC com status "Pendente de Ativação"

### 5. **Você ativa o MAC**
- Clique no botão **"Ativar"** ao lado do MAC
- Preencha os dados do cliente:
  - **Endereço MAC**: Já vem preenchido automaticamente
  - **Nome do Servidor**: Nome da sua lista de canais
  - **DNS**: URL do seu servidor IPTV
  - **Usuário**: Credenciais do cliente
  - **Senha**: Credenciais do cliente
  - **Data de Expiração**: Quando a lista expira
- Clique em "Enviar"

### 6. **Cliente recebe acesso**
- O MAC agora está cadastrado no banco de dados
- Quando o app se conectar novamente, receberá a lista de canais
- O status no painel muda para "Ativado"

## 📍 Arquivos Modificados

### `a/getappuser.php`
- **Adicionada função**: `registerMacAutomatically()`
- **Comportamento**: Quando o app se conecta, o MAC é automaticamente registrado em `a/rtx/request.json`
- **Segurança**: Verifica duplicatas para evitar registros repetidos

### `devices.php`
- **Adicionada atualização automática**: A página recarrega a cada 5 segundos
- **Melhorada interface**: Instruções claras sobre como funciona o sistema
- **Melhorado feedback**: Cards com estatísticas de MACs capturados

## 🚀 Como Usar

### Acessar a página de MACs capturados:
1. Faça login no painel
2. Clique em **"Gerenciamento"** → **"MACs Capturados"**
3. Você verá todos os MACs que se conectaram

### Ativar um MAC:
1. Localize o MAC na lista com status "Pendente"
2. Clique em **"Ativar"**
3. Preencha os dados do cliente
4. Clique em "Enviar"

### Remover um MAC:
1. Clique em **"Remover"** (ícone de lixeira)
2. Confirme a exclusão

### Limpar todos os MACs:
1. Clique em **"Limpar Tudo"** no topo da página
2. Confirme a ação

## 📊 Estatísticas

Na página de MACs capturados, você verá:
- **Total de MACs**: Quantidade total de dispositivos que se conectaram
- **Pendentes de Ativação**: MACs que ainda não foram cadastrados
- **Já Ativados**: MACs que já estão cadastrados e ativos

## 🔌 Integração com API

Se você quiser integrar a captura de MAC de forma manual via API:

### Endpoint: `mac_auto.php`

**POST - Registrar MAC manualmente:**
```bash
curl -X POST https://seu-dominio.com/painel_lan_ibo/mac_auto.php \
  -H "Content-Type: application/json" \
  -d '{
    "mac": "AA:BB:CC:DD:EE:FF",
    "deviceName": "Meu Dispositivo",
    "devID": "device123",
    "ip": "192.168.1.100"
  }'
```

**GET - Obter lista de MACs capturados:**
```bash
curl https://seu-dominio.com/painel_lan_ibo/mac_auto.php
```

## ⚙️ Configurações

### Limite de registros
- Máximo de 500 MACs são armazenados
- Os mais antigos são removidos automaticamente quando o limite é atingido

### Atualização automática
- A página atualiza a cada 5 segundos
- Você pode desabilitar isso removendo o script no final de `devices.php`

### Armazenamento
- Os MACs são armazenados em `a/rtx/request.json`
- Os MACs cadastrados são armazenados em `a/.eggziedb.db` (banco de dados SQLite)

## 🔒 Segurança

- MACs duplicados não são registrados
- Todos os dados são validados antes de serem salvos
- O arquivo `request.json` é criado automaticamente com permissões apropriadas

## 📝 Troubleshooting

### MACs não aparecem no painel?
1. Verifique se o app está enviando requisições para `a/getappuser.php`
2. Verifique as permissões da pasta `a/rtx/`
3. Verifique se o arquivo `a/rtx/request.json` existe e tem permissões de escrita

### MACs aparecem duplicados?
1. Isso não deve acontecer, pois há verificação de duplicatas
2. Se ocorrer, limpe a lista com "Limpar Tudo" e tente novamente

### Página não atualiza automaticamente?
1. Verifique se o JavaScript está habilitado no navegador
2. Verifique o console do navegador para erros

## 📞 Suporte

Para mais informações sobre o sistema, consulte:
- `API_GUIDE.md` - Documentação completa da API
- `CHANGELOG.md` - Histórico de mudanças
