Como Validar um Arquivo do Mastodon Antes de Importar
🔍 WiseChecker

Como Validar um Arquivo do Mastodon Antes de Importar

Você baixou seu arquivo do Mastodon da instância antiga e quer importá-lo para uma nova conta. Um arquivo incompleto ou corrompido pode causar falhas na importação, posts perdidos ou links de mídia quebrados. O Mastodon cria um arquivo ZIP contendo dados JSON, arquivos de mídia e suas imagens de avatar e cabeçalho. Este artigo explica como validar a estrutura do arquivo, verificar a integridade dos arquivos e confirmar que o conteúdo JSON está formatado corretamente antes de iniciar o processo de importação.

Principais Conclusões: Validando Seu Arquivo do Mastodon Antes da Importação

  • Verifique o tamanho e o conteúdo do arquivo ZIP: Certifique-se de que o arquivo não tem zero bytes e contém as pastas esperadas, como media_attachments e outbox.json.
  • Valide a estrutura JSON com um linter: Use um validador JSON online ou ferramenta de linha de comando para confirmar que o outbox.json está bem formado.
  • Verifique se os nomes dos arquivos de mídia correspondem às referências JSON: Cruze os nomes de arquivo em media_attachments com os objetos mediaAttachment no outbox.json.

Por Que Validar um Arquivo do Mastodon é Importante

Um arquivo do Mastodon é um arquivo ZIP gerado pela sua instância antiga. Ele contém um arquivo outbox.json com todos os seus posts, além de pastas para anexos de mídia, avatar e imagens de cabeçalho. Se algum desses arquivos estiver faltando, truncado ou corrompido, a importação falhará no meio do caminho. Você pode acabar com uma linha do tempo parcial ou links de mídia quebrados que não podem ser corrigidos depois. A validação detecta esses problemas antes de você tentar importar, economizando tempo e frustração.

O arquivo não é criptografado. Você pode abrir o ZIP com qualquer ferramenta de arquivo padrão no Windows, macOS ou Linux. Os arquivos principais a inspecionar são:

  • outbox.json – Contém todos os seus toots, seus timestamps, conteúdo e referências de mídia.
  • media_attachments/ – Pasta com imagens, vídeos e outros arquivos anexados aos seus posts.
  • avatar.png ou avatar.jpg – Sua foto de perfil.
  • header.png ou header.jpg – Sua imagem de cabeçalho do perfil.

As instâncias do Mastodon usam os padrões ActivityPub para a estrutura JSON. O arquivo outbox.json segue um esquema específico com arrays orderedItems e orderedItems. Um arquivo JSON malformado fará com que o processo de importação rejeite todo o arquivo.

Passos para Validar um Arquivo do Mastodon

  1. Extraia o arquivo ZIP para uma pasta temporária
    Clique com o botão direito no arquivo no Windows Explorer e selecione Extrair Tudo. Escolha uma pasta como C:\temp\mastodon-archive. Não extraia diretamente para a Área de Trabalho para evitar bagunça. Após a extração, você deve ver outbox.json, uma pasta media_attachments e, opcionalmente, arquivos de avatar e cabeçalho.
  2. Verifique se o outbox.json existe e não está vazio
    Abra a pasta extraída. Procure por outbox.json. Clique com o botão direito e selecione Propriedades. O tamanho do arquivo deve ser de pelo menos alguns kilobytes. Um arquivo de zero bytes indica que o arquivo falhou durante a geração. Se o arquivo estiver faltando, solicite um novo arquivo da sua instância antiga.
  3. Valide a sintaxe JSON do outbox.json
    Abra um navegador da web e vá para um validador JSON como jsonlint.com. Copie todo o conteúdo do outbox.json para a área de texto do validador. Clique em Validar JSON. A ferramenta relatará quaisquer erros de sintaxe, como vírgulas faltando, colchetes extras ou caracteres não escapados. Corrija esses erros se possível, ou solicite um novo arquivo se o arquivo estiver muito danificado.
  4. Verifique se a estrutura JSON corresponde às expectativas do Mastodon
    Percorra o JSON validado. Procure por uma chave de nível superior chamada “orderedItems” ou “items”. Cada item deve ter uma chave “object” com “type”: “Note” para posts regulares. Confirme que os anexos de mídia são referenciados com um array “attachment” contendo objetos com campos “url”. Se a estrutura parecer completamente diferente de um outbox padrão do Mastodon, o arquivo pode ser de uma plataforma diferente ou uma exportação corrompida.
  5. Conte o número de posts no outbox.json
    Use um editor de texto com contagem de linhas ou um visualizador JSON. O número de itens no array orderedItems deve corresponder aproximadamente ao número de posts públicos que você fez na sua instância antiga. Uma grande discrepância sugere dados faltando. Você pode comparar essa contagem com a página do seu perfil na instância antiga se ainda tiver acesso.
  6. Verifique o conteúdo da pasta media_attachments
    Abra a pasta media_attachments. Ela deve conter subpastas nomeadas por ano e mês, como 2024/01. Dentro de cada subpasta, deve haver arquivos de imagem ou vídeo. Verifique se o número total de arquivos corresponde ao número de referências de mídia no outbox.json. Uma incompatibilidade significa que alguns arquivos de mídia estão faltando no arquivo.
  7. Cruze os nomes de arquivo entre o JSON e o sistema de arquivos
    Pesquise no outbox.json por uma URL de mídia de exemplo. Por exemplo, encontre uma linha como “url”: “https://old-instance.example/system/media_attachments/files/110/123/456/789/123/original/image.jpg”. A última parte do caminho após “original/” deve corresponder a um nome de arquivo dentro de media_attachments. Se o arquivo não estiver presente, essa mídia estará faltando após a importação.
  8. Teste a abertura de alguns arquivos de mídia
    Clique duas vezes em alguns arquivos de imagem aleatórios em media_attachments para confirmar que eles abrem corretamente no visualizador de imagens padrão. Arquivos corrompidos podem mostrar um erro ou uma imagem em branco. Se vários arquivos estiverem corrompidos, solicite um novo arquivo da instância antiga.
  9. Verifique se os arquivos de avatar e cabeçalho existem
    Procure por avatar.png, avatar.jpg, header.png ou header.jpg na raiz da pasta extraída. Esses arquivos são opcionais, mas devem estar presentes se você tinha uma foto de perfil personalizada ou cabeçalho. Se estiverem faltando, sua nova conta usará imagens de espaço reservado padrão após a importação.

Problemas Comuns Durante a Validação do Arquivo

outbox.json Contém Apenas Alguns Posts

Se o arquivo mostrar muito menos posts do que o esperado, a exportação pode ter sido limitada apenas a posts públicos. Os arquivos do Mastodon normalmente incluem todos os seus posts públicos, mas mensagens privadas ou diretas são excluídas. Verifique as configurações de exportação da sua instância antiga. Algumas instâncias permitem selecionar um intervalo de datas para o arquivo. Se você usou um filtro de data, o arquivo contém apenas posts desse período.

Arquivos de Mídia Estão Totalmente Faltando

A pasta media_attachments pode estar vazia ou ausente. Isso acontece quando o processo de geração do arquivo falha ao incluir mídia devido a limites de espaço em disco ou timeouts no servidor. Entre em contato com o administrador da sua instância antiga e solicite um novo arquivo. Alternativamente, você pode baixar manualmente a mídia do seu perfil antigo se ainda tiver acesso, mas isso é demorado para contas grandes.

Validação JSON Relata Erros de Sintaxe

Erros de sintaxe no outbox.json geralmente resultam de um download de arquivo interrompido. O arquivo ZIP pode ter sido gravado parcialmente. Exclua o arquivo corrompido e baixe-o novamente da sua instância antiga. Certifique-se de que sua conexão com a internet esteja estável durante o download. Se o erro persistir, o servidor da instância pode ter gerado um arquivo defeituoso. Peça ao administrador para regenerá-lo.

Nomes de Arquivo no JSON Não Correspondem aos Arquivos no Disco

Essa incompatibilidade ocorre quando o arquivo foi gerado enquanto nova mídia estava sendo enviada. O JSON referencia arquivos que ainda não foram salvos no disco no momento da arquivamento. Infelizmente, não há correção para isso. Você deve solicitar um novo arquivo da instância após a atividade de upload ter se estabilizado. Alternativamente, você pode adicionar manualmente os arquivos de mídia faltantes se tiver cópias em outro lugar.

Item Arquivo Válido Arquivo Corrompido ou Incompleto
Tamanho do arquivo outbox.json Pelo menos vários kilobytes Zero bytes ou menos de 1 KB
Sintaxe JSON Passa no validador JSON sem erros Mostra erros de sintaxe ou falha ao analisar
Número de posts Corresponde à sua contagem de posts públicos na instância antiga Significativamente menos posts do que o esperado
Pasta media_attachments Contém subpastas com arquivos de imagem e vídeo Pasta vazia ou totalmente ausente
Integridade dos arquivos de mídia Abre corretamente no visualizador de imagens ou player de mídia Mostra erros ou conteúdo em branco
Arquivos de avatar e cabeçalho Presentes se você tinha imagens personalizadas Ausentes mesmo que você tivesse imagens personalizadas

Validar seu arquivo do Mastodon leva cerca de 10 minutos. Agora você pode importar seus dados com confiança para uma nova conta, sabendo que posts e mídias serão transferidos corretamente. Após uma validação bem-sucedida, vá para Preferências > Importar e Exportar > Importar Arquivo na sua nova instância do Mastodon. Para arquivos grandes com mais de 100 MB, considere usar a ferramenta de linha de comando tootctl para evitar erros de timeout do navegador.