v1.0 • flux.dtmod.shop • mod by forjad0
fluxmod / dashboard
Acesso expirado — contate o administrador para renovar
Categories
Configs
Themes
Placeholders
Users
?
Expira em
Papel
ID
TOTAL USUÁRIOS
0
ATIVOS (COM VALIDADE)
0
EXPIRADOS
0
TOTAL APKS GERADOS
0
ID Username Email Admin Expira Actions
OrderIDNameColorIconActions
IDNameEnabledDescriptionActions

🛒 FLUX THEME STORE — GALERIA DE TEMAS CRIATIVOS

Escolha entre 10 designs profissionais 100% prontos e otimizados para o Flux VPN. Teste o funcionamento em tempo real com o simulador ou instale diretamente na sua conta com apenas 1 clique!

✨ 10 Temas Premium Otimizados
Carregando temas oficiais da loja...
Código HTML / CSS / JS (Live Reload ao digitar):
PREVIEW EM TEMPO REAL

FLUX VPN — GUIA PARA CRIAR SEU PRÓPRIO TEMA HTML DO ZERO

Este documento é para quem quer CRIAR um tema novo e profissional para o Flux VPN do zero. Um tema do Flux é um único arquivo .HTML (com CSS e JS embutidos) que roda dentro de um WebView no app. O app injeta um objeto global chamado FluxAPI que permite ao seu tema conversar nativamente com o aplicativo.

🤖 COMO USAR ESTE GUIA COM UMA IA (ChatGPT, Gemini, Claude)

Envie este arquivo para a IA ou use diretamente o prompt modelo abaixo para gerar interfaces exclusivas:

Leia este guia e especificações da FluxAPI do Flux VPN. Crie um tema HTML completo para o Flux VPN com o estilo [descreva: cores vibrantes, dark mode, glassmorphism, layout, logo]. O tema deve ter: botão de conectar, seletor de servidor com categorias, campos de usuário/senha (e UUID para XRAY), tela de logs e menu com as ferramentas nativas. Siga a estrutura, os callbacks e o checklist do guia.

📌 PARTE 1 — CONCEITOS ESSENCIAIS

1.1 COMO O TEMA CONVERSA COM O APP

HTML → App (Você chama funções): FluxAPI.start();
App → HTML (Você define callbacks no window): window.onFluxStatusChange = function(s){...}
Nota: O app chama seus callbacks quando algo acontece. Seu tema NUNCA deve ficar consultando o app em loop (polling) — use sempre os callbacks.

1.2 OS 3 PILARES DE QUALQUER TEMA

PILAR 1 — CREDENCIAIS: Campos de usuário/senha (e UUID para configs XRAY). Salve IMEDIATAMENTE a cada digitação usando oninput: <input oninput="FluxAPI.setUser(this.value)">
<input type="password" oninput="FluxAPI.setPass(this.value)">
Preencha os campos ao abrir com getUser(), getPass(), getUuid().
PILAR 2 — SERVIDOR: Lista de categorias/configs que vem do app: var cats = JSON.parse(FluxAPI.getCategoriesJson()); // Ao clicar no item: FluxAPI.selectConfig(String(cfg.id));
PILAR 3 — CONEXÃO: Botão conectar/desconectar + indicador de status: FluxAPI.start() / FluxAPI.stop()
window.onFluxStatusChange = function(state){...}

⭐ 1.3 REGRAS DE OURO (Evite os erros mais comuns)

R1. getCategoriesJson() e getLogsJson() retornam STRING → SEMPRE use JSON.parse.
R2. onFluxConfigSelected(payload) → payload JÁ É OBJETO → NUNCA use JSON.parse.
R3. onFluxNewLogs(json) → chega STRING JSON → SEMPRE use JSON.parse.
R4. selectConfig sempre com String → FluxAPI.selectConfig(String(id)).
R5. Antes de chamar start() → verifique FluxAPI.hasConfig().
R6. Envolva chamadas FluxAPI em try/catch.
R7. Não use polling de status → use onFluxStatusChange.
R8. App FULLSCREEN → proteja topo e base com safe-area CSS.
R9. Tudo em UM arquivo HTML: CSS no <style>, JS no <script>, imagens via URL ou base64.

1.4 O CICLO DE VIDA DA CONEXÃO & STATUS

"disconnected" (Parado) "connecting" (Conectando) "waiting network" / "authenticating" "connected" (Conectado / Verde) "auth_failed" / "no data" (Erro)

Padrão Recomendado: Definir estados parado const IDLE = ['disconnected','auth_failed','no data'];. Se IDLE.includes(st) chame start(), senão chame stop().

1.5 SSH x XRAY & 1.6 SAFE-AREA FULLSCREEN

Mode XRAY: Mostre APENAS campo UUID (setUuid). Detecte por String(cfg.mode).toUpperCase().includes('XRAY') ou payload.isXray.
Credenciais Embutidas: Se FluxAPI.hasConfigCredentials() for true, não exija que o usuário digite usuário/senha.
Safe Area (WebView Fullscreen): Use viewport-fit=cover no meta e no container principal: padding-top: calc(env(safe-area-inset-top, 0px) + 24px);

⚡ PARTE 2 — REFERÊNCIA COMPLETA DA FLUXAPI

Ações / Escrita (HTML → App)

  • FluxAPI.setUser(v) / setPass(v) / setUuid(v)
  • FluxAPI.selectConfig(id) // String(id)
  • FluxAPI.start() / stop() / update()
  • FluxAPI.clearLogs() / clearApp()
  • FluxAPI.openBatteryOptimization()
  • FluxAPI.openApnSettings() / openNetworkSettings()
  • FluxAPI.toggleHotspot()

Leitura (HTML ← App)

  • getUser() / getPass() / getUuid()
  • getStatus() → String
  • getCategoriesJson() → JSON.parse!
  • getLogsJson() → JSON.parse!
  • getSelectedConfigId() / Name() / Mode()
  • hasConfig() / hasConfigCredentials()
  • getNetworkName() / getLocalIp() / isHotspotActive()

Callbacks (App → HTML em window)

  • window.onFluxStatusChange(state)
  • window.onFluxCategoriesLoaded()
  • window.onFluxConfigSelected(payload)
  • window.onFluxNewLogs(json)
  • window.onFluxLogsCleared()
  • window.onFluxUpdateResult(config, theme)
  • window.onFluxNetworkInfo(name, ip)
  • window.onFluxError(msg)

📦 PARTE 3 — TEMPLATE INICIAL COMPLETO

Pronto para copiar, colar ou testar diretamente no simulador

          
COMO USAR
1. Crie um placeholder com chave e valor
2. Use [chave] em qualquer campo de configuração
3. O app substituirá automaticamente pelo valor
Exemplo: [server_01]sv0.meuservidor.com
IDKeyValueActions
Clique para selecionar o ícone Recomendado: 512×512px ou maior

Confirmar exclusão

Tem certeza que deseja excluir este registro?