README.rst 26 KB

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