stopou_blocker 0.6.0 copy "stopou_blocker: ^0.6.0" to clipboard
stopou_blocker: ^0.6.0 copied to clipboard

Plugin do Stopou para bloqueio por VPN local (preparado para estratégias futuras).

0.6.0 BLOQUEIO DE APLICATIVOS + ROBUSTEZ API #

🚫 NOVA FUNCIONALIDADE: BLOQUEIO DE APLICATIVOS #

  • startAppBlocker(List - Bloqueia aplicativos específicos
  • stopAppBlocker() - Para o bloqueio de todos os aplicativos
  • 🎯 MONITORAMENTO REAL-TIME - Detecta tentativas de abertura via AccessibilityService
  • 🔐 FECHAMENTO AUTOMÁTICO - Fecha app bloqueado e mostra tela de bloqueio
  • 🌊 EVENT STREAMING - Emite eventos no stream para logging
  • 💾 RUNTIME ONLY - Lista de apps em memória (sem persistência)

🛡️ ROBUSTEZ E PROTEÇÃO DA API #

  • 🔒 CONTRATO GARANTIDO - getInstalledApps() nunca quebra, mesmo com dados problemáticos
  • 🚨 EXCEPTION SAFE - Fallback para lista vazia em caso de erro
  • 🧹 FILTRAGEM AUTOMÁTICA - Remove apps inválidos mas mantém válidos
  • NULL SAFETY - Proteção total contra null do nativo
  • 📱 FLUTTERFLOW BULLETPROOF - 100% compatibilidade garantida

⚡ CUSTOM ACTIONS PARA FLUTTERFLOW #

  • 🚫 startAppBlockerAction(packages) - Inicia bloqueio com validações
  • stopAppBlockerAction() - Para bloqueio com logs
  • 🧪 testAppBlockerAction() - Teste completo do sistema
  • 🎯 DEMO ACTIONS - startAppBlockerDemo(), stopAppBlockerDemo()

🧪 TESTES DE ROBUSTEZ #

  • 26 TESTES PASSANDO - Incluindo edge cases extremos
  • 🛡️ PROTEÇÃO TESTADA - Dados problemáticos, null, exceções
  • 📋 CONTRATO VALIDADO - Sempre List<Map<String, dynamic>>
  • 🔍 FILTRAGEM TESTADA - Apps inválidos removidos corretamente

🎯 EXEMPLO ATUALIZADO #

  • 🧪 NOVOS BOTÕES DE TESTE - Para todas as funcionalidades
  • 📱 DEMO INTERATIVO - Teste de bloqueio do Chrome
  • 📊 LOGS DETALHADOS - Feedback completo das operações

🔧 ARQUITETURA #

  • 📦 AppBlockerManager - Gerenciamento centralizado em Kotlin
  • 🔗 KeywordBlockerService Integration - Detecção via AccessibilityEvent
  • 🎯 Fallback Strategy - Overlay quando Activity falha
  • 📡 Event System - Integração com stream existente

0.5.0 COMPATIBILIDADE FLUTTERFLOW COMPLETA + LISTA APPS #

📱 NOVA FUNCIONALIDADE: APLICATIVOS INSTALADOS #

  • getInstalledApps() - Lista todos os aplicativos instalados no dispositivo
  • 🎯 FORMATO JSON PURO - Retorna List<Map<String, dynamic>> compatível com FlutterFlow
  • 📦 DADOS COMPLETOS - label, packageName, iconBase64 (opcional)
  • CUSTOM ACTION - getInstalledAppsForFlutterFlow() para FlutterFlow
  • 🧪 TESTES INCLUÍDOS - testInstalledApps() para validação completa

🔧 OTIMIZAÇÕES DE API #

  • 🗑️ SIMPLIFICAÇÃO - Removida classe InstalledApp (incompatível FlutterFlow)
  • 🎯 ÚNICO MÉTODO - Apenas getInstalledApps() retornando JSON puro
  • 📱 FLUTTERFLOW READY - 100% compatível com Local State JSON
  • ANDROID TESTADO - PackageManager + launcher apps + ícones Base64

📋 ESTRUTURA RETORNADA #

[
  {
    "label": "YouTube",
    "packageName": "com.google.android.youtube", 
    "iconBase64": "iVBORw0KGgoAAAANSUhEUgA..." // ou null
  }
]

0.4.1 API SIMPLIFICADA E MÉTODOS SEPARADOS #

  • 🔐 PERMISSÕES SEPARADAS - Métodos individuais requestVpnPermission() e requestAccessibilityPermission()
  • 🌐 VPN INDIVIDUAL - startBlockerVpn(), stopBlockerVpn(), isVpnActive() para controle específico
  • 🔍 KEYWORDS INDIVIDUAL - startBlockerKeywords(), stopBlockerKeywords(), isKeywordActive()
  • 🛑 CONTROLE GRANULAR - stopAllBlockers() para parar tudo ou métodos individuais
  • API LIMPA - Removido professionalSolution() (nome ruim), agora métodos diretos
  • 📱 FLUTTERFLOW FRIENDLY - Cada função tem responsabilidade única e clara
  • 🧪 DEBUG MANTIDO - diagnosticCompleteSystem(), emergencyStop(), repairSystem()
  • 🔄 COMPATIBILIDADE - Métodos antigos redirecionam para novos (sem breaking changes)
  • 📊 LOGS ESTRUTURADOS - [VPN], [KEYWORDS], [PERMISSION] para debug claro
  • BUILD VALIDADO - Testado debug, release, testes unitários e pub publish

0.4.0 SOLUÇÃO PROFISSIONAL COMPLETA #

  • 🎯 SOLUÇÃO PROFISSIONAL - Método professionalSolution() com estratégia dual completa
  • 🔍 KEYWORDS MÚLTIPLAS ESTRATÉGIAS - Detecção robusta em navegadores com 3 métodos
  • 🌐 VPN ULTRA-MÍNIMA - DNS-only VPN que não interfere com conectividade normal
  • 🧪 DIAGNÓSTICO COMPLETO - diagnosticCompleteSystem() para análise total do sistema
  • 🔧 SISTEMA DE REPARO - repairSystem() para correção automática de problemas
  • 📊 TESTES ESPECÍFICOS - Métodos isolados para testar VPN, keywords e navegadores
  • 🚨 GESTÃO DE EMERGÊNCIA - emergencyStop() e fullRestart() para situações críticas
  • 📱 CONFIGURAÇÕES FLEXÍVEIS - startKeywordsOnly(), startVpnOnly() para testes
  • 🌳 LOGS ESTRUTURADOS - Sistema completo de logs com prefixos para debug
  • 📖 INSTRUÇÕES COMPLETAS - getDebugInstructions() com todos os comandos necessários

0.3.9 #

  • 🌐 VPN CONECTIVIDADE FIX - Resolução definitiva do problema de internet bloqueada
  • DNS-ONLY VPN - Configuração ultra-minimalista que só intercepta DNS
  • 🎯 ZERO ROTAS WEB - Removido addRoute() para CDNs e ranges IP que causavam bloqueio total
  • 🔧 VPN PASSIVA - Sistema configura apenas 10.0.0.2/32 como DNS interceptor
  • 🧪 TESTE CONECTIVIDADE - Novo método testVpnConnectivity() para validar funcionamento
  • INTERNET NORMAL - Sites normais (google.com, youtube.com) devem funcionar
  • BLOQUEIO .bet.br - Apenas domínios .bet/.bet.br são bloqueados via DNS
  • 📊 LOGS ESTRUTURADOS - Logs 🔧 para VPN config e 🌐 para DNS processing

0.3.8 #

  • 🔧 HOTFIX CRÍTICO - Corrigidos erros de compilação Kotlin na v0.3.7
  • OVERLAY CALLS - Parâmetros corretos para AccessibilityOverlay.show() e BlockerOverlay.show()
  • NULLABILITY - Correção de String? vs String em packageName (linhas 579, 600)
  • 🚨 BUILD FIX - Todos os erros de compilação resolvidos

0.3.7 #

  • 🌐 DETECÇÃO EM NAVEGADORES - Implementação específica para Chrome, Samsung Internet, Firefox, etc.
  • 🌳 DEBUG TREE LOGGER - Helper logNodeTree() para debug da árvore de acessibilidade
  • 🔍 EXTRAÇÃO URL/TÍTULO - Detecta keywords na URL bar e título da página em navegadores
  • 🎯 ESTRATÉGIA NAVEGADOR - Fallback inteligente quando conteúdo da página não é acessível
  • 🧪 testBrowserDetection() - Método para testar detecção em navegadores
  • 📊 BROWSER INFO CLASS - Estrutura para armazenar URL, título e textos de navegadores
  • 🔗 SUPORTE MÚLTIPLOS NAVEGADORES - Chrome, Samsung Internet, Firefox, Opera, Edge, Brave
  • 📖 DOCUMENTAÇÃO NAVEGADORES - Arquivo NAVEGADORES_DEBUG.md com guia completo
  • 🔍 LOGS ESTRUTURADOS - Prefixos específicos 🌐 [BROWSER_DETECTION] para fácil filtragem

0.3.6 #

  • 🎯 BLOQUEIO INTELIGENTE POR SUFIXO - Agora bloqueia apenas domínios que TERMINAM com .bet, .bet.br
  • PRECISÃO MELHORADA - firebase.googleapis.com agora PASSA, cassino.bet.br é BLOQUEADO
  • 🛡️ ALLOWLIST AUTOMÁTICA - Domínios críticos (googleapis.com, firebaseio.com, etc.) sempre permitidos
  • 🧠 HELPER matchesDomainSuffix() - Função inteligente com logs detalhados de qual regra bateu
  • 🔧 MÉTODO updateAllowlist() - Permite atualizar domínios sempre permitidos
  • 🚀 ACTIONS PARA FLUTTERFLOW - startVpnBlockingWithSuffixes() e testSuffixBlocking()
  • 📖 DOCUMENTAÇÃO COMPLETA - Arquivo SUFIXOS_EXEMPLO.md com guia detalhado
  • 🚨 STOP APRIMORADO - stopVpn() com aguardo de threads e limpeza forçada
  • EMERGENCY STOP - emergencyStop() com múltiplas tentativas para casos críticos

0.3.5 #

  • 🔧 HOTFIX CRÍTICO - Corrigido erro de compilação Kotlin "Smart cast is impossible"
  • BUILD CORRIGIDO - Problema com propriedade mutable redirectRoute resolvido
  • 🎯 THREAD SAFETY - Captura valor local da redirectRoute para evitar concorrência

0.3.4 #

  • 🔍 SISTEMA DE LOGS ULTRA DETALHADO - Prefixo 🔍 em todos os logs para filtragem fácil
  • 📊 LOGS ESTRUTURADOS POR COMPONENTE - [PLUGIN], [ACCESSIBILITY], [KEYWORD_CHECK], [VPN_START], etc.
  • 🧪 MÉTODO DE TESTE INTEGRADO - testKeywordDetection() para debug completo no FlutterFlow
  • 📋 DEBUG CONFIG MÉTODO - debugCurrentConfig() mostra estado atual completo
  • 📖 INSTRUÇÕES DE DEBUG - getDebugInstructions() com comandos logcat prontos
  • 🔍 KEYWORD CHECK PALAVRA POR PALAVRA - Log detalhado de cada verificação
  • 📱 VPN START/STOP COMPLETO - Log de cada etapa do processo
  • 🎯 EXTRACTION LOGS - Rastreamento completo da extração de texto
  • ACCESSIBILITY EVENTS - Log detalhado de todos os eventos processados
  • 🚀 MÉTODOS PARA FLUTTERFLOW - Actions prontas para teste e debug

0.3.3 #

  • 🚨 LOGS DE DEBUG COMPLETOS - Sistema de logs detalhados para diagnosticar pop-ups não aparecendo
  • 🔧 POP-UPS CORRIGIDOS - BlockerOverlay e AccessibilityOverlay com fallbacks múltiplos
  • 🌐 VPN INTERNET CORRIGIDA - Problema crítico: VPN bloqueava toda internet resolvido
  • ROTAS VPN INTELIGENTES - Tenta rotas DNS específicas antes de capturar todo tráfego
  • 🔄 DUAL OVERLAY SYSTEM - AccessibilityOverlay + BlockerOverlay chamados simultaneamente
  • 📱 LOGS ESTRUTURADOS - Prefixos 🚨 [Component] para facilitar debug via logcat
  • REENCAMINHAMENTO DNS - Pacotes não-DNS agora são reencaminhados corretamente
  • 🎯 PROBLEMA IDENTIFICADO - VPN anterior descartava pacotes TCP/HTTP causando perda de conexão

0.3.2 #

  • ⚖️ THROTTLING BALANCEADO - Ajustado de 1s para 3s (reduz spam de logs)
  • 🌐 DETECÇÃO EM NAVEGADORES - Removidos apps ignorados desnecessários
  • CHROME DESBLOQUEADO - Agora detecta keywords em resultados de busca
  • 🎯 LISTA FOCADA - Apps ignorados reduzidos para apenas essenciais (sistema, teclados)
  • 📊 MENOS RUÍDO - Throttling otimizado para melhor performance

0.3.1 #

  • 🐛 CORREÇÃO CRÍTICA DE DETECÇÃO - Debug mode ativado por padrão
  • RESPONSIVIDADE MELHORADA - Throttling reduzido de 5s para 1s
  • 📊 LOGS CRÍTICOS SEMPRE VISÍVEIS - Logs de detecção aparecem mesmo sem debug
  • 🔍 MELHOR DIAGNÓSTICO - Logs detalhados para identificar problemas de detecção
  • CORREÇÃO: Finalmente detecta keywords em sites de apostas corretamente

0.3.0 #

  • 🎯 MAJOR RELEASE - Revisão completa do sistema de detecção
  • 🧠 DETECÇÃO SUPER INTELIGENTE - Lógica expandida com contextos seguros vs suspeitos
  • PERFORMANCE OTIMIZADA - Throttling aumentado (5s), cooldown aumentado (15s)
  • 🔇 MODO DEBUG - Logs verbosos apenas em modo debug, produção limpa
  • 🚫 FILTROS EXPANDIDOS - Lista completa de apps ignorados (teclados, configurações, etc)
  • 🎛️ EXTRAÇÃO OTIMIZADA - Só extrai texto da tela quando necessário (<50 chars)
  • 🛡️ CONTEXTOS SEGUROS - Ignora "excluir bet", "bet do histórico", "configurações"
  • 🚨 CONTEXTOS SUSPEITOS - Detecta "bet online grátis", "ganhe dinheiro bet"
  • 🧹 MENOS RUÍDO - Redução drástica de logs desnecessários
  • STOP COMPLETO - stopKeywordBlocker para 100% o processamento

0.2.9 #

  • 🛠️ CORREÇÃO CRÍTICA - stopKeywordBlocker agora para completamente o processamento de eventos
  • Flag isActive - Serviço para de processar quando não há keywords ativas
  • 🔇 Sem spam após stop - Zero logs desnecessários quando o serviço está parado
  • 🧪 Detecção testada - Confirmado funcionamento correto com palavras reais (bet, 1xbet, aposta)
  • 🎯 Rota confirmada - RedirectRoute /BlocksPopUp funcionando perfeitamente

0.2.8 #

  • OTIMIZAÇÃO DE PERFORMANCE - Lista expandida de apps ignorados para reduzir processamento
  • 🚫 Filtros adicionais - Ignora launcher, AOD service e Google Search para melhor eficiência
  • 📱 Menos ruído - Redução significativa de eventos desnecessários nos logs
  • 🎯 Foco melhorado - Monitora apenas apps relevantes para detecção de apostas

0.2.7 #

  • 🧠 DETECÇÃO INTELIGENTE - Lógica melhorada para evitar falsos positivos em contextos seguros
  • Filtros inteligentes - Ignora "bet.br" em textos educativos, só triggera em contextos suspeitos
  • ⏱️ Menos eventos - Cooldown aumentado para 10s e filtro do systemui para reduzir spam
  • 🎯 Melhor precisão - Evita detecção no próprio app com filtros expandidos
  • 📱 Rota corrigida - Documentação atualizada para usar rota correta "blocksPopUp"

0.2.6 #

  • 🛠️ CORREÇÃO CRÍTICA - Variável currentTime duplicada no KeywordBlockerService.kt
  • Conflito resolvido - Renomeado triggerTime para evitar conflitos de declaração
  • Build Android corrigido - Agora compila sem erros no Kotlin

0.2.5 #

  • 🛠️ HOTFIX CRÍTICO - Removido export do stopou_blocker_actions.dart temporariamente
  • Correção de compilação - stopou_blocker_actions.dart não é mais importado automaticamente
  • Workaround para v0.2.3 - Usuários podem usar StopouBlocker diretamente sem erros
  • ⚠️ Breaking change temporário - stopou_blocker_actions deve ser importado manualmente se necessário

0.2.4 #

  • 🛠️ CORREÇÃO CRÍTICA - Erro de compilação "Too few positional arguments" no startKeywordBlocker
  • Parâmetros corrigidos - startKeywordBlocker agora recebe corretamente o parâmetro keywords
  • Build corrigido - Versão publicada no pub.dev agora compila sem erros
  • Actions funcionais - stopou_blocker_actions.dart totalmente funcional

0.2.0 #

  • 🚀 NOVA FUNCIONALIDADE - Parâmetro redirectRoute no startKeywordBlocker
  • Intent Redirect - Abre MainActivity com rota específica quando redirectRoute é fornecido
  • Overlay de Acessibilidade - Overlay em tela cheia quando não há redirectRoute
  • Android 12+ Compatible - Remove Toast, usa TYPE_ACCESSIBILITY_OVERLAY
  • Sem SYSTEM_ALERT_WINDOW - Não requer permissões extras de overlay
  • 🎯 Exemplo de uso: startKeywordBlocker(['bet'], redirectRoute: '/exercicio-autocontrole')

0.1.7 #

  • 🔍 LOGS SUPER DETALHADOS - Debug completo para diagnosticar problemas de detecção
  • Mais tipos de eventos - Inclui WINDOW_STATE_CHANGED para melhor detecção
  • Logs de cada palavra - Verifica palavra por palavra nos logs
  • Configuração expandida - Remove restrição de pacotes específicos
  • Força atualização - Keywords forçadas no serviço rodando

0.1.6 #

  • 🛠️ HOTFIX CRÍTICO - Erro de compilação "Unresolved reference 'applicationContext'"
  • Correção: Substituído applicationContext por context em RestrictedSettingsHelper
  • Build corrigido: APK/AAB compilam sem erros

0.1.5 #

  • 🔍 DIAGNÓSTICO KEYWORDS - Logs detalhados para debugging do monitoramento de palavras
  • Método getActiveKeywords() - Verifica quais keywords estão ativas em tempo real
  • FlutterFlow Actions - Arquivo stopou_blocker_actions.dart com métodos simplificados
  • stopKeywordMonitoring() - Método para parar o monitoramento
  • Logs melhorados - KeywordBlockerService mostra estado das keywords
  • Testes corrigidos - Mock implementa todos os métodos necessários
  • SharedPreferences sync - Keywords salvas em duplicado para garantir persistência

0.1.4 #

  • 🛠️ CORREÇÃO CRÍTICA - Erro de compilação Kotlin "Argument type mismatch"
  • Null safety - Correção de e.message nullable em mapOf()
  • Tipo safety - Todas chamadas sendEvent agora usam tipos corretos
  • Build corrigido - APK/AAB agora compilam sem erros

0.1.3 #

  • 🔍 DEBUG VERSION - Logs detalhados para identificar problema da VPN não ativar
  • Logs expandidos - Rastreamento completo do fluxo VPN (plugin → service → interface)
  • Verificação de permissões - Valida permissão VPN antes de tentar iniciar
  • Error handling melhorado - Retorna erros específicos em vez de falhar silenciosamente
  • Diagnóstico de interface - Logs detalhados do processo builder.establish()

0.1.2 #

  • 🛠️ CORREÇÃO CRÍTICA - Serviço de acessibilidade não aparecendo nas configurações
  • AndroidManifest corrigido - Nome completo do serviço (app.stopou.stopou_blocker.KeywordBlockerService)
  • Label adicionado - Serviço agora aparece como "Stopou Blocker" nas configurações
  • Configuração XML limpa - Removida configuração incorreta de settingsActivity
  • Descrição otimizada - Texto mais claro e direto para aprovação do sistema

0.1.1 #

  • 🔧 CORREÇÃO CRÍTICA - Permissões de acessibilidade em Android restritivo
  • Configuração otimizada do serviço de acessibilidade para evitar bloqueio do sistema
  • Instruções detalhadas no app exemplo para ativar permissões restritas
  • Novo método openAccessibilitySettings() para melhor UX
  • Descrição melhorada do serviço focada em "well-being digital"
  • Configuração menos invasiva (canRetrieveWindowContent=false)

0.1.0 #

  • 🚀 MAJOR UPDATE - Plugin totalmente otimizado para FlutterFlow
  • 6 novos métodos de verificação de status: hasVpnPermission(), hasAccessibilityPermission(), hasNotificationPermission(), isVpnRunning(), isKeywordBlockerRunning()
  • Overlay customizável para alertas (substitui Toast simples)
  • Accessibility Service otimizado (-80% eventos processados, throttling de 1s, cache persistente)
  • VPN robusto com retry automático, health checks e fallback DNS
  • Permissão SYSTEM_ALERT_WINDOW para overlays do sistema
  • Tratamento avançado de erros com recovery automático
  • Testes unitários expandidos para cobertura completa
  • App exemplo redesenhado com dashboard em tempo real
  • Documentação detalhada das melhorias para FlutterFlow

0.0.11 #

  • Atualização de versão para publicação no pub.dev.

0.0.10 #

  • Exibe a palavra-chave detectada no aviso de acessibilidade.

0.0.9 #

  • Atualização de versão para publicação no pub.dev.

0.0.8 #

  • Adicionado enum BlockStrategies e parâmetro strategies no start para definir estratégias de bloqueio.

0.0.7 #

  • Adicionado parâmetro dnsServers no start para configurar servidores DNS iniciais.
  • Removido curinga * do exemplo de blocklist (usar .bet.br).

0.0.6 #

  • Suporte para atualização dinâmica do servidor DNS via updateDnsServers.

0.0.5 #

  • Correção de compatibilidade no método onRequestPermissionsResult (Android 13+).
  • Adicionado suporte à permissão de notificações (POST_NOTIFICATIONS).
  • Melhoria no tratamento de erros e logs no plugin.
  • Ajustes no fluxo de inicialização da VPN.

0.0.4 #

  • Correções na configuração do plugin
  • Ajuste no fluxo de build Android
  • Preparação para testes de VPN no APK

0.0.3 #

Versão corrigida CODEx.

0.0.2 #

  • Separado método de permissão (requestPermission) do método de execução da VPN (startVpn).
  • Melhorias no controle do fluxo de inicialização da VPN.

0.0.1 #

  • Primeira versão publicada do stopou_blocker.
  • Suporte inicial para Android usando VpnService.
  • Exposição de métodos básicos:
    • requestPermission
    • start
    • stop
    • updateBlocklist
    • getStatus
  • Suporte a eventos em tempo real via EventChannel (stopou_blocker/events).
0
likes
0
points
9
downloads

Publisher

unverified uploader

Weekly Downloads

Plugin do Stopou para bloqueio por VPN local (preparado para estratégias futuras).

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on stopou_blocker

Packages that implement stopou_blocker