fiu
Mastodon no terminal, pronto para scripts.
Um cliente de linha de comando para o Mastodon e outros servidores com a mesma API: leia, publique e automatize, sem sair do terminal.
Publique e agende de uma linha
Posts com enquete, aviso de conteúdo, mídia e respostas saem de um comando só, e --scheduled-in agenda para depois. O texto pode vir da entrada padrão ou do seu editor.
Filtre o JSON sem instalar o jq
Com --json você recebe a resposta crua do servidor, e --jq filtra o resultado na hora, com o jq embutido. Dá para listar o ID e o texto de cada post, um por linha.
Teste antes de rodar no cron
--dry-run mostra o que o comando faria sem enviar nada, --no-input nunca espera uma pergunta e a chave de idempotência torna seguro repetir um post. Cada tipo de falha tem seu código de saída.
Mais recursos
Leitura
Lê timelines (início, pública, de hashtag, de lista, de conta e outras), conversas, notificações e favoritos, e busca posts, contas e hashtags.
Contas e listas
Segue, silencia e bloqueia contas, gerencia listas e hashtags, e alterna entre várias contas autenticadas.
Eventos ao vivo
O comando fiu stream acompanha eventos em tempo real, uma linha de JSON por evento.
Sobre o projeto
O fiu é para quem usa o Mastodon pelo terminal e quer também automatizá-lo: publicar de um script, fazer backup, montar um bot. É uma versão em Rust da interface de linha de comando do toot e aproveita o mesmo formato de login, então dá para reutilizar as contas do toot.
A interface de texto interativa (TUI) do toot não foi portada, assim como os comandos que o toot já tinha marcado como obsoletos. Filtros do servidor, bloqueio de domínios e denúncias ainda não são cobertos.
Tecnologias
Rust, com clap para a linha de comando, reqwest para a rede e jaq para filtrar o JSON sem precisar do jq instalado.
Licença: GPL-3.0-only
Instalar o fiu
Para compilar, precisa de Rust 1.85 ou mais novo.
Do binário publicado
Binário estático para Linux, também para ARM64 (troque amd64 por arm64), com soma SHA256 para conferir.
curl -LO https://gitlab.com/alteronauta/fiu/-/releases/v1.1.0/downloads/fiu-v1.1.0-linux-amd64.tar.gz
curl -LO https://gitlab.com/alteronauta/fiu/-/releases/v1.1.0/downloads/SHA256SUMS
sha256sum --check --ignore-missing SHA256SUMS
tar xzf fiu-v1.1.0-linux-amd64.tar.gz
install -D fiu-v1.1.0-linux-amd64/fiu ~/.local/bin/fiu
Do código-fonte
git clone https://gitlab.com/alteronauta/fiu.git && cd fiu
cargo install --path .
Depois de instalar, fiu login autentica a conta. Quem já usa o toot reaproveita as contas dele, porque o formato de login é o mesmo. Os detalhes estão no README.