VPN por aplicativo no Android e aba anônima do Chrome: o que a regra cobre
Regras por aplicativo selecionam pacotes, não abas do navegador, e a notificação chega depois da primeira solicitação. Verifique escopo, momento e a aplicação que você precisa.
Alguém criou uma automação que liga a VPN quando surge uma aba anônima, e ela não funciona de forma confiável. Há uma razão estrutural para isso, e vale a pena entendê-la antes de ajustar a automação. As regras de VPN por aplicativo do Android selecionam pacotes de aplicativo, e a navegação anônima é um estado dentro de um pacote, então a regra não consegue distinguir os dois. A notificação dispara depois que o navegador já começou a trabalhar, então até um gatilho correto chega tarde. Percorra as verificações abaixo em ordem; uma falha na quarta verificação significa que é a abordagem, e não a configuração, que precisa mudar.
Verificação um: confirme o que a regra por aplicativo pode selecionar
Um aplicativo de VPN Android constrói seu túnel com listas de aplicativos permitidos ou bloqueados, e essas listas usam nomes de pacote. O Chrome no modo normal e o Chrome no modo anônimo são o mesmo pacote, com o mesmo id de usuário e a mesma permissão de rede, então uma regra que inclui ou exclui o Chrome se aplica aos dois de forma idêntica. A plataforma não tem identidade vinculada à aba para comparar.
Isso não é um defeito a contornar; é a granularidade que a API oferece. Se o seu requisito é o tráfego do Chrome pelo túnel e todo o resto fora, uma regra por aplicativo o expressa exatamente. Se o seu requisito é que apenas abas privadas passem pelo túnel enquanto as abas comuns vão direto, nenhuma regra por aplicativo pode expressar isso, e nenhuma quantidade de lógica de notificação acrescentará um seletor que a plataforma não tem.
Fique atento à armadilha da identidade do pacote durante a verificação. Uma versão beta ou uma compilação de fabricante é um pacote diferente do navegador estável, então uma regra que cobre um erra silenciosamente o outro:
adb shell pm list packages | grep -i chrome
Verificação dois: teste se o gatilho pode algum dia ser cedo o suficiente
Um ouvinte de notificações observa as notificações que tem permissão de ver. Observação não é interceptação: o navegador já resolveu o nome e abriu a conexão quando a notificação existe, e nada nesse caminho espera a sua automação terminar. Uma tarefa que então inicia o cliente VPN precisa esperar a interface do cliente, qualquer pedido de consentimento e o handshake do túnel, medidos em segundos, enquanto a primeira solicitação é medida em milissegundos.
A própria detecção é frágil por um segundo motivo. O texto da notificação muda entre versões e localizações, então um padrão ajustado a uma versão deixa de corresponder após uma atualização, e a falha é silenciosa. Uma notificação ausente não é prova de que a navegação privada não existe; pode significar apenas que a string mudou ou que o canal foi silenciado.
Existe uma versão legítima deste fluxo de trabalho, e ela é ordenada em vez de reativa: conecte primeiro a VPN aprovada, confirme um sinal de prontidão que realmente prove que o túnel transporta tráfego, depois abra a sessão anônima pelos controles de navegador suportados, e pare se a verificação de prontidão falhar. Isso protege a sessão que você está prestes a iniciar sem fingir proteger uma que já está em andamento.
Verificação três: audite a permissão que você está prestes a conceder
O acesso às notificações é uma concessão sensível que permite a um serviço ler notificações de todos os aplicativos, não apenas do navegador. Concedê-la a uma ferramenta de automação desconhecida para monitorar um estado do navegador é uma troca ruim, e o acesso persiste depois que o experimento termina. Toques guiados por acessibilidade são piores: são uma camada de script sobre a interface, não uma interface de controle de VPN suportada, e quebram a qualquer mudança de layout.
Antes de conceder qualquer coisa, pergunte se o mesmo resultado é alcançável com um mecanismo suportado. Se a resposta for uma exigência de política, geralmente é: a plataforma pode impor um túnel para um aplicativo ou perfil sem nenhum serviço de escuta.
Verificação quatro: use sempre ativo e bloqueio quando o requisito é aplicação
Se o navegador nunca deve se comunicar fora do túnel, a aplicação pertence às configurações da plataforma, não a uma macro. O Android suporta VPN sempre ativa com um modo de bloqueio que impede o tráfego quando o túnel não está estabelecido, e dispositivos gerenciados podem recebê-la por política. Confirme o que o dispositivo tem agora em vez de supor:
adb shell settings get global always_on_vpn_app
adb shell settings get global always_on_vpn_lockdown
Um valor de aplicativo não nulo significa que um pacote está configurado como sempre ativo, e um valor de bloqueio de 1 significa que as conexões fora do túnel estão bloqueadas. É esse par que transforma um hábito de melhor esforço em garantia, e também elimina a corrida por completo, porque o túnel é estabelecido antes que o tráfego do aplicativo seja permitido.
Dois limites vale a pena declarar aqui. Os perfis de trabalho têm a própria configuração de VPN, então uma regra verificada no perfil pessoal não diz nada sobre o de trabalho. E um navegador instalado separadamente, uma aba personalizada aberta por outro aplicativo ou uma webview dentro de um aplicativo é um pacote ou contexto diferente com seu próprio roteamento, então verifique o pacote real em vez de supor que uma janela com estilo diferente é um domínio separado.
Verificação cinco: escreva o fluxo de trabalho e teste o caminho de falha
Escolha o que escolher, documente a ordem e a condição de aborto. Para o fluxo de conveniência isso significa: túnel ativo, prontidão provada, anônima aberta, e uma parada dura se a prontidão falhar. Para o caminho de aplicação significa: aplicativo sempre ativo configurado, bloqueio ativado, e o comportamento esperado quando o túnel não consegue subir de jeito nenhum, que é nenhum tráfego em vez de tráfego desprotegido.
Depois teste a falha, não apenas o sucesso. Desconecte o túnel durante uma sessão e observe o que o navegador faz; bloqueie o processo do aplicativo VPN e confirme que nada vaza. Por fim, mantenha os dois modelos de privacidade separados na documentação do usuário: o anônimo controla o estado temporário do navegador e não esconde o tráfego da rede, enquanto uma VPN transporta tráfego mas não apaga logins nem nada enviado dentro da sessão privada.