Exportar Bloqueios de Domínio no Mastodon: Como Fazer Backup por Usuário
🔍 WiseChecker

Exportar Bloqueios de Domínio no Mastodon: Como Fazer Backup por Usuário

Se você organizou uma lista de bloqueios de domínio na sua conta do Mastodon, pode querer exportá-la para fazer backup ou transferi-la para outra instância. O Mastodon não oferece uma exportação com um clique para bloqueios de domínio por usuário na interface web. Este artigo explica onde os dados de bloqueio de domínio são armazenados, como extraí-los usando a API do Mastodon e como salvar a lista como um arquivo de backup portátil.

Principais Conclusões: Exportar Bloqueios de Domínio do Mastodon

  • Preferências > Importar e Exportar > Exportar: A interface web exporta publicações, listas e seguidores, mas não exporta bloqueios de domínio.
  • Endpoint da API /api/v1/domain_blocks: Retorna um array JSON de todos os domínios que você bloqueou na sua conta.
  • Backup manual via cURL ou ferramentas de desenvolvedor do navegador: O único método confiável para capturar a lista completa de domínios bloqueados.

ADVERTISEMENT

Por que os Bloqueios de Domínio Não Estão Incluídos nas Exportações Padrão do Mastodon

O Mastodon fornece uma ferramenta de exportação em Preferências > Importar e Exportar > Exportar. Essa ferramenta gera arquivos CSV e JSON para suas publicações, anexos de mídia, listas, seguidores e silenciamentos. Os bloqueios de domínio são intencionalmente excluídos desse conjunto de exportação. A equipe de desenvolvimento do Mastodon considera os bloqueios de domínio uma preferência do usuário vinculada ao estado de moderação da conta. Eles não fazem parte do formato de dados portátil usado ao mover contas entre instâncias.

Os bloqueios de domínio são armazenados no banco de dados como uma associação separada no registro do usuário. O endpoint padrão da API de exportação (/api/v1/export) não inclui um método para bloqueios de domínio. Para recuperá-los, você deve chamar o mesmo endpoint da API que o cliente web usa quando você visualiza ou gerencia seus domínios bloqueados.

Como Exportar Bloqueios de Domínio Usando a API do Mastodon

Você pode exportar seus bloqueios de domínio fazendo uma requisição GET para /api/v1/domain_blocks. Esse endpoint retorna um array JSON de strings, cada string sendo um nome de domínio que você bloqueou. Você precisa de um token de acesso com o escopo read:blocks. As etapas a seguir pressupõem que você está usando uma instância do Mastodon que suporta tokens OAuth.

  1. Gere um token de acesso com o escopo read:blocks
    Vá em Preferências > Desenvolvimento > Nova Aplicação. Nomeie a aplicação como “Backup de Bloqueios de Domínio”. Em Escopos, selecione apenas read:blocks. Salve a aplicação e copie a string do token de acesso.
  2. Abra um terminal ou prompt de comando
    No Windows, pressione Win + R, digite cmd e pressione Enter. No macOS ou Linux, abra o aplicativo Terminal.
  3. Execute o comando cURL para buscar os bloqueios de domínio
    Digite o seguinte comando, substituindo sua.instancia.social pelo domínio da sua instância Mastodon e SEU_TOKEN pelo token de acesso da etapa 1:
    curl -H "Authorization: Bearer SEU_TOKEN" https://sua.instancia.social/api/v1/domain_blocks
    Pressione Enter. A resposta será um array JSON, por exemplo: ["spamruim.exemplo","malware.exemplo.org"].
  4. Salve a saída em um arquivo
    Execute o comando novamente, adicionando > domain_blocks_backup.json ao final. Exemplo:
    curl -H "Authorization: Bearer SEU_TOKEN" https://sua.instancia.social/api/v1/domain_blocks > domain_blocks_backup.json
    Isso salva o array JSON em um arquivo chamado domain_blocks_backup.json no diretório atual.

Método Alternativo: Usando Ferramentas de Desenvolvedor do Navegador

Se preferir não usar cURL, você pode capturar a lista de bloqueios de domínio diretamente da interface web do Mastodon.

  1. Faça login na sua instância do Mastodon em um navegador
    Abra sua instância no Chrome, Firefox ou Edge.
  2. Abra as Ferramentas de Desenvolvedor
    Pressione F12 ou Ctrl + Shift + I. Vá para a aba Rede.
  3. Navegue até a página de bloqueios de domínio
    Vá em Preferências > Moderação > Bloqueios de Domínio. A página pode mostrar uma lista de domínios bloqueados.
  4. Localize a requisição da API para domain_blocks
    Na aba Rede, procure uma requisição para /api/v1/domain_blocks. Clique nela e veja a aba Resposta. Copie o array JSON.
  5. Salve os dados em um arquivo de texto
    Abra o Bloco de Notas ou qualquer editor de texto. Cole o array JSON. Salve o arquivo como domain_blocks_backup.json.

ADVERTISEMENT

Erros Comuns e Limitações ao Exportar Bloqueios de Domínio

Token de Acesso Não Tem o Escopo Correto

Se o comando cURL retornar 403 Forbidden, o token não possui o escopo read:blocks. Gere uma nova aplicação com apenas esse escopo selecionado. Revogue tokens com escopos excessivos para manter a segurança.

Bloqueios de Domínio Não São Exportados ao Mover Contas

Ao usar Preferências > Conta > Mover para outra conta, o Mastodon transfere seguidores, seguidos, listas e silenciamentos. Os bloqueios de domínio não fazem parte dessa migração. Após a mudança, você precisa reaplicar manualmente seus bloqueios de domínio na nova conta. Use o arquivo de exportação que você criou anteriormente para adicionar cada domínio novamente.

Formato do Arquivo de Exportação é JSON, Não CSV

A API retorna um array JSON simples. Se precisar do formato CSV, você pode converter o arquivo usando qualquer conversor online de JSON para CSV ou um pequeno script. Por exemplo, em Python, você pode ler o arquivo JSON e escrever cada domínio em uma linha CSV.

Opções de Exportação do Mastodon: Interface Web vs API

Item Exportação pela Interface Web Exportação pela API
Publicações CSV e JSON JSON via /api/v1/export
Seguindo CSV JSON via /api/v1/export
Listas CSV JSON via /api/v1/export
Silenciamentos CSV JSON via /api/v1/export
Bloqueios de Domínio Não disponível JSON via /api/v1/domain_blocks

A exportação pela interface web cobre a maioria dos dados do usuário, mas omite bloqueios de domínio. O método da API é a única maneira de recuperá-los. Mantenha o arquivo JSON em um local seguro, pois ele revela quais domínios você bloqueou.

Após exportar, você pode importar a lista de bloqueios de domínio para outra conta fazendo requisições POST para /api/v1/domain_blocks com cada domínio. Você precisa de um token com o escopo write:blocks. Para cada domínio, envie uma requisição POST com o corpo {"domain":"exemplo.com"}. Isso restaura sua lista de bloqueios na nova conta.

ADVERTISEMENT