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.473 ]
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
Adote um projeto, ajude o Viva o Linux
Firewire resiste, Bcachefs sai: destaques Linux do dia
Como criar um clicador de sites com NodeJS
Edital de política de contribuição de artigos
Tasker - Como fazer um ANDROID falante
Monitoramento de pops para provedores
Receba seu IP externo via e-mail ou ensine o bash a ler e enviar e-mails
Como programar backup com rsync e cron de maneira rápida e simples
Script de firewall completíssimo
Desligar servidores quando o nobreak entra na bateria e envio de aviso por e-mail
Trabalhando Nativamente com Logs no Linux
Jogando Daikatana (Steam) com Patch 1.3 via Luxtorpeda no Linux
LazyDocker – Interface de Usuário em Tempo Real para o Docker
Apagar Todo o Histórico do Terminal
Linux Mint: Zram + Swapfile em Btrfs
Internet não funciona corretamente no Linux (3)
Pendrive do Ubuntu 24.04 travando ao tentar fazer a instalação dual bo... (4)
Instalar Dual Boot, Linux+Windows. (14)
queria saber de uma coisa sobre o steam e derivados (3)
tentei instalar o steam pelo terminal, agora ele não abre (3)









