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.474 ]
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
Aprenda a criar músicas com Inteligência Artificial usando Suno AI
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Tags automáticas em URLs com a classe urlmatch da PHP
Firefox 2 e seu recurso de proteção contra Web Phishing
Tradutor de palavras em vários idiomas via shell
Monitoramento de pops para provedores
Backup automatizado com HD externo
Yad 0.16 - Eu quero sempre mais de ti
Relatório de conexão Wi-Fi com dados de usuários conectados nos POPs
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)









