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.
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:
- 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.
- A instância de origem envia uma atividade ActivityPub Move para a instância de destino.
- A instância de destino tenta verificar a atividade Move buscando o perfil de origem na instância de origem.
- 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
- 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óshttps://e antes da primeira barra. Por exemplo, se a URL forhttps://mastodon.exemplo/@usuario, o domínio émastodon.exemplo. - Anote o domínio exato
Inclua quaisquer subdomínios. Não incluawwwa 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
- 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. - 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. - 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 incluahttps://ou uma barra no final. Clique em Adicionar para salvar. - 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
- Vá para Preferências > Conta
Na instância de origem, clique em Preferências no menu superior e selecione Conta na barra lateral. - Role até a seção Mover para uma conta diferente
Clique em Mover para uma conta diferente. - Insira os detalhes da conta de destino
No campo Identificador da nova conta, digite@usuario@dominiodestinousando 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. - 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
- Faça login na instância de destino
Mude para sua nova conta na instância de destino. - Vá para Preferências > Conta > Mover de uma conta diferente
Clique em Mover de uma conta diferente. - 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. - 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.
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.