Como a Federação do Mastodon Funciona: ActivityPub Explicado de Forma Simples
🔍 WiseChecker

Como a Federação do Mastodon Funciona: ActivityPub Explicado de Forma Simples

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.

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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 comando systemctl 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.