Arquivo torrent
Um arquivo torrent é um arquivo contendo metadados usados para Bittorrent. Está definido na especificação do protocolo Bittorrent[1], criado por Bram Cohen. Um torrent simplesmente é uma informação acerca do arquivo de destino, embora não contenha nenhuma informação sobre o conteúdo do ficheiro. A única informação que contém no arquivo torrent é a localização das partes do arquivo de destino. Os torrents funcionam dividindo o arquivo ou arquivos em partes menores localizadas em diferentes hosts de maneira ilimitada. Com esse método os arquivos grandes são baixados de maneira mais eficiente, ou seja, mais rapidamente. Quando um cliente (o receptor do arquivo) inicia o download por torrent, as pequenas partes requisitadas são encontradas mais rapidamente devido a informação do arquivo torrent. NOTA: O arquivo de destino só funciona quando todas as partes são completadas. Um arquivo torrent pode conter muitas URLs de trackers e a integridade de todos os metadados de todas as partes. Também pode conter metadados adicionais para a extensão das especificações Bittorrent.[2] Estrutura do arquivoUm arquivo torrent é um dicionário de Bencode com as seguintes chaves:
Todas as sequências devem ser codificadas em UTF-8. ExtensõesExtensões dos projetosEstas extensões estão sendo consideradas para a normalização. Arquivos torrent usam a extensão ".torrent". Tabelas de Hash distribuídasBEP-0005[3] expande o BitTorrent para suportar tabelas de hash distribuídas. Um dicionário torrent sem tracker não tem uma chave de anunciar. Em vez disso, um torrent sem tracker tem uma chave de nós: { ... 'nodes': [["<host>", <port>], ["<host>", <port>], ...] ... } Por exemplo, 'nodes': [["127.0.0.1", 6881], ["your.router.node", 4804]] A especificação recomenda que nós "devem ser definidos para os nós mais próximos de K na tabela de roteamento do cliente de torrent. Alternativamente, a chave pode ser definida como um nó conhecido o bem como um operado pela pessoa geradora do torrent." Múltiplos trackersBEP-0012[4] expande o Bittorrent para suportar múltiplos trackers. Uma nova chave,announce-list, é adicionada no topo da lista. ... } Seeds HTTPBEP-0017[5] expande o Bittorrent para suportar seeds HTTP}}. Uma nova chave, httpseeds, é adicionada no topo da lista. O valor da chave é uma lista de endereços da web onde os arquivos podem ser recuperados: { ... 'httpseeds': ... } Torrents privadosBEP-0027[6] expande o Bittorrent para suportar torrents privados. Uma nova chave, private, é adicionada no topo da lista. Se o valor for 1 o torrent é privado. { ... 'private': 1 ... } Merkle treesBEP-0030[7] expande o BitTorrent para suportar Merkle trees. { ... 'info': { ... 'root hash': e6bdebcc5d55da0a77f4bb1b57d88de794838577 ... } ... } ExemplosArquivo únicoAqui está um arquivo torrent de-bencode (com partes de tamanho 256 KB = 262144 bytes) para o arquivo debian-503-amd64-CD-1.iso (cujo tamanho e 647 MB = 678301696 bytes): { 'announce': 'http://bttracker.debian.org:6969/announce'[ligação inativa], 'info': { 'name': 'debian-503-amd64-CD-1.iso', 'piece length': 262144, 'length': 678301696, 'pieces': '841ae846bc5b6d7bd6e9aa3dd9e551559c82abc1...d14f1631d776008f83772ee170c42411618190a4' } } Múltiplos arquivosAqui está um arquivo torrent de-bencode (com partes de tamanho 256 KiB = 262144 B) para 2 arquivos, 111.txt e 222.txt: { 'announce': 'http://tracker.site1.com/announce'[ligação inativa], 'info: { 'name': 'directoryName', 'piece length': 262144, 'files': [ {'path': '111.txt', 'length': 111}, {'path': '222.txt', 'length': 222} ], 'pieces': '6a8af7eda90ba9f851831073c48ea6b7b7e9feeb...8a43d9d965a47f75488d3fb47d2c586337a20b9f' } } Veja tambémReferências
|