Dashboard
Visão geral do seu sistema IPTV premium
📄 Documentos mais recentes
| Funcionalidade | Nome | Canais | Atualizado |
|---|
Canais D1
| Funcionalidade | Canal | Categoria | Documento de origem |
|---|
Criador de canais
Crie canais com várias fontes — se uma cair, troca automaticamente
| Canal | Fontes | Fonte ativa | Criado | Ações |
|---|
Nenhum canal criado ainda. Clique em + Novo canal.
Categorias
Crie categorias e arraste os canais criados para dentro delas
🎬 Canais criados
Arraste para uma categoria ou use + (categoria ativa)
Nenhum canal criado. Crie canais no Criador de canais.
Pacotes
Agrupe categorias e distribua para os clientes
| Pacote | Categorias | Canais | Criado | Ações |
|---|
Nenhum pacote ainda.
Clientes
Cada cliente tem uma URL registrada · 0 conexões = ilimitado · o link da lista usa o domínio atual do painel
| Cliente | URL registrada | Pacotes | Conexões | Validade | Status | Lista M3U | Ações |
|---|
Nenhum cliente ainda.
Balance
Servidores que executam os streams · sem balance, tudo roda no painel principal · fan-out por balance
Nenhum balance ainda. Clique em + Novo balance para cadastrar o IP, usuário (root) e senha — o sistema instala o agente e os canais passam a ser servidos por ele.
Logs de acesso
Quem consultou as listas e quem foi bloqueado (URL, validade, limite de conexões)
| Quando | Cliente | Tipo | Status | IP | Host usado | Canal |
|---|
Guia de Programação (EPG)
Adicione fontes XMLTV — o sistema baixa, junta e gera o XML por cliente · a lista M3U já vem com o link embutido
➕ Adicionar fonte EPG
✨ Sugestões brasileiras (funcionando) — clique para preencher:
📺 Fontes cadastradas
Link do XML gerado (o mesmo que a lista embute): …
| Fonte | URL | Status | Canais no XML | Usado por | Atualizado | Ações |
|---|
Nenhuma fonte adicionada ainda. Adicione o link de um XMLTV acima (ou use uma sugestão) e depois, no Criador de canais, escolha a fonte EPG de cada canal e selecione o canal da grade.
Filmes e Séries
Adicione a URL da sua lista — o painel NÃO baixa nada · os links do cliente redirecionam para o servidor de filmes
➕ Adicionar lista de filmes e séries
🎬 Como funciona (100% leve): o painel guarda só a URL e lê a lista (texto, poucos KB) para montar a M3U do cliente. Na lista que o cliente baixa, os filmes/séries aparecem com link deste sistema (/vod/{{token}}/{{lista}}/{{nº}}) e o sistema faz redirect (302) para o servidor de filmes — sem proxy: o vídeo e a capa são carregados direto do servidor de filmes. Nada pesa onde o painel roda.
🎬 Listas cadastradas
| Lista | URL | Status | Itens | Ativa | Atualizado | Ações |
|---|
Nenhuma lista adicionada. Cole a URL da sua lista de filmes/séries (M3U) acima — o painel lê o índice e os clientes veem tudo na M3U deles.
API Xtream
Conversor para apps com suporte a Xtream Codes · hospede os arquivos PHP em qualquer host · nada muda nas listas e canais atuais
🔑 Token da API
O token é embutido nos arquivos baixados — só quem tem os arquivos consegue falar com o painel. Se você regenerar, os arquivos baixados antes param de funcionar (baixe de novo).
…
📦 Arquivos para download
Baixe os 4 arquivos e hospede juntos em qualquer lugar com PHP (cPanel, Hostinger, XAMPP, VPS…). Eles já vêm com a URL atual do painel e o token embutidos.
🚀 Como usar
- Baixe os 4 arquivos acima e envie para o mesmo diretório do seu host PHP (ex.: public_html/ ou htdocs/).
- No app com suporte a Xtream (TiviMate, Smarters, IBO Player, XCIPTV…), adicione a conta:
- URL: o endereço de onde você hospedou (ex.: https://seusite.com)
- Usuário/Senha: as credenciais do cliente (aba ◉ Clientes — cada cliente tem usuário e senha, automáticos ou manuais)
- Pronto — o app conversa com o seu painel como se fosse um Xtream UI, mas a lista e os canais continuam no formato atual (/playlist/{token}.m3u e /stream/{token}/{canal}), com failover, fan-out, EPG, bloqueio por domínio e validade valendo normalmente.
💡 Se o host não tiver mod_rewrite (Apache), os streams ainda funcionam pelo app chamando a URL completa player_api.php?username=U&password=P&action=stream&stream_id=N — mas a maioria dos apps usa o padrão live/…, então prefira Apache com mod_rewrite.
Documento
Painel de revenda — todas as chamadas da API usando o conversor Xtream · validação por token + DNS do site onde o PHP fica
🏷️ Como funciona a revenda
Você baixa os 4 arquivos PHP (aba 🔌 API Xtream) e hospeda no site do revendedor. A validação tem duas partes:
- 🔑 Token — embutido nos arquivos baixados. Só quem tem os arquivos consegue falar com o seu painel. Se regenerar, os arquivos antigos param de funcionar.
- 🌐 DNS — o endereço do site onde o PHP está hospedado (ex.: revenda.com). É essa URL que o revendedor passa para os clientes: revenda.com/player_api.php?username=…&password=…
O cliente usa as credenciais dele (aba ◉ Clientes) com a URL do site da revenda. A lista e os canais continuam no formato atual do painel — failover, fan-out, EPG, bloqueio por domínio e validade valendo normalmente.
📘 Manual da revenda — passo a passo detalhado
1 · Criar o usuário da revenda
- Entre como administrador e abra a aba ♛ Usuários (Administração).
- Preencha o nome de usuário e a senha (mín. 6) e escolha a função “🔁 Revenda — cria e gerencia os clientes dela”.
- Clique em + Adicionar. Pronto — está criado o login do revendedor.
- O revendedor entra no painel com esse usuário e vê apenas a gestão de clientes (◉ Clientes e ⌘ Minha conta): ele cria, edita, bloqueia e exclui os clientes dele, mas não vê canais, pacotes, configurações nem os clientes de outros revendedores.
- O administrador continua vendo e gerenciando todos os clientes (os da revenda inclusive).
💡 Se a revenda precisar limitar quantos clientes ela pode criar, o controle é feito pelo pacote/validade de cada cliente — o admin acompanha tudo nos logs e nas conexões.
2 · Criar clientes (campo a campo)
Na aba ◉ Clientes, clique em + Novo cliente. O formulário em 2 colunas tem tudo:
- Nome — identificação (ex.: “João Silva”).
- URL registrada — o domínio do cliente (ex.: minhadns.com). A lista só funciona nesse domínio (ou nos domínios adicionais); domínio de fora → vídeo.
- Usuário / Senha — credenciais usadas nos apps Xtream (aba 🔌 API Xtream). Vazio = automático (usuário do nome + senha aleatória); botão 🎲 gera na hora; na edição, senha vazia mantém a atual.
- Conexões — quantos streams simultâneos; 0 = ilimitado.
- Validade — data final (vazio = sem validade). Vencido → vídeo de vencido + link de renovação no texto da playlist.
- Bloqueado — trava o cliente na hora (vídeo informativo).
- Pacotes — o que o cliente recebe (categorias de canais + listas de filmes/séries); pode marcar mais de um.
- Domínios adicionais — franquias/domínios extras do cliente (a lista funciona em todos).
- IPs permitidos — anti-roubo: se preencher, só aceita de IPs/CIDR cadastrados; vazio = aceita qualquer IP.
- Vídeos — pré-visualização de qual vídeo o cliente recebe quando bloqueado/vencido/sem URL (definidos em ⚙ Configurações).
Depois de salvar, aparecem o link da lista ({painel}/playlist/{token}.m3u) e os botões 📋 copiar / ⬇ baixar / ↗ abrir. Troque o token do cliente pelo link de cada um.
3 · Como os pacotes aparecem
O cliente recebe a união do que estiver marcado nos pacotes dele:
| Marcado no pacote | O cliente recebe |
|---|---|
| Categoria de canais + lista de filmes/séries | Canais + Filmes e Séries |
| Só categorias de canais | Só canais |
| Só listas de filmes/séries | Só filmes e séries |
| Nada marcado | Nada (cliente vazio) |
Com vários pacotes, é a união de todos (ex.: pacote A só canais + pacote B só filmes → o cliente tem canais e filmes). Onde aparece:
- Playlist M3U (/playlist/{token}.m3u) — os canais das categorias + os filmes/séries das listas marcadas, com links do painel.
- Ponte Xtream (PHP na revenda) — get_live_categories/streams mostram os canais e get_vod/series mostram filmes/séries; live/…, movie/… e series/… redirecionam para o stream real.
- EPG — se o canal tiver fonte EPG, a playlist já vem com url-tvg e o XML gerado aparece no player.
Valem as regras de sempre: domínio cadastrado ou do painel funciona; domínio de fora, cliente bloqueado, vencido ou acima do limite de conexões → o vídeo correspondente (informativo / vencido / limite, conforme ⚙ Configurações).
🌐 Dados da revenda
Deixe vazio para usar o endereço atual do painel. As chamadas abaixo são geradas com esse DNS.
☎️ Todas as chamadas da API
Cada chamada com botão de copiar. Troque {usuario}/{senha} pelas credenciais do cliente e os ids pelos valores reais.
🛠️ Exemplo de resposta (autenticação)
🚀 Passo a passo da revenda
- Na aba 🔌 API Xtream, baixe os 4 arquivos (player_api.php, get.php, xmltv.php, .htaccess).
- Envie os 4 para o mesmo diretório do site do revendedor (ex.: public_html/ ou htdocs/).
- Anote o DNS do site (ex.: https://revenda.com) — é a URL que você informa aqui em cima.
- Crie o cliente na aba ◉ Clientes (usuário e senha automáticos ou manuais, com pacote, validade e conexões).
- Passe para o revendedor: URL = DNS do site, Usuário/Senha = credenciais do cliente.
- No app com suporte a Xtream (TiviMate, Smarters, IBO, XCIPTV…), o cliente entra e vê exatamente os canais/filmes do pacote dele — com failover, fan-out e EPG.
Configurações
Vídeo informativo exibido para acesso não autorizado
🏷️ Identidade do painel
🎬 Vídeo informativo
Quando alguém usa a lista com uma URL não cadastrada, com o cliente bloqueado, expirado ou acima do limite de conexões, recebe este vídeo no lugar dos canais.
Quando um cliente está com a validade vencida, recebe este vídeo no lugar do vídeo informativo. Se deixar vazio, usa o vídeo informativo padrão.
Quando o cliente atinge o limite de conexões simultâneas, recebe este vídeo no lugar do informativo. Se deixar vazio, usa o vídeo informativo padrão.
Quando o cliente está vencido, este link entra no texto da playlist (comentário + nome do canal de aviso), além do vídeo — o cliente vê onde renovar.
Com fan-out, quem assiste o mesmo canal divide uma busca na origem (economiza banda de entrada). A banda de saída para cada cliente continua individual. Clientes muito lentos são desconectados para não travar o grupo.
Quando uma fonte falha 3 vezes seguidas (erro de conexão, HTTP 4xx/5xx ou sem dados por 10s), ela é removida automaticamente do canal — sobram só as online. O cliente nem percebe: o failover já trocou para a próxima fonte antes da remoção. A última fonte nunca é removida (o canal precisa de pelo menos uma).
Documentos M3U
Backup na nuvem (Cloudflare D1)
| Funcionalidade | Nome | Canais | Atualizado | Ações |
|---|
Nenhum documento encontrado.
Documento
| # | Nome do canal | Categoria | Ações |
|---|
Usuários do painel
Gerencie quem acessa este painel
| ID | Usuário | Nível | Criado | Ações |
|---|
Minha conta
Troque sua senha de acesso
Trocar minha senha
Todo usuário do painel pode trocar a própria senha — só precisa informar a senha atual. (Os clientes da lista IPTV não entram aqui: eles usam o token da lista, não têm login no painel.)