Código livre

federado

O fediverso, direto do navegador.

Um cliente para quem está chegando ao fediverso: você digita o seu servidor, entra com a sua conta e o federado abre o app feito para aquele tipo de servidor. Sem instalar nada, sem servidor próprio.

Em desenvolvimento

Instalar Ver o código no GitLab

GNOME Web com o federado aberto na timeline da conta Demo: uma postagem de texto e outra com a foto de uma trilha na floresta, com os botões de responder, favoritar, compartilhar, salvar, editar e apagar.

Comece pelo seu servidor

Digite o endereço do servidor onde está a sua conta. O federado descobre que servidor é aquele e abre o app certo para ele; quem quiser experimentar outro escolhe em Choose app.

Tela inicial do federado, Your instance, com exemplo.org digitado, a opção Choose app aberta em Automatic (recommended) e o botão Continue.

Escreva como no Mastodon

O editor conta os caracteres pelo limite do seu servidor e tem visibilidade, aviso de conteúdo, mídia e o idioma da postagem. Se você fechar sem publicar, o rascunho fica guardado.

Janela New post do federado com uma pergunta sobre trilhas para crianças, emojis e a hashtag trilhas, a visibilidade Public, o idioma PT, o contador em 405 e o botão Post.

Fotos, álbuns e enquetes

As postagens aparecem com as imagens no tamanho certo, os álbuns lado a lado e as enquetes prontas para votar. Mídia sensível fica borrada até você pedir para ver.

Timeline do federado com um álbum de duas fotos, um pico nevado ao entardecer e o Rio de Janeiro visto do alto, seguido de uma enquete sobre o café da manhã.

Várias contas, o app que você preferir

No menu da conta você troca entre a timeline pessoal, a local e a pública, entra com outras contas e escolhe, para cada uma, qual app usar.

Menu da conta Demo no federado, com as abas Home, Local e Public, perfil, configurações, Add account e a escolha do cliente para a conta, com Mastodon recomendado e Pixelfed.

Pixelfed: as fotos primeiro

Em servidores Pixelfed, o federado abre um app feito para fotos: uma por linha, na largura da coluna e sem cortes, com a legenda embaixo, curtidas, compartilhamentos e comentários.

Módulo Pixelfed do federado com a foto da trilha na floresta ocupando a largura da coluna, os botões abaixo dela e a legenda.

Mais recursos

Notificações e busca

Menções, favoritos, compartilhamentos e novos seguidores numa lista só, e busca por contas, hashtags e postagens.

Moderação

Silencie, bloqueie e denuncie contas, e use os filtros do seu servidor para esconder ou avisar sobre o que você não quer ver.

Emoji e reações

Emoji personalizados do seu servidor no editor, parados até você passar o mouse, e as reações com emoji do Akkoma.

Edição e citações

Edite o que já publicou, inclusive a mídia, e veja as postagens citadas dentro da que as cita.

No celular

O mesmo site se ajusta à tela do telefone, com a barra e os diálogos pensados para o toque.

Sobre o projeto

O federado é um cliente do fediverso para quem está começando. O primeiro passo, que costuma ser o mais difícil, é só digitar o servidor da sua conta: o federado descobre o tipo de servidor e carrega o app certo para ele.

Cada tipo de servidor tem o seu próprio app, porque Mastodon, Pixelfed e Lemmy não são a mesma coisa com outra cara. Hoje são dois: o do Mastodon, que também atende servidores com a mesma API, como GoToSocial, Akkoma e archelon, e o do Pixelfed. O navegador baixa só o app em uso.

Não existe servidor do federado. O site é estático, fala direto com o servidor da sua conta e guarda as contas no próprio navegador.

Tecnologias

Rust com Leptos, compilado para WebAssembly. Um módulo wasm para cada tipo de servidor e um site estático, sem back-end: tudo roda no navegador.

Licença: AGPL-3.0-or-later

Material de exemplo usado nas telas:

Instalar o federado

Para compilar, precisa de Rust com o alvo wasm32-unknown-unknown.

Abra no navegador

A versão mais recente do main fica publicada no GitLab Pages: abra federado-dcdae4.gitlab.io e entre com a sua conta.

https://federado-dcdae4.gitlab.io

Do código-fonte

git clone https://gitlab.com/alteronauta/federado.git && cd federado
rustup target add wasm32-unknown-unknown
cargo xtask build    # gera o site estático em dist/
cargo xtask serve    # ou serve em http://127.0.0.1:8000

O site gerado em dist/ é estático e funciona em qualquer servidor de arquivos, como o GitLab Pages. As contas ficam no armazenamento do navegador, separadas por endereço do site: o guia de testes explica como mantê-las entre uma sessão e outra.

Conte o que você precisa resolver.

adriano@ars.tec.br

@adriano@ars.tec.br