AZ Tools

Inspetor de Bencode / .torrent

Arquivo

Bencode é o formato texto-binário simples que o BitTorrent usa para armazenar metadados. Há apenas quatro tipos — inteiros (`i42e`), strings de bytes (`4:spam`), listas (`l…e`) e dicionários (`d…e`) — mas um único arquivo .torrent empacota todo o torrent: trackers de anúncio, comentário, data de criação, o(s) arquivo(s) compartilhado(s), tamanho de peça e a longa string de hashes SHA-1 de peça. Esta ferramenta lê qualquer arquivo bencodificado inteiramente no seu navegador, parseia em uma árvore expandível e, se reconhecer uma estrutura de torrent, também calcula o info hash do BitTorrent (SHA-1 da faixa exata de bytes do dicionário `info` bencodificado) — o mesmo identificador hex de 40 caracteres que aparece em links magnéticos como `xt=urn:btih:…`. Torrents de arquivo único e múltiplo são ambos tratados, com caminhos e tamanhos por arquivo mostrados quando presentes. Nada é baixado, semeado ou enviado — o arquivo só é lido na memória para inspecionar.

Como usar

  1. Solte ou escolha qualquer arquivo .torrent (ou qualquer blob bencodificado).
  2. Leia o resumo reconhecido do torrent no topo: nome, tamanho total, tamanho de peça, número de peças, trackers, info hash.
  3. Clique no botão de cópia ao lado do info hash para usá-lo em um link magnético (`magnet:?xt=urn:btih:<hash>`).
  4. Expanda a árvore bruta abaixo para ver toda chave bencodificada, incluindo extensões não reconhecidas.
  5. Solte outro arquivo a qualquer momento — o inspetor substitui o resultado anterior.

Perguntas frequentes

Como o info hash é calculado?
Registramos a faixa exata de bytes do valor do dicionário `info` enquanto o parser bencode percorre o arquivo, depois calculamos SHA-1 sobre esses bytes brutos. Este é o info hash BitTorrent v1 e corresponde ao parâmetro `xt=urn:btih:` em links magnéticos. BitTorrent v2 usa SHA-256 de uma canonicalização diferente — não calculado aqui (a maioria dos torrents públicos ainda são v1).
Por que alguns valores string aparecem como `<bin … hex …>`?
Strings bencode são strings de bytes — não precisam ser UTF-8. O campo `pieces`, por exemplo, é uma concatenação de hashes SHA-1 binários, um por peça, e renderizaria como ruído se mostrado como texto. Valores que falham a decodificação UTF-8 estrita são mostrados como comprimento + prévia hex dos primeiros 8 bytes. O comprimento em bytes é sempre exato.
Esta ferramenta baixa ou semeia o torrent?
Não. Apesar do nome, um arquivo .torrent é só metadados — não contém nenhum conteúdo real. Esta ferramenta apenas parseia os metadados localmente no seu navegador para exibir estrutura e identificadores. Nenhuma requisição de rede é feita a trackers, peers ou à DHT BitTorrent.
Posso inspecionar arquivos bencodificados que não sejam torrent?
Sim. Alguns clientes e trackers BitTorrent trocam blobs bencodificados que não são .torrent — tabelas de roteamento DHT, respostas de scrape, arquivos fast-resume, etc. Enquanto o topo do arquivo for bencode válido, a vista em árvore o renderizará; a seção de resumo de torrent simplesmente não aparecerá a menos que haja um dict `info` no nível superior.

Ferramentas relacionadas