Automatizando digitação de códigos 2FA no browser
Descrição: Este artigo explica como criar um script em Bash para automatizar a digitação de códigos Two-Factor Authentication (2FA) no navegador, utilizando oathtool, xsel, xdotool e zenity.
[ Hits: 1.413 ]
Por: Fábio Berbert de Paula em 29/05/2025 | Blog: https://fabio.automatizando.dev
#!/usr/bin/env bash
# Carrega variáveis de ambiente
if [ -f "$HOME/.env" ]; then
source "$HOME/.env"
else
zenity --error --title="Erro" --text="~/.env não encontrado."
exit 1
fi
# Solicita nome do site
site=$(zenity --entry --title="Código 2FA" --text="Digite o nome do site:")
# Sai se vazio
[ -z "$site" ] && exit 0
# Converte nome para variável
var_name="$(echo "$site" | tr '[:lower:]' '[:upper:]')_2FA"
# Recupera segredo
secret="${!var_name}"
# Verifica se existe
if [ -z "$secret" ]; then
zenity --error --title="Erro" --text="Variável $var_name não definida."
exit 1
fi
# Gera e cola código
code=$(oathtool --totp -b "$secret")
echo -n "$code" | xsel -b
sleep 1
xdotool key --clearmodifiers ctrl+v
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Como Turbinar sua Produtividade com VIM - Guia Definitivo do Desenvolvedor
Expressões Regulares - Entenda o que são Lookahead e Lookbehind
flock - Gerenciador de lockfiles
Yad 0.16 - Eu quero sempre mais de ti
Liberar navegação para Speedy Home
Receba seu IP externo via e-mail ou ensine o bash a ler e enviar e-mails
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
[Resolvido] dlopen(): error loading libfuse.so.2 AppImages require FUSE to run.
Criação de diretórios e aplicação de restrições de acesso no Linux
Instalando partes faltantes do Plasma 6
Como ler fonte de um projeto? (3)
Instalar Dual Boot, Linux+Windows. (2)









