O Mastodon faz parte de uma rede social descentralizada chamada Fediverse, onde diferentes servidores se comunicam falando a mesma língua: ActivityPub. Você já deve ter notado que pode seguir usuários de outras instâncias do Mastodon ou até de plataformas como PeerTube e Pixelfed sem sair do seu servidor. Este artigo explica o conceito técnico de federação e o protocolo ActivityPub em termos simples. Você aprenderá como os dados fluem entre servidores, o que torna a rede resiliente e como verificar se sua instância está federando corretamente.
Principais Conclusões: Entendendo a Federação ActivityPub no Mastodon
- Protocolo ActivityPub: Um padrão W3C que define como os servidores enviam e recebem atividades como postagens e seguidores.
- Inbox e Outbox: Cada conta do Mastodon tem uma caixa de entrada privada para receber atividades e uma caixa de saída pública para transmiti-las.
- Linha do Tempo Federada: Mostra postagens públicas de todos os servidores que sua instância conhece, com base em assinaturas compartilhadas.
O Que é ActivityPub e Como Ele Possibilita a Federação
ActivityPub é um protocolo de rede social descentralizada padronizado pelo World Wide Web Consortium. Ele define um conjunto de ações chamadas atividades, como Criar, Seguir, Curtir e Anunciar. Cada servidor Mastodon executa um software que implementa esse protocolo, permitindo enviar e receber essas atividades com outros servidores. O protocolo usa JSON-LD como formato de dados, o que torna as mensagens legíveis tanto por humanos quanto por máquinas.
Toda conta do Mastodon tem dois endpoints principais: um Outbox e um Inbox. O Outbox é uma lista pública de todas as atividades que a conta realizou, como publicar um status ou impulsionar uma entrada. O Inbox é um endpoint privado onde a conta recebe atividades de outros servidores. Quando você segue um usuário em um servidor remoto, seu servidor envia uma atividade Seguir para o Inbox desse usuário. Esse servidor remoto então envia uma notificação de volta para o seu servidor, e a conexão é estabelecida. Esse handshake de duas vias é a base da federação.
A federação não é automática para todos os servidores da rede. O administrador da sua instância pode configurar bloqueios de domínio, silenciar ou suspender servidores inteiros se eles violarem as regras da instância. Isso significa que, embora o ActivityPub seja um protocolo aberto, seu servidor decide com quais outros servidores se comunica. O resultado é uma rede onde cada instância mantém suas próprias políticas de moderação enquanto ainda participa do Fediverse maior.
Como Verificar e Controlar a Federação na Sua Instância Mastodon
Você não precisa configurar a federação manualmente como usuário comum. No entanto, entender como verificar com quais servidores sua instância está federando ajuda a solucionar problemas de visibilidade. As etapas a seguir se aplicam a administradores do Mastodon e usuários avançados que têm acesso ao painel de administração do servidor.
- Abra o Painel de Administração
Faça login na sua instância do Mastodon com uma conta de administrador. Clique no menu hambúrguer no canto superior direito e selecione Preferências. Na barra lateral esquerda, escolha Administração e depois Bloqueios de Domínio. - Revise a Lista de Bloqueios de Domínio
A página de Bloqueios de Domínio mostra todos os servidores que estão bloqueados, silenciados ou suspensos. Um indicador verde ao lado de um domínio significa que ele é permitido. Se um servidor que você deseja acessar aparecer aqui com status de bloqueio, a federação está desabilitada intencionalmente para esse servidor. - Verifique o Status de Federação de um Servidor Específico
Role até o final da página de Bloqueios de Domínio e clique em Ver federação. Isso abre uma caixa de busca onde você pode digitar um nome de domínio. O resultado mostra se o servidor está acessível, o número de contas conhecidas e o timestamp da última atividade. - Teste a Federação com uma Conta Remota
Pesquise por uma conta pública em outro servidor na barra de busca do Mastodon. Se a conta aparecer e você puder visualizar o perfil dela, a federação está funcionando. Se a busca não retornar resultados, ou o servidor remoto está bloqueado ou seu servidor ainda não descobriu essa conta. - Force uma Atualização da Federação
Na página de Administração, vá para Sidekiq e procure pela fila chamada pull. Essa fila lida com atividades de federação recebidas. Se a fila estiver travada ou crescendo, reinicie o serviço Sidekiq do terminal do servidor usando o comandosystemctl restart mastodon-sidekiq.
Problemas Comuns de Federação e Suas Causas
Não Consigo Ver Postagens de um Usuário Remoto
Se você segue um usuário em outra instância, mas as postagens dele não aparecem na sua linha do tempo inicial, o servidor remoto pode ter silenciado o seu servidor. Silenciar oculta as postagens da linha do tempo federada, mas ainda permite a entrega direta. Verifique a política de moderação do servidor remoto visitando a página “Sobre” dele. Se o seu servidor estiver listado em domínios silenciados, você só verá as postagens ao visitar o perfil do usuário diretamente.
A Linha do Tempo Federada Mostra Postagens Duplicadas ou Desatualizadas
Isso acontece quando seu servidor recebe a mesma atividade de múltiplos caminhos. Por exemplo, se você segue um usuário diretamente e também segue uma hashtag que ele usou, a mesma postagem pode aparecer duas vezes. O Mastodon deduplica postagens pelo URI único, mas algumas versões mais antigas do software podem não lidar com isso corretamente. Atualize sua instância do Mastodon para a versão estável mais recente para resolver a maioria dos problemas de duplicação.
A Comunicação Servidor a Servidor Falha Sem Erro
O ActivityPub depende de HTTPS e certificados SSL válidos. Se o certificado SSL do seu servidor estiver expirado ou mal configurado, outros servidores rejeitarão as atividades recebidas. Use uma ferramenta de verificação SSL online para verificar seu certificado. Certifique-se também de que o firewall do seu servidor permita conexões de entrada na porta 443. Portas bloqueadas impedem que os endpoints de inbox recebam atividades.
| Item | ActivityPub | OStatus (Legado) |
|---|---|---|
| Órgão de padronização | Recomendação W3C | Nenhum padrão formal |
| Formato de dados | JSON-LD | XML (Atom) |
| Modelo de federação | Push e Pull via inbox/outbox | Pull via feeds RSS |
| Suportado pelo Mastodon | Padrão desde a versão 2.0 | Removido na versão 3.0 |
| Atualizações em tempo real | Sim, via Activity Streams | Não, baseado em polling |
O ActivityPub substituiu o OStatus como protocolo principal de federação porque oferece menor latência, melhor suporte para atividades privadas e um modelo de dados padronizado. Instâncias do Mastodon rodando versão 3.0 ou posterior suportam apenas ActivityPub.
Agora você entende como o ActivityPub possibilita a federação do Mastodon através de endpoints inbox e outbox, e pode verificar o status da federação pelo painel de administração. Para explorar mais o Fediverse, tente seguir uma conta em uma plataforma que não seja Mastodon, como Pixelfed ou WriteFreely, para ver a federação entre protocolos em ação. Para controle avançado, considere configurar uma lista personalizada de bloqueios de domínio ou usar a página Preferências > Administração > Federação para monitorar a saúde do servidor.