Migração no Mastodon entre Modos de Federação: Instância de Origem com Lista de Permissões
🔍 WiseChecker

Migração no Mastodon entre Modos de Federação: Instância de Origem com Lista de Permissões

Ao mover uma conta do Mastodon de uma instância para outra, o processo de migração depende de um handshake entre o servidor antigo e o novo. Se sua instância de origem usa um modo de federação restritivo, como uma lista de permissões ou política de federação limitada, esse handshake pode falhar silenciosamente. A nova instância não consegue puxar seus dados de perfil antigos nem enviar a solicitação de migração, deixando seguidores presos e seu perfil antigo ainda ativo. Este artigo explica por que instâncias baseadas em lista de permissões bloqueiam solicitações de migração e como preparar sua instância de origem para que a migração seja concluída com sucesso.

Principais Conclusões: Migração de Instância de Origem com Lista de Permissões

  • Preferências > Conta > Mover de uma conta diferente: Inicia o handshake de migração que falha quando a instância de origem usa uma lista de permissões.
  • Painel de administração > Federação > Gerenciamento de lista de permissões: Adicione o domínio da nova instância à lista de permissões da instância de origem antes de iniciar a migração.
  • Preferências > Conta > Mover para uma conta diferente: Conclui a migração somente após a instância de origem ter aprovado a nova instância por meio de uma entrada na lista de permissões.

ADVERTISEMENT

Por que a Federação com Lista de Permissões Bloqueia a Migração de Conta

As instâncias do Mastodon podem operar em três modos de federação: federação aberta, federação limitada e federação somente com lista de permissões. No modo de lista de permissões, a instância aceita tráfego federado recebido apenas de domínios que um administrador aprovou explicitamente. Isso inclui mensagens ActivityPub, consultas de perfil e solicitações de migração.

Quando você inicia uma migração de conta de uma instância de origem com lista de permissões, ocorre a seguinte sequência:

  1. Você insere o domínio da instância de destino e o nome da sua nova conta no formulário Preferências > Conta > Mover para uma conta diferente da instância de origem.
  2. A instância de origem envia uma atividade ActivityPub Move para a instância de destino.
  3. A instância de destino tenta verificar a atividade Move buscando o perfil de origem na instância de origem.
  4. Se a instância de origem usa uma lista de permissões e o domínio da instância de destino não está nessa lista, a solicitação de busca é rejeitada. A instância de destino nunca recebe os dados do perfil de origem, então a migração não pode prosseguir.

O mesmo problema ocorre inversamente quando a instância de destino também usa uma lista de permissões. A instância de origem não pode enviar a atividade Move para um domínio que não está aprovado. Em ambos os casos, a migração parece ser concluída no lado da origem, mas a instância de destino nunca registra a mudança e os seguidores não são redirecionados.

Passos para Migrar de uma Instância de Origem com Lista de Permissões

Para migrar com sucesso, você deve adicionar o domínio da instância de destino à lista de permissões da instância de origem antes de iniciar a migração. Você precisa de acesso de administrador à instância de origem. Se não tiver direitos de administrador, entre em contato com o administrador da instância e forneça o domínio da instância de destino.

Passo 1: Identificar o Domínio da Instância de Destino

  1. Abra sua instância de destino
    Faça login na instância do Mastodon onde você criou sua nova conta. Observe a URL na barra de endereços do navegador. O domínio é tudo após https:// e antes da primeira barra. Por exemplo, se a URL for https://mastodon.exemplo/@usuario, o domínio é mastodon.exemplo.
  2. Anote o domínio exato
    Inclua quaisquer subdomínios. Não inclua www a menos que apareça na URL. Este domínio é o que você adicionará à lista de permissões.

Passo 2: Adicionar o Domínio de Destino à Lista de Permissões da Instância de Origem

  1. Faça login no painel de administração da instância de origem
    Use uma conta com privilégios de administrador na instância de origem. Vá para Preferências > Administração > Federação.
  2. Abra a seção de gerenciamento da lista de permissões
    Clique na aba Lista de permissões. Se você não vir esta aba, a instância não usa o modo de lista de permissões. Entre em contato com seu administrador para verificar a política de federação.
  3. Adicione o domínio de destino
    Clique em Adicionar domínio. No campo de domínio, insira o domínio exato do Passo 1. Não inclua https:// ou uma barra no final. Clique em Adicionar para salvar.
  4. Aguarde a propagação da alteração
    O Mastodon armazena em cache as regras de federação. Aguarde de 5 a 10 minutos antes de prosseguir. Você também pode reiniciar os processos de streaming e sidekiq do Mastodon para forçar uma atualização, mas uma curta espera geralmente é suficiente.

Passo 3: Iniciar a Migração na Instância de Origem

  1. Vá para Preferências > Conta
    Na instância de origem, clique em Preferências no menu superior e selecione Conta na barra lateral.
  2. Role até a seção Mover para uma conta diferente
    Clique em Mover para uma conta diferente.
  3. Insira os detalhes da conta de destino
    No campo Identificador da nova conta, digite @usuario@dominiodestino usando o nome de usuário e domínio da sua nova conta. No campo Senha atual, insira a senha da sua instância de origem.
  4. Clique em Mover seguidores
    O Mastodon envia a atividade Move para a instância de destino. Como o domínio de destino agora está na lista de permissões, a instância de destino pode buscar o perfil de origem e concluir a verificação.

Passo 4: Confirmar a Migração na Instância de Destino

  1. Faça login na instância de destino
    Mude para sua nova conta na instância de destino.
  2. Vá para Preferências > Conta > Mover de uma conta diferente
    Clique em Mover de uma conta diferente.
  3. Insira os detalhes da conta de origem
    No campo Identificador da conta antiga, digite @usuario@dominioorigem. No campo Senha atual, insira a senha da sua instância de destino.
  4. Clique em Confirmar mudança
    A instância de destino verifica a atividade Move da instância de origem. Se a instância de origem ainda bloquear o destino, esta etapa falha. Se a lista de permissões estiver configurada, a verificação é bem-sucedida e a migração é concluída.

ADVERTISEMENT

Se a Migração Ainda Falhar Após Adicionar a Lista de Permissões

Instância de Destino Também Usa uma Lista de Permissões

Se a instância de destino também restringe a federação a uma lista de permissões, a instância de origem não pode enviar a atividade Move para ela. Você deve adicionar o domínio da instância de origem à lista de permissões da instância de destino também. Siga os mesmos passos do Passo 2, mas no painel de administração da instância de destino. Adicione o domínio da instância de origem. Em seguida, tente novamente a migração a partir do Passo 3.

Solicitação de Migração Excede o Tempo Limite

Se a instância de origem ou de destino estiver atrás de um firewall ou proxy reverso que atrase o tráfego ActivityPub, a solicitação de migração pode exceder o tempo limite. Verifique os logs do servidor em ambas as instâncias em busca de erros Net::OpenTimeout ou Net::ReadTimeout. Ajuste as regras do firewall para permitir tráfego de saída e entrada na porta 443 para o domínio que você adicionou à lista de permissões.

Migração de Seguidores Não é Concluída

Após a atividade Move ser bem-sucedida, os seguidores em instâncias de terceiros recebem um aviso de redirecionamento. Se essas instâncias de terceiros também usarem listas de permissões e não tiverem aprovado o domínio de origem ou de destino, os seguidores não verão o redirecionamento. O perfil de origem permanece ativo para esses seguidores. Para corrigir isso, peça aos administradores da instância de terceiros que adicionem o domínio de destino à lista de permissões deles. Esta é uma limitação da federação baseada em lista de permissões que não pode ser resolvida apenas pela instância de origem ou destino.

Modos de Federação: Comparação de Compatibilidade de Migração

Item Federação Aberta Federação com Lista de Permissões Federação Limitada
Handshake de migração Funciona automaticamente Requer entrada na lista de permissões em ambos os lados Funciona se o destino não estiver bloqueado
Ação de administrador necessária Nenhuma Adicionar domínio de destino à lista de permissões de origem Verificar se o destino não está na lista de bloqueio
Redirecionamento de seguidores para nova instância Funciona para todos os seguidores Falha se a instância do seguidor bloquear qualquer um dos domínios Falha se a instância do seguidor bloquear qualquer um dos domínios
Busca de perfil da origem Permitida de qualquer instância Apenas de instâncias na lista de permissões Permitida a menos que a instância esteja bloqueada

Depois de adicionar o domínio de destino à lista de permissões da instância de origem e confirmar a migração, você pode excluir com segurança a conta de origem antiga. Mantenha a entrada na lista de permissões por pelo menos 48 horas após a migração para garantir que todas as instâncias de seguidores tenham tempo de processar o redirecionamento. Se você remover a entrada muito cedo, instâncias de terceiros que ainda não buscaram a atividade Move verão o perfil antigo como ativo e não redirecionarão os seguidores para a nova instância.

ADVERTISEMENT