Como administrador de uma instância Mastodon, você gerencia o relay que seu servidor usa para trocar postagens públicas com outras instâncias. Um relay distribui suas postagens públicas locais para todas as instâncias inscritas e traz as postagens públicas delas para sua timeline federada. Sem uma visão clara de quem assina seu relay, você não pode auditar parceiros de federação ou solucionar problemas de entrega. Este artigo explica como encontrar a lista de assinantes do relay usando a interface de administração do Mastodon e o painel do Sidekiq, e o que fazer se a lista aparecer vazia ou incompleta.
Principais Conclusões: Visualizando e Gerenciando Assinantes do Relay no Mastodon
- Página Administration > Relays: Lista todos os relays aos quais sua instância está inscrita, mas não mostra quais instâncias assinam seu relay.
- Sidekiq > Abas Retries ou Scheduled: Revela solicitações de assinatura de relay recebidas de instâncias remotas que estão pendentes ou falharam.
- Logs de webhook de assinatura do relay: Armazenados no arquivo de log de produção do Mastodon; use grep para “relay” ou “subscribe” para ver IPs e domínios dos assinantes.
Por que o Mastodon Não Mostra uma Lista Direta de Assinantes
Os relays do Mastodon funcionam em um modelo push-pull. Quando você ativa um relay, sua instância envia uma solicitação de assinatura para o servidor relay. O servidor relay então envia postagens públicas de todas as instâncias inscritas para sua instância. O servidor relay decide quais instâncias recebem essas postagens — o Mastodon não mantém um banco de dados local de quais instâncias remotas assinam o relay que sua instância usa.
A interface de administração do Mastodon mostra apenas relays aos quais sua instância se inscreveu, não o contrário. Esse design é intencional para manter as operações do relay leves. Para ver quem assina seu relay, você deve verificar a lista de assinantes do próprio servidor relay ou examinar as solicitações de assinatura recebidas que sua instância Mastodon recebe de outras instâncias.
O que a Página de Relays da Administração Realmente Mostra
No painel de administração do Mastodon, navegue até Administration > Relays. Esta página exibe uma tabela com colunas para a URL do relay, o status atual (ativado ou desativado) e a hora da última entrega bem-sucedida. Não há coluna para contagem de assinantes ou domínios de assinantes.
Onde as Solicitações de Assinatura Recebidas Aparecem
Quando uma instância remota do Mastodon assina o mesmo relay que sua instância, o servidor relay envia uma confirmação de assinatura para sua instância. O Mastodon processa isso por meio de jobs em segundo plano do Sidekiq. Se o job for bem-sucedido, a instância remota é adicionada à lista interna de assinantes do relay da sua instância — mas essa lista não é exposta na interface de administração. Você só pode ver esses jobs na interface web do Sidekiq.
Passos para Visualizar Assinantes do Relay via Sidekiq
- Abra o painel do Sidekiq
Adicione/sidekiqà URL da sua instância Mastodon. Por exemplo, se sua instância éhttps://mastodon.exemplo.com, visitehttps://mastodon.exemplo.com/sidekiq. Você precisa estar logado como administrador para acessar esta página. - Clique na aba Busy ou Retries
Os jobs de assinatura de relay são nomeadosPubsubhubbub::SubscribeWorkerouActivityPub::DeliveryWorker. Procure por jobs com argumentos que contenham uma URL de relay ou um domínio de instância remota. - Clique em um job para ver seus argumentos
Cada job contém um payload JSON. O camposubscribermostra o domínio da instância remota. O camporelay_urlmostra o endereço do servidor relay. Copie o domínio da instância remota deste campo. - Verifique a aba Scheduled para assinaturas pendentes
Se uma instância remota se inscreveu, mas o job está agendado para tentativa posterior, você ainda pode ver seu domínio nos argumentos do job. Isso indica um problema temporário de entrega. - Exporte a lista de assinantes manualmente
Copie todos os domínios únicos de instâncias remotas dos argumentos dos jobs para um arquivo de texto. Este arquivo serve como sua lista de assinantes.
Método Alternativo: Verifique o Endpoint de Assinantes do Servidor Relay
A maioria dos relays do Mastodon é alimentada pelo protocolo pubsubhubbub. O servidor relay expõe uma lista de assinantes em uma URL conhecida. Este método funciona apenas se você controla o servidor relay ou se o relay fornece um endpoint público de assinantes.
- Encontre a URL base do servidor relay
Vá para Administration > Relays e anote a URL do relay. Por exemplo,https://relay.exemplo.com. - Adicione o caminho de assinantes
A maioria dos servidores relay expõe os assinantes em/subscribersou/api/v1/subscribers. Tentehttps://relay.exemplo.com/subscribers. - Autentique se necessário
Alguns relays exigem um token de API. Verifique a documentação do seu relay. Se o relay for público, a lista pode estar acessível sem autenticação. - Analise a resposta JSON
A resposta é tipicamente um array JSON de objetos com um campocallbackousubscribercontendo o domínio da instância remota.
Problemas Comuns ao Visualizar Assinantes do Relay
Sidekiq Não Mostra Jobs Pubsubhubbub
Se sua instância está em execução há muito tempo, jobs de assinatura antigos podem ter sido excluídos automaticamente do histórico do Sidekiq. A retenção padrão de jobs do Mastodon é de 7 dias. Para ver assinaturas mais antigas, você deve verificar o arquivo de log de produção do Mastodon.
Acesse seu servidor via SSH e execute: grep "pubsubhubbub" /home/mastodon/live/log/production.log | grep "subscribe". Isso retorna todos os eventos de assinatura com timestamps e domínios de instâncias remotas.
Servidor Relay Retorna 403 ou Resposta Vazia
Muitos operadores de relay restringem o acesso à lista de assinantes por questões de privacidade. Se você receber um erro 403, entre em contato com o operador do relay e solicite uma exportação da lista de assinantes. Alguns relays oferecem um plano pago que inclui análises de assinantes.
Número de Assinantes Não Corresponde ao Esperado
Uma lista de assinantes do relay é um instantâneo no tempo. As instâncias podem cancelar a assinatura a qualquer momento. Se sua lista mostrar menos assinantes do que o esperado, verifique o uptime do servidor relay e se sua instância ainda está recebendo entregas do relay. Vá para Administration > Relays e observe a coluna Last delivery at. Se as entregas pararam, o relay pode ter removido sua instância.
Comparação das Fontes de Assinantes do Relay no Mastodon
| Item | Argumentos de Jobs do Sidekiq | Endpoint do Servidor Relay | Arquivo de Log de Produção |
|---|---|---|---|
| Atualização dos dados | Apenas últimos 7 dias | Tempo real | Desde a rotação de logs |
| Requer acesso SSH | Não | Não | Sim |
| Mostra assinaturas pendentes | Sim | Não | Sim |
| Conformidade com privacidade | Apenas domínio da instância | Apenas domínio da instância | Apenas domínio da instância |
Agora você pode visualizar a lista de instâncias que assinam seu relay no Mastodon verificando os argumentos dos jobs do Sidekiq ou o endpoint de assinantes do servidor relay. Para um registro histórico completo, use grep no arquivo de log de produção. Se você precisar auditar parceiros de federação regularmente, considere configurar um cron job que extraia os domínios dos assinantes do arquivo de log e os salve em um CSV. Isso fornece uma trilha de auditoria permanente sem depender da retenção limitada do Sidekiq.