README.rst 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488
  1. aria2 - Utilitário para Download Super Ultra Rápido
  2. ===================================================
  3. :Author: Tatsuhiro Tsujikawa
  4. :Email: t-tujikawa_at_users_dot_sourceforge_dot_net
  5. :translator: tradução Portuguese gsavix@gmail.com
  6. Renúncia
  7. --------
  8. Este programa não vem com garantias. O uso deste programa é por sua
  9. conta e risco.
  10. Introdução
  11. ----------
  12. aria2 é um utilitário para download de arquivos. Os protocolos suportados são
  13. HTTP, HTTPS, FTP, BitTorrent e Metalink. aria2 pode baixar arquivos de
  14. múltiplas fontes protocolos e tenta utilizar para isso a máxima banda possível.
  15. Pode funcionar em diversas plataformas de computadores e sistemas operacionais,
  16. como por exemplo: GNU Linux, OS X, Windows, Android entre outros. Ao mesmo
  17. tempo pode executar download de HTTP, HTTPS, FTP e BitTorrent enquanto estes
  18. dados podem ser disponibilizados (uploaded) ao mesmo tempo para o BitTorrent ou
  19. para você ir assistindo um filme enquanto o download prossegue. Através da
  20. verificação (checksum) de partes dos dados dos Metalink's, aria2
  21. automaticamente valida partes (chunks) do BitTorrent.
  22. A página do projeto está em http://aria2.sourceforge.net/.
  23. Veja `aria2 Manual Online <http://aria2.sourceforge.net/manual/pt/html/>`_
  24. e `Exemplos de Uso <http://sourceforge.net/apps/trac/aria2/wiki/UsageExample>`_
  25. para aprender como a usar aria2.
  26. Funcionalidades
  27. ---------------
  28. Lista de Configurações:
  29. * Interface de linha de comando
  30. * Download arquivos protocolos HTTP, HTTPS, FTP, BitTorrent
  31. * Download Segmentado
  32. * Metalink versão 4 (RFC 5854) suporte (HTTP, FTP, BitTorrent)
  33. * Metalink versão 3 suporte (HTTP, FTP, BitTorrent)
  34. * Metalink (RFC 6249) suporte (HTTP)
  35. * Implementação HTTP/1.1
  36. * Suporte Proxy HTTP Proxy
  37. * Suporte autenticação HTTP BASIC
  38. * Suporte autenticação HTTP Proxy
  39. * Váriavéis de ambiente (conjunto abrangente) para proxy: http_proxy, https_proxy,
  40. ftp_proxy, all_proxy e no_proxy
  41. * HTTP com gzip, suporte a codificação de conteúdo (deflate)
  42. * Verificação de peer usando Certificados Acreditados informado em HTTPS
  43. * Processamento de autenticação Cliente usando Certificado Acreditado HTTPS
  44. * Suporte a transferência (Chunked) codificada
  45. * Carga de Cookies a partir de arquivos formato Firefox 3, Chromium/Google Chrome
  46. e Mozilla / Firefox / IcedWeasel / (1.x/2.x) / Netscape.
  47. * Salvar Cookies em arquivo formato Mozilla 3, Firefox (1.x/2.x), Chromium, Netscape.
  48. * Suporte a Cabeçalho HTTP modificado ou personalizado
  49. * Suporte a Conexões Persistentes
  50. * FTP através de Proxy HTTP
  51. * Controle de velocidade Download e Upload (utilização da Banda Rede)
  52. * Extensões BitTorrent: Conexão rápida, DHT, PEX, MSE/PSE, Multi-Tracker
  53. * BitTorrent `WEB-Seeding <http://getright.com/seedtorrent.html>`_. aria2
  54. faz requisições de mais de uma parte de um (chunk) para reduzir sobreposições de
  55. requisições. Também permite requisições pipeline com tamanho especificado
  56. * BitTorrent Local Peer Discovery
  57. * Atualização ou Modificação (Rename) de estrutura de diretórios de downloads
  58. BitTorrent já finalizados
  59. * Interface JSON-RPC (sobre HTTP e WebSocket) / XML-RPC
  60. * Execução em modo daemon
  61. * Download Seletivosem múltiplos arquivos torrent/Metalink
  62. * Validação e checksum de parte (Chunk) em Metalink
  63. * Desabilidar download segmentado em Metalink
  64. * Suporte a Netrc
  65. * Suporte a arquivo de Configuração
  66. * Download de URIs a partir de arquivo texto ou entrada padrão com especificação
  67. opçional de arquivo de saída
  68. * Suporte a URI parametrizadas (intervalos, etc)
  69. * Suporte a IPv6
  70. Como obter o código fonte
  71. -------------------------
  72. O código fonte é mantido no Github:
  73. https://github.com/tatsuhiro-t/aria2
  74. Para obter o último código fonte, execute o seguinte comando::
  75. $ git clone git://github.com/tatsuhiro-t/aria2.git
  76. Aria2 será criado no diretório corrente do seu computador com os arquivos fonte.
  77. Dependências
  78. ------------
  79. ======================== ========================================
  80. funcionalidade dependência
  81. ======================== ========================================
  82. HTTPS GnuTLS ou OpenSSL
  83. BitTorrent libnettle+libgmp ou libgcrypt ou OpenSSL
  84. Metalink libxml2 ou Expat.
  85. Checksum libnettle ou libgcrypt ou OpenSSL
  86. gzip, deflate em HTTP zlib
  87. Async DNS C-Ares
  88. Firefox3/Chromium cookie libsqlite3
  89. XML-RPC libxml2 ou Expat.
  90. JSON-RPC sobre WebSocket libnettle ou libgcrypt ou OpenSSL
  91. ======================== ========================================
  92. .. note::
  93. libxml2 tem precedência sobre Expat se ambas bibliotecas instaladas.
  94. Caso prefira Expat, execute o configure com ``--without-libxml2``.
  95. .. note::
  96. GnuTLS tem precedência sobre OpenSSL se ambas bibliotecas instaladas.
  97. Caso prefira OpenSSL, execute configure com ``--without-gnutls``
  98. ``--with-openssl``.
  99. .. note::
  100. libnettle tem precedência sobre libgcrypt se ambas bibliotecas instaladas.
  101. Caso prefira libgcrypt, execute configure com
  102. `--without-libnettle --with-libgcrypt``. Se OpenSSL é selecionada em
  103. detrimento de GnuTLS, nem libnettle nem libgcrypt poderão ser usadas.
  104. São necessárias as seguintes configurações de bibliotecas SSl e cruypto:
  105. * libgcrypt
  106. * libnettle
  107. * OpenSSL
  108. * GnuTLS + libgcrypt
  109. * GnuTLS + libnettle
  110. BitTorrent e Metalink podem ser desabilitados fornecendo as opções
  111. ``--disable-bittorrent`` e ``--disable-metalink`` ao executar o script configure.
  112. Para habilitar DNS assíncrono é necessário c-ares.
  113. * projeto c-ares: http://daniel.haxx.se/projects/c-ares/
  114. Como fazer o build
  115. ------------------
  116. Para fazer o build do aria2 a partir dos fontes, instalar antes
  117. pacotes de desenvolvimento ( o nome pode variar nas distribuições):
  118. * libgnutls-dev (Requerido para suporte HTTPS, BitTorrent, Checksum)
  119. * nettle-dev (Requerido para suporte BitTorrent, Checksum)
  120. * libgmp-dev (Requerido para suporte BitTorrent)
  121. * libc-ares-dev (Requerido para suporte DNS async DNS )
  122. * libxml2-dev (Requerido para suporte Metalink)
  123. * zlib1g-dev (Requerido para suporte em HTTP decodificação gzip e deflate)
  124. * libsqlite3-dev (Requerido para suporte cookie Firefox3 / Chromium)
  125. Você pode usar libgcrypt-dev ao invés de nettle-dev e libgmp-dev:
  126. * libgpg-error-dev (Requerido para suporte BitTorrent, Checksum)
  127. * libgcrypt-dev (Requerido para suporte BitTorrent, Checksum)
  128. Pode ser usado libssl-dev ao invés de
  129. libgnutls-dev, nettle-dev, libgmp-dev, libgpg-error-dev e libgcrypt-dev:
  130. * libssl-dev (Requerido para suporte Checksum de HTTPS, BitTorrent )
  131. Pode ser usado libexpat1-dev ao invés de libxml2-dev:
  132. * libexpat1-dev (Requerido for Metalink suporte)
  133. Pode ser necessário usar pkg-config para detectar as bibliotecas
  134. acima mencionadas.
  135. Para a distribuição Fedora são necessários os seguintes pacotes:
  136. * gcc, gcc-c++, kernel-devel, libgcrypt-devel, libgcrypt-devel,
  137. libxml2-devel, openssl-devel
  138. Se foi feito o download do código fonte a partir de um repositório git,
  139. deverá ser executado o seguinte comando para criar o script de
  140. configuração (configure) e outros scripts também necessários
  141. para o build ou compilação do aria2::
  142. $ autoreconf -i
  143. Para construir a documentação é necessário instalar
  144. `Sphinx <http://sphinx.pocoo.org/>`_ que constroi página (man), html ou pdf
  145. contendo a documentação nos idiomas existentes.
  146. Para construir aria2 para Mac OS X, de uma olhada em build_osx_release.sh,
  147. o qual cria binários DMG que são padrões para OS X.
  148. A maneira mais rápida para compilar o aria2 é executar o script::
  149. $ ./configure
  150. Para compilar com link-edição estática utilize o opção da linha
  151. de comando ``ARIA2_STATIC=yes``::
  152. $ ./configure ARIA2_STATIC=yes
  153. Após a configuração feita, execute ``make`` para compilar o programa::
  154. $ make
  155. Ver `Compilação Cross Windows binário`_ para Criar Binário para
  156. Windows. Ver `Compilação Cross Android binário`_ para criar
  157. Binário para Android.
  158. O script configure verifica as bibliotecas
  159. disponíveis e habilita
  160. ou desabilita as funcionalidades na maior abrangência possivel, pois
  161. por padrão todas as funcionalidades são habilitadas. Desde a versão
  162. 1.1.0, aria2 verifica o certificado do servidor HTTPS como padrão.
  163. Se a compilação usou OpenSSL ou a recente versão de GnuTLS na qual há
  164. função ``gnutls_certificate_set_x509_system_trust()`` e a biblioteca
  165. foi adequadamente configurada para localizar o certificado CA
  166. armazenado, aria2 carrega automaticamente estes certificados no início.
  167. Se este não ocorrer, recomenda-se fornecer o caminho para o arquivo que
  168. contém o certificado. Por Exemplo, no Debian o caminho para o arquivo CA
  169. é "/etc/ssl/certs/ca-certificates.crt" (no pacote ca-certificates).
  170. Isto varia de acordo com sua distribuição Linux. Pode ser informada a opção
  171. ``--with-ca-bundle`` para configurar o script usado pelo make::
  172. $ ./configure --with-ca-bundle='/etc/ssl/certs/ca-certificates.crt'
  173. $ make
  174. Sem a opção ``--with-ca-bundle``, haverá um erro ao acessar servidores
  175. HTTPS pois o certificado não pode ser verificado sem possuir um pacote CA
  176. (entidade certificadora). Nesse caso, pode ser especificado um arquivo de
  177. certificado usando opção aria2's ``--ca-certificate``. Caso não haja um
  178. certificado instalado, então o último recurso é desabilitar a validação
  179. do certificado usando a opção ``--check-certificate=false``.
  180. Por padrão, arquivo chamado (bash_completion) ``aria2c`` é instalado no
  181. diretório ``$prefix/share/doc/aria2/bash_completion``. Para mudar o
  182. diretório de instalação do arquivo utilize a opção
  183. ``--with-bashcompletiondir``.
  184. O executavel é 'aria2c' no diretório src.
  185. aria2 usa CppUnit para (test unit) automatizado. Para executar o
  186. test unit emita o comando::
  187. $ make check
  188. Compilação Cross Windows binário
  189. --------------------------------
  190. Nessa seção, está descrito como fazer o build do binário para Windows
  191. usando o compilador cross mingw-w64 no Debian Linux.
  192. Basicamente, após compilar e instalar as bibliotecas dependentes, que
  193. são pré-requisitos pode ser feita a compilação cross apenas passando
  194. através da opção ``--host`` e especificando-se as variáveis
  195. ``CPPFLAGS``, ``LDFLAGS`` e ``PKG_CONFIG_LIBDIR`` que serão usadas
  196. no procedimento (configure). Para maior conveniência e menor custo
  197. de desenvolvimento, é fornecida uma maneira fácil de configurar as
  198. características do build / compilação.
  199. O script ``mingw-config`` é um ``(wrapper)`` para mingw-w64.
  200. Sua utilização é para gerar uma compilação oficial para Windows. Esse
  201. script assume que as seguintes bibliotecas tenham sido compiladas
  202. e/ou instaladas para a compilação cross:
  203. * c-ares
  204. * openssl
  205. * expat
  206. * sqlite3
  207. * zlib
  208. * cppunit
  209. Algumas variáveis de ambiente precisam ser ajustadas para compilar:
  210. ``HOST``
  211. compilação-cross para compilar programas que serão executados em
  212. um computador ``HOST``. Padrão para ``i686-w64-mingw32``.
  213. Para compilar binário para 64bits, especificar ``x86_64-w64-mingw32``.
  214. ``PREFIX``
  215. Prefixo do diretório onde as bibliotecas dependentes estão instaladas.
  216. Padrão para ``/usr/local/$HOST``. ``-I$PREFIX/include`` será adicionado
  217. às opções ``CPPFLAGS``. ``-L$PREFIX/lib`` será adicionado em
  218. ``LDFLAGS``. ``$PREFIX/lib/pkgconfig`` será configurado para
  219. ``PKG_CONFIG_LIBDIR``.
  220. Por exemplo, para construir um binário para 64bits utilize::
  221. $ HOST=x86_64-w64-mingw32 ./mingw-config
  222. Compilação Cross Android binário
  223. --------------------------------
  224. Nessa seção, descrevemos como construir um binário usando o compilador-cross
  225. NDD no Linux Debian.
  226. ``android-config`` é um script para configurar compilação para Android, o qual
  227. assume que as seguintes bibliotecas também foram construídas para
  228. compilador-cross:
  229. * c-ares
  230. * openssl
  231. * expat
  232. Quando compilando as bibliotecas, certifique-se que o compartilhamento (share)
  233. esteja desabilitado e confirme que somente biblioteca estática está habilitado.
  234. A compilação será feita somente com bibliotecas estáticas.
  235. A bibliteca zlib que vem com o Android NDK, portanto não é necessário
  236. compilar uma zlib nossa.
  237. ``android-config`` assume os seguintes pontos:
  238. * Android NDK está instalado no local definido pela variável de ambiente
  239. ``$ANDROID_HOME``. Consultar seção "3/ Chamando o compilador (jeito fácil):"
  240. no Android NDK
  241. ``docs/STANDALONE-TOOLCHAIN.html`` para instalar (toolchain) personalizada.
  242. * Bibliotecas dependentes devem estar instaladas em
  243. ``$ANDROID_HOME/usr/local``.
  244. Antes executar ``android-config`` e ``android-make``, a variável de ambiente
  245. ``$ANDOIRD_HOME`` deve apontar para o caminho correto.
  246. Após ``android-config``, executar ``android-make`` para compilar os fontes.
  247. Para Gerar a documentação
  248. -------------------------
  249. `Sphinx <http://sphinx.pocoo.org/>`_ é usado para construir a
  250. documentação. As páginas (man) da documentação são criadas se através do
  251. comando ``make`` caso estas páginas estejam desatualizadas. Tambem
  252. pode ser construida a versão em HTML da documentação do aria2 através
  253. do comando ``make html``. A versão HTML também está disponível em:
  254. `Original em Inglês <http://aria2.sourceforge.net/manual/en/html/>`_
  255. e nas traduções em:
  256. (`Português <http://aria2.sourceforge.net/manual/pt/html/>`_ e
  257. `Russo <http://aria2.sourceforge.net/manual/ru/html/>`_).
  258. BitTorrrent
  259. -----------
  260. Sobre Nome de arquivos
  261. ~~~~~~~~~~~~~~~~~~~~~~
  262. O nome do arquivo que será baixado é determinado da seguinte maneira:
  263. modo arquivo simples
  264. O a chave "name" está presento no arquivo .torrent, o nome do
  265. arquivo será o valor da chave "name". De outra maneira o nome
  266. do arquivo será baseado no arquivo .torrent mais o sufixo
  267. ".file". Exemplo: arquivo .torrent é "brasil.torrrent", então
  268. o nome do arquivo baixado será: "brasil.torrent.file". O
  269. diretório onde será armazenado o arquivo pode ser especificado
  270. através da opção -d.
  271. modo arquivos múltiplos
  272. A estrutura completa diretório/arquivo mencionada no arquivo .torrent será
  273. creada. O diretório base que conterá toda estrutura de diretórios e arquivos
  274. baixados, pode ser especificado através da opção -d.
  275. Antes do download iniciar a estrutura completa dos diretórios necessários
  276. ao download será criada. Por padrão aria2 abre no mínimo 100 arquivos
  277. mencionados no arquivo .torrent e diretamente executa gravação e leitura desses
  278. arquivos. O número máximo de arquivos para serem abertos simultaneamente pode
  279. ser controlado através da opção ``--bt-max-open-files``.
  280. DHT
  281. ~~~
  282. aria2 suporte DHT. Por padrão, a tabela de roteamento
  283. para IPv4 DHT é salva em ``$HOME/.aria2/dht.dat`` e a tabela de
  284. roteamento para IPv6 DHT é salva em ``$HOME/.aria2/dht6.dat``.
  285. aria2 utiliza o mesmo número de porta para ouvir ambos
  286. IPv4 e IPv6 DHT.
  287. Outras informações importantes
  288. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  289. * Se a opção -o é usada para mudar o nome do arquivo de saida
  290. .torrent não o nome do arquivo dentro do arquivo .torrent.
  291. Para esta finalidade utilizar opção ``--index-out``.
  292. * Os números de portas padrões que o aria2 utiliza para TCP e UDP
  293. estão no intervalo de 6881 até 6999 (6881-6999).
  294. * aria2 não configura automaticamente port-forwarding.
  295. Por favor configurar manualmente seu roteador ou firewall.
  296. * O número máximo de é 55. Este limite pode ser excedido quando
  297. a taxa de download é muito baixa. Esta taxa de download pode ser
  298. ajustada com a opção ``--bt-request-peer-speed-limit``.
  299. * Desde a versão 0.10.0, aria2 parou de enviar mensagem de
  300. requisição após o download seletivo completar-se.
  301. Metalink
  302. --------
  303. A implementação atual suporte HTTP, HTTPS, FTP e BitTorrent. Outros
  304. protocolos P2P são ignorados. São suportados documentos das versões
  305. Metalink4 e Metalink 3.0.
  306. Para validação de (checksum) são suportados: md5, sha-1, sha-224,
  307. sha-256, sha-384 e sha-512. Se múltiplos algoritmos de hast
  308. são fornecidos aria2 utiliza o mais robusto. Se a validação do
  309. checksum falhar totalmente aria2 não tentará mais fazer download e
  310. terminará o processamento com código de retorno diferente de zero.
  311. As preferências de usuário suportadas são versão, idioma, local,
  312. protocolo e sistema operacional.
  313. Se verificação (checksum) de (chunk) são fornecidas em um arquivo
  314. Metalink, aria2 automaticamente valida (chunk) partes dos dados
  315. durante o download. Esse comportamente pode ser desligado através
  316. de opção da linha de comando.
  317. Se uma assinatura (certificado) é incluida em um arquivo Metalink,
  318. aria2 salva a assinatura como um arquivo após a conclusão do download.
  319. O nome do arquivo terá o sufixo ".sig". Caso já exista não será salvo.
  320. Em torrent de múltiplos arquivos Metalink4, podem aparecer no elemento
  321. metalink:metaurl. Uma vez que aria2 não faz download de 2 Torrents
  322. iguais ao mesmo tempo, aria2 agrupa arquivos em elementos metalink:file
  323. os quais tem o mesmo metaurl BitTorrent e serão baixados de um
  324. simples BitTorrent (swarm).
  325. Isto basicamente ocorre para download de multiplos arquivos Torrent quando
  326. há seleção de arquivo(s), portanto arquivos adjacentes que não estão
  327. no documento Metalink mas que compartilham a mesma (peça ou pedaço)
  328. do arquivo selecionado também serão baixados e criados.
  329. Se uma URI relativa é especificada em um elemento metalink:url ou
  330. metalink:metaurl, aria2 usa a URI do arquivo Metalink como URI base
  331. para resolver a URI relativa. Se a URI relativa encontra-se em um
  332. arquivo Metalink que é lido do disco local, aria2 usa o valor da
  333. opção ``--metalink-base-uri`` como URI base. Se essa opção não é
  334. especificada a URI relativa será ignorada.
  335. Metalink/HTTP
  336. -------------
  337. Esta versão utiliza links rel=duplicate. aria2 interpreta
  338. os campos do cabeçalho do Digest e verifica onde o valor do digest
  339. confere com outras fontes. Se houver diferença, derruba a conexão.
  340. aria2 também utiliza esse valor do digest para executar verificação do
  341. checksum após o download terminar. aria2 reconhece valor geo.
  342. Para sobrepor o valor de sua preferência utilize a opção
  343. ``--metalink-location``.
  344. netrc
  345. -----
  346. O suporte netrc é habilitado por padrão para HTTP, HTTPS e FTP. Para desabilitar
  347. especificar opção -n na linha de comando. Seu arquivo .netrc precisa possuir
  348. permissões corretas (600).
  349. WebSocket
  350. ---------
  351. O servidor WebSocket intrínseco no aria2 implementa a especificação
  352. definida na RFC 6455. O protocolo suportado refere-se a versão 13.
  353. Referências
  354. -----------
  355. * `aria2 Manual Inglês <http://aria2.sourceforge.net/manual/en/html/>`_ versão inglês
  356. * `aria2 Manual Russo <http://aria2.sourceforge.net/manual/ru/html/>`_ versão russo
  357. * `aria2 Manual Português <http://aria2.sourceforce.net/manual/pt/html/>`_ versão portugues
  358. * http://aria2.sourceforge.net/
  359. * http://sourceforge.net/apps/trac/aria2/wiki
  360. * https://github.com/tatsuhiro-t/aria2
  361. * `RFC 959 FILE TRANSFER PROTOCOL (FTP) <http://tools.ietf.org/html/rfc959>`_
  362. * `RFC 1738 Uniform Resource Locators (URL) <http://tools.ietf.org/html/rfc1738>`_
  363. * `RFC 2428 FTP Extensions for IPv6 and NATs <http://tools.ietf.org/html/rfc2428>`_
  364. * `RFC 2616 Hypertext Transfer Protocol -- HTTP/1.1 <http://tools.ietf.org/html/rfc2616>`_
  365. * `RFC 3659 Extensions to FTP <http://tools.ietf.org/html/rfc3659>`_
  366. * `RFC 3986 Uniform Resource Identifier (URI): Generic Syntax <http://tools.ietf.org/html/rfc3986>`_
  367. * `RFC 4038 Application Aspects of IPv6 Transition <http://tools.ietf.org/html/rfc4038>`_
  368. * `RFC 5854 The Metalink Download Description Format <http://tools.ietf.org/html/rfc5854>`_
  369. * `RFC 6249 Metalink/HTTP: Mirrors and Hashes <http://tools.ietf.org/html/rfc6249>`_
  370. * `RFC 6265 HTTP State Management Mechanism <http://tools.ietf.org/html/rfc6265>`_
  371. * `RFC 6455 The WebSocket Protocol <http://tools.ietf.org/html/rfc6455>`_
  372. * `The BitTorrent Protocol Specification <http://www.bittorrent.org/beps/bep_0003.html>`_
  373. * `BitTorrent: DHT Protocol <http://www.bittorrent.org/beps/bep_0005.html>`_
  374. * `BitTorrent: Fast Extension <http://www.bittorrent.org/beps/bep_0006.html>`_
  375. * `BitTorrent: IPv6 Tracker Extension <http://www.bittorrent.org/beps/bep_0007.html>`_
  376. * `BitTorrent: Extension for Peers to Send Metadata Files <http://www.bittorrent.org/beps/bep_0009.html>`_
  377. * `BitTorrent: Extension Protocol <http://www.bittorrent.org/beps/bep_0010.html>`_
  378. * `BitTorrent: Multitracker Metadata Extension <http://www.bittorrent.org/beps/bep_0012.html>`_
  379. * `BitTorrent: WebSeed - HTTP/FTP Seeding (GetRight style) <http://www.bittorrent.org/beps/bep_0019.html>`_
  380. * `BitTorrent: Private Torrents <http://www.bittorrent.org/beps/bep_0027.html>`_
  381. * `BitTorrent: BitTorrent DHT Extensions for IPv6 <http://www.bittorrent.org/beps/bep_0032.html>`_
  382. * `BitTorrent: Message Stream Encryption <http://wiki.vuze.com/w/Message_Stream_Encryption>`_
  383. * `Kademlia: A Peer-to-peer Information System Based on the XOR Metric <http://pdos.csail.mit.edu/~petar/papers/maymounkov-kademlia-lncs.pdf>`_
  384. versão atualizada em 26.novembro.2012 por gsavix@gmail.com