stopou_blocker 0.6.1
stopou_blocker: ^0.6.1 copied to clipboard
Plugin do Stopou para bloqueio por VPN local (preparado para estratégias futuras).
0.6.1 JSON LIMPO + ÍCONES OTIMIZADOS #
🧹 JSON ESTRUTURADO PARA FLUTTERFLOW #
- ✨ Objeto limpo:
{"label": "...", "packageName": "...", "iconBase64": "..." ou null} - 🎯 Campos consistentes - estrutura previsível para FlutterFlow
- 🔗 Parsing otimizado - sem concatenação indevida de dados
- 📋 Formato documentado - especificação clara dos campos
🎨 CONVERSÃO ROBUSTA DE ÍCONES #
- 🔧 BitmapDrawable → bitmap - extração direta quando possível
- 🖼️ Fallback inteligente - conversão para outros tipos de Drawable
- 📐 Dimensões padrão - 64x64 para ícones sem tamanho intrínseco
- 🗜️ Base64.NO_WRAP - sem quebras de linha indevidas
- 💾 Compressão PNG 90% - qualidade vs tamanho otimizado
- 🛡️ Null safety - retorna null em vez de quebrar
📱 MELHORIAS DE API #
- 🔍 packageManager.getInstalledApplications(GET_META_DATA) - TODOS os apps
- 🏷️ appInfo.loadLabel() - labels limpos e corretos
- 📦 appInfo.packageName - identificadores precisos
- 📊 Logs detalhados -
"📱 [GET_APPS] ✅ $label ($packageName)" - 🔢 Contagem final - total de apps processados
🛡️ ROBUSTEZ APRIMORADA #
- ⚡ Try-catch granular - por app e por ícone
- 🔄 Processamento contínuo - não para com erros individuais
- 📝 Logs informativos - erros específicos sem spam
- 🔤 Ordenação alfabética - por label para UX melhor
✅ COMPATIBILIDADE TOTAL #
- 🔗 API inalterada -
List<Map<String, dynamic>> - 🧪 26 testes passando - regressões zero
- 🏗️ Build Android OK - compilação perfeita
- 📱 FlutterFlow ready - JSON parsing otimizado
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
applicationContextporcontextem 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.dartcom 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.messagenullable 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
BlockStrategiese parâmetrostrategiesnostartpara definir estratégias de bloqueio.
0.0.7 #
- Adicionado parâmetro
dnsServersnostartpara 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:
requestPermissionstartstopupdateBlocklistgetStatus
- Suporte a eventos em tempo real via
EventChannel(stopou_blocker/events).