ARIA2C(1) aria2 ARIA2C(1) NAME aria2c - Utilitario para download super ultra rapido SINOPSE aria2c [] [|||] ... DESCRICAO AVISO: This translation has been outdated quite sometime now, and lacks many recent changes. Please consult English version manual for updated information. Observacao: Para executar o aria2 em um terminal ou no prompt da linha de comando do windows, utilize o comando aria2c. aria2 e um utilitario para download de arquivos. Os protocolos suportados sao HTTP, HTTPS, FTP, BitTorrent e Metalink. aria2 pode efetuar download de arquivos a partir de multiplas fontes e protocolos e tenta utilizar a maxima capacidade de banda. Ha suporte para download de arquivos que tem origem em HTTP, HTTPS, FTP, BitTorrent e Metalink ao mesmo tempo, enquanto os dados baixados podem ser (uploaded) e compartilhados pelo BitTorrent. Usando conferencia / afericao (checksum) nos Metalinks, aria2 automaticamente valida o conteudo dos dados enquanto faz o download do arquivo como BitTorrent. OPCOES BASICAS DO ARIA2 Opcoes Comuns -d, --dir= O diretorio onde sera armazenado o arquivo baixado. -i, --input-file= Executa download da(s) URI encontradas no ARQUIVO. Podem ser especificados multiplos URI para uma simples entidade: separe URI na mesma linha com um caracter TAB (tabulacao). Quando desejar ler a entrada padrao (stdin) especificar - (hifen). Adicionalmente, diversas opcoes podem ser especificadas apos cada linha de URI. Esta(s) linha(s) opcional(is) deve(m) comecar(em) com um ou mais espacos em branco e possuir(em) apenas uma opcao por linha. Ver subsecao Arquivo de Entrada para mais detalhes. Ver tambem opcao --deferred-input. -l, --log= O nome do arquivo de log. Se - for especificado (entrada padrao), log e gravado em stdout (saida padrao). Se uma string vazia("") e especificada, log nao sera gravado em arquivo. -j, --max-concurrent-downloads= Configura o numero maximo de downloads paralelos para cada URI (HTTP, HTTPS, FTP), Torrent e Metalink. Ver tambem opcao --split. Padrao: 5 -V, --check-integrity [true|false] Verifica a integridade do arquivo validando pedacos hashes ou um hash do arquivo inteiro. Essa opcao tem efeito so em downloads BitTorrent, Metalink com checksums ou HTTP, HTTPS e FTP com a opcao --checksum. Se pedacos de hashes sao providos, essa opcao pode detectar porcoes danificadas de um arquivo e efetuar novamente o download desses pedacos. Se especificar hash do arquivo inteiro, a verificacao do hash ocorrera so ao final do download, validacao que leva em conta o tamanho do arquivo, e o download reinicira a partir do inicio. Se houver especificacao de ambos metodos de hash sera utilizado o hash de pedacoes. Padrao: false -c, --continue [true|false] Continua o download a partir de um download parcial, anteriormente interrompido. Use esta opcao para retormar um download iniciado a partir de um browser (navegador) ou outro programa que faz baixa de arquivos sequencialmente desde o inicio. Atualmente esta opcao so e aplicavel a download de HTTP, HTTPS e FTP. -h, --help[=|] As mensagens de Ajuda sao classificadas em temas. Um tema se inicia com #. Por exemplo, digitar --help=#http para obter a explicacao do uso das opcoes do tema #http. Se digitar um termo que nao e tema, havera exibicao das opcoes que incluem o termo informado. Valores disponiveis para temas podem ser: #basic, #advanced, #http, #https, #ftp, #metalink, #bittorrent, #cookie, #hook, #file, #rpc, #checksum, #experimental, #deprecated, #help, #all Padrao: #basic Opcoes HTTP / FTP --all-proxy= Usar este servidor proxy para todos protocolos. Para limpar proxy previamente definido, use "". Esta configuracao pode ser sobreposta atraves da especificacao de um servidor proxy para um determinado protocolo usando opcoes --http-proxy, --https-proxy e --ftp-proxy. Isto afeta todas as URIs. O formato da opcao PROXY e [http://][USUARIO:SENHA@]SERVIDOR[:PORTA]. Ver tambem secao VARIAVEIS DE AMBIENTE section. NOTA: Se usuario e senha sao embutidos na URI do proxy eles tambem podem ser especificados atraves das opcoes --{http,https,ftp,all}-proxy-{usuario,senha}, aqueles que aparecerem por ultimo assumem a precedencia. Por exemplo, quando temos: http-proxy-user=meunome, http-proxy-passwd=minhasenha em aria2.conf e especificamos --http-proxy="http://svrproxy" na linha de comando, entao obtemos como proxy HTTP http://svrproxy com o usuario meunome e senha minhasenha. Outro exemplo: quando especificamos na linha de comando: --http-proxy="http://usuario:senha@svrproxy" --http-proxy-user="meunome" --http-proxy-passwd="minhasenha", entao obtemos proxy HTTP http://svrproxy com usuario meunome e senha minhasenha. Mais um exemplo: se especificamos na linha de comando: --http-proxy-user="meunome" --http-proxy-passwd="minhasenha" --http-proxy="http://utilizador:acesso@svrproxy", entao obtemos o proxy HTTP http://svrproxy com o usuario utilizador e a senha acesso. --all-proxy-passwd= Define senha para a opcao --all-proxy. --all-proxy-user= Define usuario para opcao --all-proxy. --checksum== Define verificacao (checksum). TIPO e o tipo de algoritmo(hash). Os tipos de algoritmos estao listados em Algoritmos de Hash e podem ser obtidos atraves do do comando aria2c -v. DIGEST e o codigo hexadecimal. Por examplo, definindo sha-1 o resultado parece com: sha-1=0192ba11326fe2298c8cb4de616f4d4140213838 Essa opcao aplica-se apenas para downloads HTTP, HTTPS e FTP. --connect-timeout= Define o tempo de espera em segundos para estabelecer a conexao com o servidor proxy. Apos o estabelecimento da conexao, esta opcao nao tem mais efeito, mas a opcao --timeout sera utilizada. Padrao: 60 --dry-run [true|false] Se true e informado, aria2 apenas verifica se o arquivo remoto esta disponivel para download dos dados. Esta opcao tem efeito em downloads de servidores HTTP, HTTPS e FTP. Downloads de BitTorrent serao cancelados se for especificado true. Padrao: false --lowest-speed-limit= Fecha a conexao se a velocidade de download e menor ou igual ao valor especificado, bytes por segundo. 0 significa que aria2 nao levara em conta limite de velocidade minima. Pode ser anexado K ou M (1K = 1024, 1M = 1024K). Esta opcao nao abrange downloads do tipo BitTorrent. Padrao: 0 -x, --max-connection-per-server= O numero maximo de conexoes para um servidor em cada download. Padrao: 1 --max-file-not-found= Se aria2 recebe codigo de retorno "arquivo nao encontrado" de um servidor remoto de HTTP / FTP um NUMERO de vezes sem obter nenhum byte, entao o download e forcado a falhar. Especificar 0 para desabilitar esta opcao. Esta opcao so e valida para servidores HTTP / FTP. Padrao: 0 -m, --max-tries= Define o numero de tentativas. 0 significa ilimitadas. See also --retry-wait. Padrao: 5 -k, --min-split-size= aria2 nao divide menos que 2 * TAMANHO o intervalo de bytes. Por exemplo, considere download de um arquivo de 20MiB. Se o TAMANHO e 10M, aria2 pode dividir o arquivo em 2 intervalos de [0-10MiB) e [10MiB-20MiB) e executar o download usando 2 fontes (logicamente se a opcao --split >= 2). Se o TAMANHO e 15M, desde que 2 * 15M > 20Mib, aria2 nao dividira o arquivo e fara o download de 1 fonte. Pde ser anexado K ou M (1K = 1024, 1M = 1024K). Valores Possiveis: 1M -1024M Padrao: 20M -n, --no-netrc [true|false] Desabilita suporte netrc. Padrao: Suporte a netrc e habilitado por padrao. NOTA: arquivo netrc e lido somente no inicio se a opcao --no-netrc e false. Portanto se a opcao --no-netrc e true no inicio, nao havera netrc disponivel durante toda a sessao, mesmo que seja utilizada a opcao aria2.changeGlobalOption() para executar a opcao :option: --no-netrc=false <-n>. . --no-proxy= Especifica nomes de servidores, dominios e enderecos de redes com ou sem blocos CIDR para os quais nao serao utilizados proxy. NOTA: Para endereco de rede com blocos CIDR, ambos enderecos IPv4 ou IPv6 funcionam. Implementacao atual, nao resolve nome host em URI para comparar com endereco especificado na opcao --no-proxy. Portanto so sera efetiva se a URI possuir numeros de endereco IP. -o, --out= O nome do arquivo baixado. Quando a opcao --force-sequential e utilizada esta opcao sera ignorada. NOTA: Em um download Metalink ou BitTorrent nao podera ser especificado o nome do arquivo. O nome do arquivo especificado aqui e usado quando atraves da linha de comando e informada para o aria2 sem a utilizacao da opcao --input-file, --force-sequential. Por exemplo: $ aria2c -o meuarquivo.zip "http://server1/arquivo.zip" "http://server2/arquivo.zip" --proxy-method= Define o metodo utilizado para requisicoes de proxy. METODO e get ou tunnel. Downloads HTTPS sempre utiliza tunnel, independentemente desta opcao. Padrao: get -R, --remote-time [true|false] Recuperar timestamp do arquivo remoto a partir do servidor remoto HTTP / FTP e se disponivel, aplica-lo ao arquivo local. Padrao: false --reuse-uri [true|false] Reutilizar uma URI ja utilizada. Se nao habilitada as URIs ja utilizadas serao abandonadas. Padrao: true --retry-wait= Define quantos segundos havera entre as tentativas. Com SEGUNDOS > 0, aria2 ira tentara fazer o download quando o servidor HTTP retornar codigo resposta 503. Padrao: 0 --server-stat-of= Define o nome do arquivo no qual sera salvo o perfil de performance de um ou mais servidores acessados. Para carregar dados ja salvos utilizar opcao --server-stat-if. Ver subsecao Perfil Performance Servidor abaixo, para o formato do arquivo. --server-stat-if= Specify the filename to load performance profile of the servers. The loaded data will be used in some URI selector such as feedback. See also --uri-selector option. See Perfil Performance Servidor subsection below for file format. --server-stat-timeout= Specifies timeout in seconds to invalidate performance profile of the servers since the last contact to them. Padrao: 86400 (24hours) -s, --split= Download a file using N connections. If more than N URIs are given, first N URIs are used and remaining URIs are used for backup. If less than N URIs are given, those URIs are used more than once so that N connections total are made simultaneously. The number of connections to the same host is restricted by --max-connection-per-server option. See also --min-split-size option. Padrao: 5 NOTA: Some Metalinks regulate the number of servers to connect. aria2 strictly respects them. This means that if Metalink defines the maxconnections attribute lower than N, then aria2 uses the value of maxconnections attribute instead of N. --stream-piece-selector= Specify piece selection algorithm used in HTTP e FTP download. A piece is a fixed length segment which is downloaded in parallel in a segmented download. Padrao: default default Select a piece to reduce the number of connections established. This is reasonable default behaviour because establishing a connection is an expensive operation. inorder Select a piece closest to the beginning of the file. This is useful for viewing movies while downloading. --enable-http-pipelining option may be useful to reduce re-connection overhead. Note that aria2 honors --min-split-size option, so it will be necessary to specify a reasonable value to --min-split-size option. random Select a piece randomly. Like inorder, --min-split-size option is honored. geom When starting to download a file, select a piece closest to the beginning of the file like inorder, but then exponentially increases space between pieces. This reduces the number of connections established, while at the same time downloads the beginning part of the file first. This is useful for viewing movies while downloading. -t, --timeout= Set timeout in seconds. Padrao: 60 --uri-selector= Specify URI selection algorithm. The possible values are inorder, feedback and adaptive. If inorder is given, URI is tried in the order appeared in the URI list. If feedback is given, aria2 uses download speed observed in the previous downloads and choose fastest server in the URI list. This also effectively skips dead mirrors. The observed download speed is a part of performance profile of servers mentioned in --server-stat-of and --server-stat-if options. If adaptive is given, selects one of the best mirrors for the first and reserved connections. For supplementary ones, it returns mirrors which has not been tested yet, and if each of them has already been tested, returns mirrors which has to be tested again. Otherwise, it doesn't select anymore mirrors. Like feedback, it uses a performance profile of servers. Padrao: feedback Opcoes Especificas de HTTP e HTTPS --ca-certificate= Utilizar o certificado do ARQUIVO FILE para verificar os Servidores. O certificado precisa estar no formato PEM e pode conter multiplos certificados CA. Utilizar a opcao --check-certificate para habilitar a verificacao. NOTA: Se aria2 foi compilado com OpenSSL ou versao mais recente de GnuTLS a qual tem a funcao gnutls_certificate_set_x509_system_trust() e a biblioteca foi adequadamente configurada para localizar o certificado CA existente, aria2 ira carregar automaticamente estes certificados no inicio. --certificate= Usar arquivo com certificado cliente. O certificado deve estar no formato PEM. Pode ser usada a opcao --private-key para especificar uma chave particular. --check-certificate [true|false] Verifica se o peer esta usando o certificado especificado na opcao --ca-certificate. Padrao: true --http-accept-gzip [true|false] Envia cabecalho requisicao Accept-Encoding: deflate, gzip e faz (inflate) se o servidor remoto responder com Content-Encoding: gzip ou Content-Encoding: deflate. Padrao: false NOTA: Alguns servidores respondem com Content-Encoding: gzip para arquivos que sao gzip. aria2 faz inflate destes por causa do cabecalho de resposta. --http-auth-challenge [true|false] Envia cabecalho de autorizacao HTTP so quando requisitado pelo servidor. Se false e habilitado, entao o cabecalho de autorizacao sempre sera enviado ao servidor. Ha uma excecao: se o nome do usuario de senha sao embutidas na URI, o cabecalho de autorizacao sempre sera enviado ao servidor independente desta opcao. Padrao: false --http-no-cache [true|false] Envia Cache-Control: no-cache e Pragma: cabecalho no-cache para evitar conteudo do cache. Se false e fornecido, esses cabecalhos nao serao enviados e podera ser adicionado o cabecalho de Cache-Control com a diretiva desejada usando a opcao --header. Padrao: true --http-user= Define usuario HTTP. Isto afeta todas as URIs. --http-passwd= Define senha HTTP. Isto afeta todas as URIs. --http-proxy= Usar este servidor proxy para HTTP. Para limpar o proxy anteriormente definido use "". Ver tambem opcao --all-proxy. Isto afeta todas URIs. O formato de PROXY e [http://][USUARIO:SENHA@]SERVIDOR[:PORTA] --http-proxy-passwd= Define a senha para opcao --http-proxy. --http-proxy-user= Define o usuario para a opcao --http-proxy. --https-proxy= Usar este servidor proxy para HTTPS. Para limpar o proxy anteriormente, use "". Ver tambem opcao --all-proxy. Isto afeta todas URIs. O formato de PROXY e [https://][USUARIO:SENHA@]SERVIDOR[:PORTA] --https-proxy-passwd= Define senha para a opcao --https-proxy. --https-proxy-user= Define usuario para a opcao --https-proxy. --private-key= Define o arquivo de chave particular que sera usado. A chave particular deve estar no formato PEM e nao pode estar criptografada. O comportamento quando estiver criptografada e indefinido. Ver tambem a opcao --certificate. --referer= Define a referencia. Afeta todas URIs. Se * e usado, cada URI requisitada e usada como referencia (referer). Pode ser util quando usado em conjunto com a opcao --parameterized-uri. --enable-http-keep-alive [true|false] Enable HTTP/1.1 persistent connection. Padrao: true --enable-http-pipelining [true|false] Habilita pipelining para HTTP/1.1. Padrao: false NOTA: Da perspectiva de performance, nao ha vantagem em habilitar esta opcao. --header=
Anexa CABECALHOao ao cabecalho HTTP requisitado. Pode usar esta opcao varias vezes para especificar multiplos cabecalhos: $ aria2c --header="X-A: b78" --header="X-B: 9J1" "http://servidor/arquivo" --load-cookies= Carregar Cookies do ARQUIVO usando formato Firefox3 format (SQLite3), Chromium / Google Chrome (SQLite3) e formato Mozilla / Firefox(1.x/2.x) / Netscape. NOTA: Se aria2 e compilado sem libsqlite3, entao nao havera suporte aos formatos de cookie Firefox3 e Chromium / Google Chrome. --save-cookies= Salva Cookies para o ARQUIVO no formato Mozilla / Firefox(1.x/2.x) / Netscape. Se ARQUIVO ja existe, sera sobreposto. Cookies da Sessao tambem serao salvos e seus valores de expiracao serao tratados como 0. Valores Possiveis: /caminho/do/arquivo --use-head [true|false] Usar metodo HEAD para a primeira requisicao ao servidor HTTP. Padrao: false -U, --user-agent= Define usuario agente para download HTTP, HTTPS. Padrao: aria2/$VERSION, $VERSION e substituida pela versao do aria2. Opcoes Especificas de FTP --ftp-user= Definir o usuario FTP. Isto afeta todas as URIs. Padrao: anonymous --ftp-passwd= Definir senha FTP. Isto afeta todas as URIs. Se o nome existe, mas a senha esta ausente, para login em uma URI, aria2 tenta obter a senha usando o arquivo .netrc, caso exista senha declarada no .netrc. Se nao existir sera utilizada a senha declarada nesta opcao. Padrao: ARIA2USER@ -p, --ftp-pasv [true|false] Usar modo passivo no FTP. Se false e informado, o modo ativo sera usado. Padrao: true --ftp-proxy= Usar este servidor proxy para FTP. Para limpar definicao proxy previamente definido, use "". Ver tambem opcao --all-proxy. Isto afeta todas URIs. O formato do PROXY e [http://][USUARIO:SENHA@]SERVIDOR[:PORTA] --ftp-proxy-passwd= Define senha para a opcao --ftp-proxy. --ftp-proxy-user= Define senha para opcao --ftp-proxy. --ftp-type= Define tipo de transferencia FTP. Que pode ser: binary ou ascii. Padrao: binary --ftp-reuse-connection [true|false] Reutilizar conexao FTP. Padrao: true Opcoes Comuns de BitTorrent / Metalink --select-file=... Define arquivo para download atraves da especificacao de seu index. Para achar o index do arquivo use a opcao --show-files. Multiplos indices podem ser especificados usando-se ,, por exemplo: 3,6. Tambem pode ser usado - para especificar intervalos: 1-5. Ambos podem ser usados juntos , e - exemplo: 1-5,8,9. Quando usados com a opcao -M, o indice pode variar dependendo das opcoes da query. Ver opcoes (--metalink-*). NOTA: Em torrent de multiplos arquivos, os arquivos adjacentes especificados por essa opcao tambem podem ser baixados. Esse e o comportamento esperado nao e um bug/erro. Um simples pedaco pode incluir diversos arquivos ou partes de arquivos, e aria2 grava o pedaco(s) no(s) arquivo(s) apropriado(s). -S, --show-files [true|false] Imprimir a lista de arquivos do ".torrent", ".meta4" e ".metalink" e termina. No caso de arquivo ".torrent", informacoes adicionais sao impressas. (infohash, tamanho pedaco, etc). Opcoes Especificas de BitTorrent --bt-enable-lpd [true|false] Habilita Descobrir Peer Local. Se indicador particular e configurado no torrent, aria2 nao usa esta funcionalidade mesmo que true foi informato. Padrao: false --bt-exclude-tracker=[,...] Lista separada por virgulas, de trackers de URI BitTorrent que devem ser removidas. Pode ser usado o valor especial * para especificar todas URIs; isso ira excluir todas URIs de "announce". Quando especificar * em uma linha de comando do shell, lembre-se de forcar o escape or delimite com aspas, apostrofo ou em linux com crase caracter . Ver tambem opcao :option: `--bt-tracker. --bt-external-ip= Especificar o IP externo para reportar um track BitTorrent. Mesmo que esta funcao tenha o nome external, ela pode aceitar qualquer tipo de endereco IP. ENDERECO-IP deve ser um endereco IP numerico. --bt-hash-check-seed [true|false] Se true e informado, apos o check do hash usando a opcao :option: --check-integrity <-V> e o arquivo esta completo, continue o arquivo seed. Se desejar verificar o arquivo e efetuar o download somente quando ele estiver imcompleto ou danificado, defina esta opcao para false. Esta opcao so tem efeito para download de BitTorrent. Padrao: true --bt-lpd-interface= Use o interface de rede informado para Descobrir o Peer Local. Se esta opcao nao e especificada, o interface padrao e usado. Pode ser especificado o nome do interface e o endereco IP. Valores possiveis: interface, endereco IP --bt-max-open-files= Especificar o numero maximo de arquivos para abrir para cada download BitTorrent. Padrao: 100 --bt-max-peers= Especificar o numero maximo de peers para cada torrent. 0 significa ilimitado. Ver tambem a opcao :option: --bt-request-peer-speed-limit. Padrao: 55 --bt-metadata-only [true|false] Download somente os metadados. O(s) arquivo(s) descrito(s) no(s) metadado(s) nao sera(ao) baixado(s). Esta opcao so tem efeito para URI BitTorrent Magnet. Ver tambem a opcao :option: --bt-save-metadata. Padrao: false --bt-min-crypto-level=plain|arc4 Define o nivel minimo do metodo de critografia. Se existem diversos metodos sao fornecidos por um peer, aria2 escolhe o que satisfaz o menor nivel especificado. Padrao: plain --bt-prioritize-piece=head[=],tail[=] Tentar primeiramente o download do primeiro e ultimo pedaco de cada arquivo Isto e util para ver antecipadamente os arquivos. O argumento pode conter duas palavras chave: head e tail. Para incluir ambos, devem estar separados por virgula. Estas palavras chave possuem um parametro tamanho. Por examplo, se head= e especificado, pedaco no intervalo do numero de bytes iniciais de cada arquivo terao prioridade. tail= significa que o intervalo final no TAMANHO informado de cada arquivo. TAMANHO pode incluir K ou M (1K = 1024, 1M = 1024K). Se TAMANHO e omitido, TAMNHA de 1M sera usado. --bt-remove-unselected-file [true|false] Remove os arquivos nao selecionados quando o download do BitTorrent estiver completo. Para selecionar arquivo(s) use a opcao --select-file. Se nao for usada esta opcao, e assumido que todos os arquivos serao selecionados. Use esta opcao com criterio pois ela realmente remove arquivo(s) do seu disco. Padrao: false --bt-require-crypto [true|false] Se true e informado, aria2 nao aceita nem estabelece conexao com handshake de BitTorrent (protocolo 19BitTorrent). Em vez disso aria2 usa (Obfuscation handshake. Padrao: false --bt-request-peer-speed-limit= Se a velocidade total de download do torrent e menor que a , aria2 temporariamente incrementa o numero de peers para tentar maior velocidade de download. Configurando esta opcao com sua velocidade preferida pode incrementar a velocidade de download em alguns casos. Pode ser anexado K ou M (1K = 1024, 1M = 1024K). Padrao: 50K --bt-save-metadata [true|false] Salvar metadados como arquivo ".torrent" file. Esta opcao tem efeito somente se URI usada e de BitTorrent Magnet. O nome do arquivo e codificado em hash em hexadecimal com sufixo de ".torrent". O diretorio onde sera salvo o o metadado, e o mesmo onde aponta o download do arquivo. Se o arquivo ja existe, o metadado nao sera salvo. Ver tambemn a opcao :option: --bt-metadata-only. Padrao: false --bt-seed-unverified [true|false] Faz Seed do arquivo previamente baixado sem verificar os hashes dos pedacos. Padrao: false --bt-stop-timeout= Interrompe o download do BitTorrent se a velocidade do for zero por consecutivos SEGUNDOS. Se 0 e informado, esta funcionalidade e desabilitada. Padrao: 0 --bt-tracker=[,...] Lista URI, separada por virgulas, dos rastreadores BitTorrent. Estas URIs nao sao afetadas pela opcao --bt-exclude-tracker, porque elas sao adicionadas apos as URIs da opcao --bt-exclude-tracker serem removidas. --bt-tracker-connect-timeout= Define o tempo de conexao em segundos para estabelecera conexao com o tracker. Apos a conexao ser estabelecida, esta opcao nao tem mais efeito e a opcao --bt-tracker-timeout e usada. Padrao: 60 --bt-tracker-interval= Define o intervalo em segundos, entre as requisicoes ao tracker / rastreador. Isso sobrepoe o valor do intervalo e aria2 passa a usa-los e ignorar o valor minimo de resposta do tracker / rastreador. Se 0 e definido, aria2 assume que o intervalo sera baseado no tracker / rastreador e o download ira prosseguir. Padrao: 0 --bt-tracker-timeout= Define em segundos o intervalo do timeout. Padrao: 60 --dht-entry-point=: Define servidor e a porta da rede DHT IPv4. --dht-entry-point6=: Define servidor e a porta da rede DHT IPv6. --dht-file-path= Modifica o caminho (CAMINHO) para o arquivo da tabela de roteamento DHT IPv4. Padrao: $HOME/.aria2/dht.dat --dht-file-path6= Modifica o caminho (CAMINHO) para o arquivo da tabela de roteamento DHT IPv6. Padrao: $HOME/.aria2/dht6.dat --dht-listen-addr6= Define o endereco para o bind do socket para DHT IPv6. Deve ser endereco global IPv6 do servidor. --dht-listen-port=... Define portas UDP para ouvir para DHT (IPv4 e IPv6) e rastreador UDP. Multiplas portas podem ser especificadas atraves do uso de ,, por exemplo: 6881,6885. Tambem pode ser usado - para especificar intervalo, exemplo: 6881-6999. Ambos , and - podem ser usados em conjunto. Padrao: 6881-6999 NOTA: Cerfifique-se que as portas especificadas estao disponiveis para trafego UDP de entrada. --dht-message-timeout= Define timeout em segundos. Padrao: 10 --enable-dht [true|false] Habilita funcionalidade DHT IPv4. Tambem habilita suporte a rastreador UDP. Se um identificador particular e usado em um torrente, aria2 nao usa DHT para aquele download, mesmo que true foi informado. Padrao: true --enable-dht6 [true|false] Habilita funcionalidade DHT IPv6. Se identificador particular e usado em um torrent, aria2 nao usa DHT para aquele download mesmo que true foi informado. Usar opcao --dht-listen-port para especificar numero(s) de porta(s) para ser(em) ouvida(s). Ver tambem opcao :option:` --dht-listen-addr6` Padrao: true --enable-peer-exchange [true|false] Habilita extensao Peer Exchange. Se um indicador particular e usado nesse torrent, essa funcionalidade sera desabilitada para o download, mesmo que true foi informado. Padrao: true --follow-torrent=true|false|mem Se true ou mem e especificado, quando um arquivo cujo sufixo e .torrent ou o tipo de conteudo e application/x-bittorrent e baixado, aria2 faz o parse como arquivo torrent e executa o download dos arquivos mencionados nele. Se mem e especificado, o arquivo torrent nao sera gravado em disco, apenas sera mantido em memoria. Se false e especificado, a acao acima descrita nao sera executada. Padrao: true -O, --index-out== Define o caminho do arquivo com indice=INDEX. O arquivo indice pode ser localizado usando-se a opcao --show-files. PATH e o caminho relativo ao caminho especificado na opcao --dir. Esta opcao pode ser usada multiplas vezes. Com esta opcao pode-se especificar o nome dos arquivos que serao baixados pelo BitTorrent. --listen-port=... Define o numero das portas TCP para download de BitTorrent. Multiplas portas sao especificadas usando ,, por exemplo: 6881,6885. Tambem pode usar - para especificar intervalos: 6881-6999. Ambos , and - podem ser usados em conjunto: 6881-6889,6999. Padrao: 6881-6999 NOTA: Certifique-se que as portas estejam habilitadas para trafego TCP de entrada. --max-overall-upload-limit= Define a velocidade maxima geral de upload em bytes/seg. 0 significa irrestrito. Pode anexar K ou M (1K = 1024, 1M = 1024K). Para limitar a velocidade de upload por torrent, usar opcao --max-upload-limit. Padrao: 0 -u, --max-upload-limit= Define a velocidade maxima para cada torrent em bytes/seg. 0 significa irrestrito. Pode anexar K ou M (1K = 1024, 1M = 1024K). Para limitar a velocidade global de upload de torrent, usar opcao --max-overall-upload-limit. Padrao: 0 --peer-id-prefix= Especifica o prefixo para ID do peer. O ID do peer em um BitTorrent tem o tamanho de 20 bytes. Se mais de 20 bytes sao especificados, somente os 20 bytes iniciais serao usados. Se menos de 20 bytes sao especificados, dados randomicos serao adicionados para completar o tamanho de 20 bytes. Padrao: aria2/$VERSAO-, $VERSAO e a versao do pacote aria2. --seed-ratio= Specify share ratio. Seed completed torrents until share ratio reaches RATIO. You are strongly encouraged to specify equals or more than 1.0 here. Specify 0.0 if you intend to do seeding regardless of share ratio. If --seed-time option is specified along with this option, seeding ends when at least one of the conditions is satisfied. Padrao: 1.0 --seed-time= Especificar o tempo de (seeding) em minutos. Ver tambem a opcao --seed-ratio. NOTA: Especificando --seed-time=0 desabilita o (seeding) apos o download ter sido completado. -T, --torrent-file= O caminho para o arquivo ".torrent". Nao e obrigatorio usar esta opcao pois pode ser especificado arquivo ".torrent" sem a opcao --torrent-file. Opcoes Especificas de Metalink --follow-metalink=true|false|mem If true or mem is specified, when a file whose suffix is .meta4 or .metalink or content type of application/metalink4+xml or application/metalink+xml is downloaded, aria2 parses it as a metalink file and downloads files mentioned in it. If mem is specified, a metalink file is not written to the disk, but is just kept in memory. If false is specified, the action mentioned above is not taken. Padrao: true --metalink-base-uri= Specify base URI to resolve relative URI in metalink:url and metalink:metaurl element in a metalink file stored in local disk. If URI points to a directory, URI must end with /. -M, --metalink-file= The file path to ".meta4" and ".metalink" file. Reads input from stdin when - is specified. You are not required to use this option because you can specify ".metalink" files without --metalink-file. --metalink-language= The language of the file to download. --metalink-location=[,...] The location of the preferred server. A comma-delimited list of locations is acceptable, for example, jp,us. --metalink-os= The operating system of the file to download. --metalink-version= The version of the file to download. --metalink-preferred-protocol= Specify preferred protocol. The possible values are http, https, ftp and none. Specify none to disable this feature. Padrao: none --metalink-enable-unique-protocol [true|false] If true is given and several protocols are available for a mirror in a metalink file, aria2 uses one of them. Use --metalink-preferred-protocol option to specify the preference of protocol. Padrao: true Opcoes especificas de RPC --enable-rpc [true|false] Enable JSON-RPC/XML-RPC server. It is strongly recommended to set username and password using --rpc-user and --rpc-passwd option. See also --rpc-listen-port option. Padrao: false --pause [true|false] Pause o download apos adicionado. Esta opcao so e efetiva quando a opcao --enable-rpc=true e informada. Padrao: false --rpc-allow-origin-all [true|false] Adiciona o campo de cabecalho, Access-Control-Allow-Origin, com o valor * a resposta RPC. Padrao: false --rpc-certificate= Usar o certificado no ARQUIVO para servidor RPC. O certificado deve estar no formato PEM. Usar opcao --rpc-private-key para especificar chave particular. Usar a opcao --rpc-secure para habilitar criptografia. Usuarios de AppleTLS precisam antes gerar o certificado proprio auto-assinado atraves do utilitario Keychain Access, por ex: usando o assistente e tomando nota da identificacao SHA-1 do certificado gerado. Para executar o aria2c com a opcao --rpc-secure usar --rpc-certificate= e apenas omitir a opcao --rpc-private-key --rpc-listen-all [true|false] Listen incoming JSON-RPC/XML-RPC requests on all network interfaces. If false is given, listen only on local loopback interface. Padrao: false --rpc-listen-port= Specify a port number for JSON-RPC/XML-RPC server to listen to. Possible Values: 1024 -65535 Padrao: 6800 --rpc-max-request-size= Set max size of JSON-RPC/XML-RPC request. If aria2 detects the request is more than SIZE bytes, it drops connection. Padrao: 2M --rpc-passwd= Set JSON-RPC/XML-RPC password. --rpc-private-key= Use the private key in FILE for RPC server. The private key must be decrypted and in PEM format. Use --rpc-secure option to enable encryption. See also --rpc-certificate option. --rpc-save-upload-metadata [true|false] Save the uploaded torrent or metalink metadata in the directory specified by --dir option. The filename consists of SHA-1 hash hex string of metadata plus extension. For torrent, the extension is '.torrent'. For metalink, it is '.meta4'. If false is given to this option, the downloads added by aria2.addTorrent() or aria2.addMetalink() will not be saved by --save-session option. Default: false --rpc-secure [true|false] RPC transport will be encrypted by SSL/TLS. The RPC clients must use https scheme to access the server. For WebSocket client, use wss scheme. Use --rpc-certificate and --rpc-private-key options to specify the server certificate and private key. --rpc-user= Set JSON-RPC/XML-RPC user. Opcoes Avancadas --allow-overwrite [true|false] Reiniciar o download desde o inicio se o correspondente arquivo de controle nao existir. Ver tambem a opcao --auto-file-renaming. Padrao: false --allow-piece-length-change [true|false] Se false e informado, aria2 interrompe o download quando o tamanho de um pedaco for diferente do especificado no arquivo controle. Se true e informado, o download prossegue mas o progresso sera perdido. Padrao: false --always-resume [true|false] Sempre continuar. Se If true e informado, aria2 sempre tentara retomar o download do ponto interrompido e se nao for possivel o download sera interrompido. Se false e informado, quando todas URIs fornecidas nao suportarem a continuidade do download ou aria2 encontrar N URIs as quais nao suportem retomar o download (N e o valor especificado na opcao --max-resume-failure-tries), aria2 ira iniciar o download do inicio. Ver opcao --max-resume-failure-tries Padrao: true --async-dns [true|false] Habilita DNS assincrono. Padrao: true --async-dns-server=[,...] Lista separada por virgulas, dos enderecos dos servidores DNS assincronos usados pelo resolvedor. Normalmente o resolvedor de DNS assincronos faz a leitura dos enderecos a partir do arquivo /etc/resolv.conf. Quando essa opcao e usada e feito uso dos servidores DNS especificados na opcao em detrimento do conteudo do arquivo /etc/resolv.conf. Podem ser usados ambos enderecos IPv4 e IPv6. Essa opcao e util quando o sistema nao possui /etc/resolv.conf e o usuario nao tem permissao para cria-lo. --auto-file-renaming [true|false] Renomear o arquivo se o mesmo ja existir. Essa opcao so funciona em download HTTP, HTTPS e FTP. O novo nome do arquivo tera um ponto e uma sequencia (1..9999) como sufixo. Padrao: true --auto-save-interval= Salvar o arquivo de controle (*.aria2) a cada intervalo de SEGUNDOS. Se 0 e informado, o arquivo de controle nao sera salvo durante o download. aria2 salva o arquivo de controle quando parar, independentemente do valor. As possibilidades vao desde 0 ate 600. Padrao: 60 --conditional-get [true|false] Download file only when the local file is older than remote file. This function only works with HTTP, HTTPS, downloads only. It does not work if file size is specified in Metalink. It also ignores Content-Disposition header. If a control file exists, this option will be ignored. This function uses If-Modified-Since header to get only newer file conditionally. When getting modification time of local file, it uses user supplied filename(see --out option) or filename part in URI if --out is not specified. To overwrite existing file, --allow-overwrite is required. Padrao: false --conf-path= Change the configuration file path to PATH. Padrao: $HOME/.aria2/aria2.conf --console-log-level= Set log level to output to console. LEVEL is either debug, info, notice, warn or error. Default: notice -D, --daemon [true|false] Run as daemon. The current working directory will be changed to / and standard input, standard output and standard error will be redirected to /dev/null. Padrao: false --deferred-input [true|false] If true is given, aria2 does not read all URIs and options from file specified by --input-file option at startup, but it reads one by one when it needs later. This may reduce memory usage if input file contains a lot of URIs to download. If false is given, aria2 reads all URIs and options at startup. Padrao: false --disable-ipv6 [true|false] Disable IPv6. This is useful if you have to use broken DNS and want to avoid terribly slow AAAA record lookup. Padrao: false --disk-cache= Enable disk cache. If SIZE is 0, the disk cache is disabled. This feature caches the downloaded data in memory, which grows to at most SIZE bytes. The cache storage is created for aria2 instance and shared by all downloads. The one advantage of the disk cache is reduce the disk I/O because the data are written in larger unit and it is reordered by the offset of the file. If hash checking is involved and the data are cached in memory, we don't need to read them from the disk. SIZE can include K or M (1K = 1024, 1M = 1024K). Default: 16M --download-result= This option changes the way Download Results is formatted. If OPT is default, print GID, status, average download speed and path/URI. If multiple files are involved, path/URI of first requested file is printed and remaining ones are omitted. If OPT is full, print GID, status, average download speed, percentage of progress and path/URI. The percentage of progress and path/URI are printed for each requested file in each row. Padrao: default --enable-async-dns6 [true|false] Enable IPv6 name resolution in asynchronous DNS resolver. This option will be ignored when --async-dns=false. Padrao: false --enable-mmap [true|false] Map files into memory. This option may not work if the file space is not pre-allocated. See --file-allocation. Padrao: false --event-poll= Specify the method for polling events. The possible values are epoll, kqueue, port, poll and select. For each epoll, kqueue, port and poll, it is available if system supports it. epoll is available on recent Linux. kqueue is available on various *BSD systems including Mac OS X. port is available on Open Solaris. The default value may vary depending on the system you use. --file-allocation= Specify file allocation method. none doesn't pre-allocate file space. prealloc pre-allocates file space before download begins. This may take some time depending on the size of the file. If you are using newer file systems such as ext4 (with extents support), btrfs, xfs or NTFS(MinGW build only), falloc is your best choice. It allocates large(few GiB) files almost instantly. Don't use falloc with legacy file systems such as ext3 and FAT32 because it takes almost the same time as prealloc and it blocks aria2 entirely until allocation finishes. falloc may not be available if your system doesn't have posix_fallocate(3) function. trunc uses ftruncate(2) system call or platform-specific counterpart to truncate a file to a specified length. Possible Values: none, prealloc, trunc, falloc Padrao: prealloc --force-save [true|false] Save download with --save-session option even if the download is completed or removed. This may be useful to save BitTorrent seeding which is recognized as completed state. Default: false --gid= Set GID manually. aria2 identifies each download by the ID called GID. The GID must be hex string of 16 characters, thus [0-9a-zA-Z] are allowed and leading zeros must not be stripped. The GID all 0 is reserved and must not be used. The GID must be unique, otherwise error is reported and the download is not added. This option is useful when restoring the sessions saved using --save-session option. If this option is not used, new GID is generated by aria2. --hash-check-only [true|false] If true is given, after hash check using --check-integrity option, abort download whether or not download is complete. Padrao: false --human-readable [true|false] Print sizes and speed in human readable format (e.g., 1.2Ki, 3.4Mi) in the console readout. Padrao: true --interface= Bind sockets to given interface. You can specify interface name, IP address and hostname. Possible Values: interface, IP address, hostname NOTA: If an interface has multiple addresses, it is highly recommended to specify IP address explicitly. See also --disable-ipv6. If your system doesn't have getifaddrs(3), this option doesn't accept interface name. --max-download-result= Set maximum number of download result kept in memory. The download results are completed/error/removed downloads. The download results are stored in FIFO queue and it can store at most NUM download results. When queue is full and new download result is created, oldest download result is removed from the front of the queue and new one is pushed to the back. Setting big number in this option may result high memory consumption after thousands of downloads. Specifying 0 means no download result is kept. Padrao: 1000 --max-resume-failure-tries= When used with --always-resume=false, aria2 downloads file from scratch when aria2 detects N number of URIs that does not support resume. If N is 0, aria2 downloads file from scratch when all given URIs do not support resume. See --always-resume option. Padrao: 0 --log-level= Set log level to output. LEVEL is either debug, info, notice, warn or error. Padrao: debug --on-bt-download-complete= For BitTorrent, a command specified in --on-download-complete is called after download completed and seeding is over. On the other hand, this option set the command to be executed after download completed but before seeding. See Interacao com Eventos (Hook) for more details about COMMAND. Possible Values: /path/to/command --on-download-complete= Set the command to be executed after download completed. See See Interacao com Eventos (Hook) for more details about COMMAND. See also --on-download-stop option. Possible Values: /path/to/command --on-download-error= Set the command to be executed after download aborted due to error. See Interacao com Eventos (Hook) for more details about COMMAND. See also --on-download-stop option. Possible Values: /path/to/command --on-download-pause= Set the command to be executed after download was paused. See Interacao com Eventos (Hook) for more details about COMMAND. Possible Values: /path/to/command --on-download-start= Set the command to be executed after download got started. See Interacao com Eventos (Hook) for more details about COMMAND. Possible Values: /path/to/command --on-download-stop= Set the command to be executed after download stopped. You can override the command to be executed for particular download result using --on-download-complete and --on-download-error. If they are specified, command specified in this option is not executed. See Interacao com Eventos (Hook) for more details about COMMAND. Possible Values: /path/to/command --piece-length= Set a piece length for HTTP e FTP downloads. This is the boundary when aria2 splits a file. All splits occur at multiple of this length. This option will be ignored in BitTorrent downloads. It will be also ignored if Metalink file contains piece hashes. Padrao: 1M NOTA: The possible usecase of --piece-length option is change the request range in one HTTP pipelined request. To enable HTTP pipelining use --enable-http-pipelining. --show-console-readout [true|false] Show console readout. Padrao: true --summary-interval= Set interval in seconds to output download progress summary. Setting 0 suppresses the output. Padrao: 60 NOTA: In multi file torrent downloads, the files adjacent forward to the specified files are also allocated if they share the same piece. -Z, --force-sequential [true|false] Fetch URIs in the command-line sequentially and download each URI in a separate session, like the usual command-line download utilities. Padrao: false --max-overall-download-limit= Set max overall download speed in bytes/sec. 0 means unrestricted. You can append K or M (1K = 1024, 1M = 1024K). To limit the download speed per download, use --max-download-limit option. Padrao: 0 --max-download-limit= Set max download speed per each download in bytes/sec. 0 means unrestricted. You can append K or M (1K = 1024, 1M = 1024K). To limit the overall download speed, use --max-overall-download-limit option. Padrao: 0 --no-conf [true|false] Disable loading aria2.conf file. --no-file-allocation-limit= No file allocation is made for files whose size is smaller than SIZE. You can append K or M (1K = 1024, 1M = 1024K). Padrao: 5M -P, --parameterized-uri [true|false] Enable parameterized URI support. You can specify set of parts: http://{sv1,sv2,sv3}/foo.iso. Also you can specify numeric sequences with step counter: http://host/image[000-100:2].img. A step counter can be omitted. If all URIs do not point to the same file, such as the second example above, -Z option is required. Padrao: false -q, --quiet [true|false] Make aria2 quiet (no console output). Padrao: false --realtime-chunk-checksum [true|false] Validate chunk of data by calculating checksum while downloading a file if chunk checksums are provided. Padrao: true --remove-control-file [true|false] Remove control file before download. Using with --allow-overwrite=true, download always starts from scratch. This will be useful for users behind proxy server which disables resume. --save-session= Salvar downloads nao concluidos ou com erro, para um ARQUIVO quando sair. Pode ser informado o nome do arquivo para o aria2 com a opcao --input-file no restart. Note que downloads adicionados pela funcao aria2.addTorrent() e pela funcao aria2.addMetalink() metodo RPC e seus respectivos metadados nao podem ser salvos. Downloads removidos usando a funcao aria2.remove() e aria2.forceRemove() nao serao salvos. --save-session-interval= Save error/unfinished downloads to a file specified by --save-session option every SEC seconds. If 0 is given, file will be saved only when aria2 exits. Default: 0 --stop= Finaliza a aplicacao apos SEGUNDOS se passarem. Se 0 e informado, essa funcionalidade e desabilitada. Padrao: 0 --stop-with-process= Finaliza a aplicacao quando o processo de numero PID nao estiver executando. Isso e util se o processo aria2 foi derivado de um processo precursor. O processo precursor pode ter criado o processo aria2 com seu proprio pid e quando o processo precursor terminar por alguma razao, aria2 pode detectar por ele mesmo, essa situacao e executar ele mesmo o shutdown. Este recurso evita que um processo gere subprocessos que ficam no limbo. --truncate-console-readout [true|false] Truncar a linha da console para ajustar-se a uma linha. Padrao: true -v, --version Exibe o numero da versao, copyright e informacao da configuracao e sai. Argumento(s) Opcional(is) As opcoes que possuem seus argumentos delimitados por colchetes ([]), sao opcionais. Normalmente omitindo o argumento, ele sera assumido como true (verdadeiro). Se for usada a forma abreviada dessas opcoes (como em -V) e informado um argumento, estao o nome da opcao e seu argumento devem ser concatenados, por exemplo: (-Vfalse). Se houver espacos entre a opcao e o argumento o argumento sera tratado como URI e normalmente nao e isto o esperado. Unidades (K and M) Algumas opcoes usam K e M para convenientemente representar 1.024 e 1.048.576 respectivamente. aria2 detecta estas caracteres de maneira transparente (maiusculas e minusculas), portanto podem ser usados k` ou K e m ou M. URI, MAGNET, TORRENT_FILE, METALINK_FILE Podemos especificar multiplas URIs em uma linha de comando. A menos que seja especificada a opcao --force-sequential, todas as URIs devem apontar para o mesmo arquivo que sera baixado ou o download falhara. Pode-se especificar um numero arbitratio de URIs de BitTorrent Magnet URI. Nove que eles sempre serao tratados como downloads separados. Sao suportados Hash de Info de 40 characters e Hast de Info Base32 de 32 characters. Multiplos parametros tr sao suportados. Devido a URI BitTorrent Magnet poder conter o caracter &, e altamente recomendavel delimitar a URI com apostrofo single(') ou aspas double("). E altamente recomendavel habilitar DHT especialmente quando tr o parametro estiver ausente. Ver http://www.bittorrent.org/beps/bep_0009.html para maiores detalhes sobre URI BitTorrent Magnet. Pode-se tambem especificar um numero arbitrario de arquivos torrent e Documentos Metalink armazenados em um dispositivo local. Note que sempre serao tratados como download distintos. Tanto Metalink4 quanto Metalink da versao 3 sao suportados. Pode-se especificar arquivo torrent usando a opcao -T e URI. Fazendo isso o download sera baixado do servidor swarm e HTTP, HTTPS e FTP ao mesmo tempo, enquanto os dados do HTTP, HTTPS e FTP serao uploaded para o swarm torrent. Para torrent de um arquivo a URI deve ser completa e apontar inclusive o recurso ou se a URI terminar com / o nome do torrent sera adicionado. Para multiplos torrents, name e caminho serao adicionados para formar a URI, para cada um dos arquivos. NOTA: Certifique-se que a URI seja delimitada por apostrofo single(') ou aspas double(") se a URI contiver & ou qualquer outro caracter que tenha significado especial para o shell. Continuar Download Interrompido Normalmente pode-se retomar uma transferencia apenas executando-se o comando aria2c URI, caso a transferencia anterior estava sendo feita pelo aria2. Caso a transferencia anterior estava sendo feita por um navegador ou wget de maneira sequencial, entao utilize a opcao --continue para retomar do ponto onde foi interrompida a transferencia. Interacao com Eventos (Hook) aria2 possui opcoes para especificar comando arbitrario apos um evento especifico ocorrer. Atualmente as seguintes opcoes estao disponiveis: --on-bt-download-complete, --on-download-pause, --on-download-complete. --on-download-start, --on-download-error, --on-download-stop. aria2 passa 3 argumentos para um comando especificado quando este comando for executado. Estes argumentos sao: GID, o numero de arquivos e o caminho dos arquivos. Para downloads HTTP, HTTPS e FTP normalmente o numero de arquivos e 1. BitTorrent podem conter multiplos arquivos. Se o numero de arquivos e maior que 1, o caminho do arquivo e o primeiro. Em outras palavras, este e o valor da chave path da primeira estrutura se aquela chave for verdadeira como resposta do metodo da funcao aria2.getFiles() RPC. Se for necessario todos os caminhos dos arquivos, considere usar o metodo JSON-RPC/XML-RPC. Lembre-se que o caminho do arquivo pode ser modificado durante o download no HTTP por causa do redirecionamento ou Disposicao do Conteudo do Cabecalho. Observemos um exemplo de como sao passados argumentos para um comando: $ cat hook.sh #!/bin/sh echo "chamado com [$1] [$2] [$3]" $ aria2c --on-download-complete hook.sh http://dobrasil.org/arquivo.iso chamado com [1] [1] [/caminho/para/arquivo.iso] CODIGO DE RETORNO OU SAIDA Como aria2 pode manipular multiplos downloads concomitantemente, podem ser encontrados varios erros durante uma sessao. aria2 retorna os codigos de retorno ou saida com base no ultimo erro encontrado. 0 Se todos os downloads terminam com sucesso. 1 Erro desconhecido ocorreu. 2 Tempo transcorrido (time out). 3 Recurso nao encontrado. 4 Se aria2 tentou um numero especificado de vezes e obteve "recurso nao encontrado". Ver opcao --max-file-not-found. 5 Se download interrompido porque a velocidade de download e muito baixa. Ver opcao --lowest-speed-limit 6 Erro na rede (network). 7 Se existem downloads nao concluidos. Esse erro e reportado somente se todos os downloads foram concluidos com sucesso mas existe uma fila quando aria2 foi interrompido por quando foi pressionado Ctrl-C pelo usuario ou enviado o sinal TERM ou INT. 8 Se o servidor remoto nao suporta retomar um download que deve ser completado. 9 Nao ha espaco em disco suficiente para os downloads. 10 Se o tamanho do pedaco (piece) foi diferente do arquivo de controle .aria2. Ver opcao --allow-piece-length-change. 11 Se aria2 estava fazendo o download do mesmo arquivo no momento. 12 If aria2 estava fazendo o download do mesmo, hash do torrent, no momento. 13 Se o arquivo ja existe. Ver opcao --allow-overwrite. 14 Se renomer o arquivo falhou. Ver opcao --auto-file-renaming. 15 Se aria2 nao pode abrir o arquivo existente. 16 Se aria2 nao pode criar novo arquivo ou truncar um arquivo ja existente. 17 Se ocorreu erro de I/O no arquivo. 18 Se aria2 nao pode criar diretorio. 19 Se resolucao de nomes falhou. 20 Se aria2 nao pode passar documento Metalink. 21 Se comando FTP falhou. 22 Se cabecalho de resposta HTTP esta errado ou inesperado. 23 Se muitos redirecionamentos ocorreram. 24 Se autorizacao HTTP falhou. 25 Se aria2 nao pode passar arquivo bencoded file (normalmente arq. ".torrent"). 26 Se arquivo ".torrent" estava corrompido ou inexistem informacoes que aria2 necessita. 27 Se URI Magnet URI esta errada. 28 Se opcao esta errada ou nao e reconhecida ou argumento invalido de uma opcao foi informado. 29 Se o servidor remoto nao pode manusear uma requisicao devido a sobrecarga temporaria ou manutencao. 30 Se aria2 nao pode passar uma requisicao JSON-RPC. NOTA: Um erro ocorrido em um download completado nao sera reportado como um status de saida nem como codigo de retorno (exit status). VARIAVEIS DE AMBIENTE aria2 reconhece as seguintes variaveis de ambiente. http_proxy [http://][USUARIO:SENHA@]SERVIDOR[:PORTA] Especifica o servidor para uso do HTTP. Sobrepoe o valor do http-proxy do arquivo de configuracao. A opcao linha de comando --http-proxy sobrepoe este valor. https_proxy [http://][USUARIO:SENHA@]SERVIDOR[:PORTA] Especifica o servidor proxy para uso do HTTPS. Sobrepoe o valor do https-proxy do arquivo de configuracao. A opcao linha de comando --https-proxy sobrepoe este valor. ftp_proxy [http://][USUARIO:SENHA@]SERVIDOR[:PORTA] Especifica o servidor proxy para uso do FTP. Sobrepoe o valor do http-proxy do arquivo de configuracao. A opcao linha de comando --ftp-proxy sobrepoe este valor. all_proxy [http://][USUARIO:SENHA@]SERVIDOR[:PORTA] Especifica o servidor proxy para uso se nenhum protocolo-especifico de proxy e informado. Sobrepoe o valor all-proxy do arquivo de configuracao. A opcao linha de comando --all-proxy sobrepoe este valor. NOTA: Apesar de aria2 aceitar os esquemas ftp:// e https:// para proxy de URI, aria2 assume que http:// e especificado e nao troca o comportamento com base no esquema especificado. no_proxy [DOMINIO,...] Especifica nome de servidores, separados por virgula, dominios e enderecos de rede com ou sem blocos CIDR para os quais nao sera usado proxy. Sobrepoe o valor no-proxy do arquivo de configuracao. A opcao linha de comando --no-proxy sobrepoe este valor. ARQUIVOS DE CONFIGURACAO aria2.conf Por padrao, aria2 utiliza $HOME/.aria2/aria2.conf como arquivo de configuracao. Pode ser especificado o caminho do arquivo usando-se a opcao --conf-path. Se nao desejar usar a configuracao de arquivo utilize a opcao --no-conf. O arquivo de configuracao e um arquivo texto e possui uma opcao por linha. Em cada linha, deve haver um par (nome-valor), no formato: NOME=VALOR, onde nome e o nome longo da linha de comando sem o prefixo --. Pode ser usada a mesma sintaxe da opcao da linha de comando. Linhas que comecam com # sao tratados como comentarios: # arquivo de simples configuracao para aria2c listen-port=60000 dht-listen-port=60000 seed-ratio=1.0 max-upload-limit=50K ftp-pasv=true NOTA: Informacoes confidenciais como usuario/senha podem ser incluidas no arquivo de configuracao, mas recomenda-se trocar os bits de seu modo de acesso (por exemplo: chmod 600 aria2.conf), dessa maneira nenhum outro usuario consegue ver o conteudo desse arquivo de configuracao. dht.dat Por padrao, a tabela de rota do IPv4 DHT esta em $HOME/.aria2/dht.dat e a tabela de rota do IPv6 DHT esta em $HOME/.aria2/dht6.dat. Netrc Por padrao, o suporte a Netrc esta habilitado para HTTP, HTTPS e FTP. Para desabilitar o suporte a netrc especificar --no-netrc. Seu arquivo .netrc precisa ter as permissoes corretas (600). Se o nome do servidor inicia com ., aria2 executa pesquisa dominio ao inves de pesquisa exata. Isto e uma extensao de aria2. Exemplo de pesquisa de dominio, imagine as seguinte entrada no arquivo .netrc: machine .dobrasil.org login meuid password minhasenha aria2.dobrasil.org pesquisa dominio .dobrasil.org e usa meuid e minhasenha. Mais exemplos de pesquisa dominio: nobrasil.net nao executa pesquisa dominio .nobrasil.net. dobrasil.org nao faz pesquisa dominio .dobrasil.org pois tem maior amplitude hierarquica por causa do ponto precedente .. Se desejar utilizar dobrasil.org, especificar dobrasil.org. Arquivo de Controle aria2 utiliza um arquivo de controle para rastrear o progresso de um download. Este arquivo e gravado no mesmo diretorio do arquivo que esta sendo baixado e possui o sufixo .aria2. Por exemplo,se esta baixando arquivo.zip, entao o arquivo de controle sera arquivo.zip.aria2. (Existe apenas uma excecao para essa convencao que e quando voce esta baixando um multi torrent, o arquivo de controle estara no "diretorio topo" do torrent com o sufixo .aria2. O nome do "diretorio topo" e o valor da chave "name" no diretorio "info" do arquivo torrent). Normalmente um arquivo controle e apagado quando o download se completa. Se aria2 detecta que o download nao pode ser retomado (por exemplo, quando faz download de um servidor HTTP que nao suporta retomar o processamento de um ponto mas sempre do inicio), o arquivo de controle nao sera criado. Se voce perder o arquivo de controle, nao sera possivel retomar o download do ponto onde estava. Mas se ha um torrent ou metalink com checksum (verificacao) do arquivo, podera ser retomado do ultimo ponto especificando a opcao -V na linha de comando. Arquivo de Entrada O arquivo de entrada pode conter uma lista de URIs para que o aria2 efetua download. Podem ser especificados multiplas URIs para cada simples entidade: separar as entidades por um caracter TAB ou espaco. Cada linha e tratada como se fosse especificada atraves de um argumento da linha de comando. Entretando estas linhas sao afetadas pela opcao --force-sequential e pela opcao --parameterized-uri Quando as URIs do arquivo de entrada sao diretamente lidas pelo aria2, as URIs nao precisam necessariamente estarem delimitadas por apostrofo (') nem aspas("). Linhas que comecam com # sao tratadas como comentario e desprezadas. Adicionalmente, as seguintes opcoes podem ser especificadas apos cada linha de URI. Estas linhas opcionais precisam iniciar com um ou mais espacos. o all-proxy o all-proxy-passwd o all-proxy-user o allow-overwrite o allow-piece-length-change o always-resume o async-dns o auto-file-renaming o bt-enable-lpd o bt-exclude-tracker o bt-external-ip o bt-hash-check-seed o bt-max-open-files o bt-max-peers o bt-metadata-only o bt-min-crypto-level o bt-prioritize-piece o bt-remove-unselected-file o bt-request-peer-speed-limit o bt-require-crypto o bt-save-metadata o bt-seed-unverified o bt-stop-timeout o bt-tracker o bt-tracker-connect-timeout o bt-tracker-interval o bt-tracker-timeout o check-integrity o checksum o conditional-get o connect-timeout o continue o dir o dry-run o enable-async-dns6 o enable-http-keep-alive o enable-http-pipelining o enable-mmap o enable-peer-exchange o file-allocation o follow-metalink o follow-torrent o force-save o ftp-passwd o ftp-pasv o ftp-proxy o ftp-proxy-passwd o ftp-proxy-user o ftp-reuse-connection o ftp-type o ftp-user o hash-check-only o header o http-accept-gzip o http-auth-challenge o http-no-cache o http-passwd o http-proxy o http-proxy-passwd o http-proxy-user o http-user o https-proxy o https-proxy-passwd o https-proxy-user o index-out o lowest-speed-limit o max-connection-per-server o max-download-limit o max-file-not-found o max-resume-failure-tries o max-tries o max-upload-limit o metalink-base-uri o metalink-enable-unique-protocol o metalink-language o metalink-location o metalink-os o metalink-preferred-protocol o metalink-version o min-split-size o no-file-allocation-limit o no-netrc o no-proxy o out o parameterized-uri o pause o piece-length o proxy-method o realtime-chunk-checksum o referer o remote-time o remove-control-file o retry-wait o reuse-uri o rpc-save-upload-metadata o seed-ratio o seed-time o select-file o split o stream-piece-selector o timeout o uri-selector o use-head o user-agent Estas opcoes possuem exatamente o mesmo significado das opcoes existentes na linha de comando, mas aplicam-se apenas a URI a que pertencem. Por favor perceba que dentro de um arquivo, elas nao terao o prefixo --. Por exemplo, o conteudo do arquivo de entrada uri.txt e: http://servidor/arquivo.iso http://espelho/arquivo.iso dir=/imagens_iso out=arquivo.img http://fu/ba Se aria2 e executado com as opcoes -i uri.txt -d /tmp, entao o arquivo.iso sera salvo como /imagens_iso/arquivo.img e sera baixado dos servidores http://servidor/arquivo.iso e http://espelho/arquivo.iso. O arquivo ba e baixado de http://fu/ba e salvo como /tmp/ba. Em alguns casos, o parametro out nao tem efeito. Ver nota da opcao --out para entender as restricoes. Perfil Performance Servidor Esta secao descreve o formato do perfil de performance do servidor, composto por um arquivo de texto plano com cada linha contendo um par NOME=VALOR, delimitados por virgula. Atualmente esta e a lista de nomes reconhecidos: host Nome do servidor. Requerido. protocol Protocolo para este perfil, como ftp, http, https. http e requerido. dl_speed Velocidade media de download observada no download previo, em bytes por segundo. Requerido. sc_avg_speed The average download speed observed in the previous download in bytes per sec. This value is only updated if the download is done in single connection environment and only used by AdaptiveURISelector. Optional. mc_avg_speed The average download speed observed in the previous download in bytes per sec. This value is only updated if the download is done in multi connection environment and only used by AdaptiveURISelector. Optional. counter How many times the server is used. Currently this value is only used by AdaptiveURISelector. Optional. last_updated Last contact time in GMT with this server, specified in the seconds since the Epoch(00:00:00 on January 1, 1970, UTC). Required. status ERROR is set when server cannot be reached or out-of-service or timeout occurred. Otherwise, OK is set. Estes campos devem existir em uma linha. A ordem dos campos nao importa. Podem ser colocados pares; eles serao simplesmente ignorados. Um exemplo abaixo: host=localhost, protocol=http, dl_speed=32000, last_updated=1222491640, status=OK host=localhost, protocol=ftp, dl_speed=0, last_updated=1222491632, status=ERROR INTERFACE RPC aria2 prove o servico JSON-RPC sobre HTTP e XML-RPC sobre HTTP e eles basicamente possuem a mesma funcionalidade. aria2 tambem prove JSON-RPC sobre WebSocket que utiliza o mesmo formato, do metodo e assinatura e de resposta do formato JSON-RPC sobre HTTP, mas adicionalmente possui notificacoes iniciadas pelo servidor. Ver detalhes na secao JSON-RPC sobre WebSocket . O caminho requisitado do interface JSON-RPC (sobre HTTP e sobre WebSocket) e /jsonrpc. O caminho requisitado do interface XML-RPC e /rpc. A URI WebSocket para JSON-RPC sobre WebSocket e ws://HOST:PORT/jsonrpc. A implementacao JSON-RPC e baseada na especificacao JSON-RPC 2.0 e suporta HTTP POST e GET (JSONP). Usando WebSocket como transporte, e uma extensao original do aria2. A interface JSON-RPC nao suporta notificacao em HTTP, mas o servidor RPC ira enviar a notificacao no WebSocket. Nao e suportado numero de ponto flutuante O codificacao de pagina deve ser UTF-8. Quanto a seguinte documentacao do JSON-RPC, entenda estrutura JSON como objeto. Terminologia GID GID(or gid) e a chave para gerenciar cada download. Cada download tem um unico GID. Atualmente GID e armazenado em 64 bits como dado binario no aria2. Para acesso RPG, isso e representado em uma string hexadecimal de 16 caracteres (exemplo: 2089b05ecca3d829). Normalmente, aria2 gera esse GID para cada download, mas o usuario pode especificar o GID manualmente usando a opcao --gid. Quando consultando um download por GID, pode ser especificado o prefixo do GID como um prefixo unico e exclusivo entre outros. Metodos Sao descritos em torno de 35 exemplos, os quais serao numerados utilizando codigo fonte com exemplos que usam a linguagem Python versao 2.7. aria2.addUri(uris[, options[, position]]) This method adds new HTTP(S)/FTP/BitTorrent Magnet URI. uris is of type array and its element is URI which is of type string. For BitTorrent Magnet URI, uris must have only one element and it should be BitTorrent Magnet URI. URIs in uris must point to the same file. If you mix other URIs which point to another file, aria2 does not complain but download may fail. options is of type struct and its members are a pair of option name and value. See Opcoes below for more details. If position is given as an integer starting from 0, the new download is inserted at position in the waiting queue. If position is not given or position is larger than the size of the queue, it is appended at the end of the queue. This method returns GID of registered download. JSON-RPC EXEMPLO M010 The following example adds http://example.org/file: >>> import urllib2, json >>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer', ... 'method':'aria2.addUri', ... 'params':[['http://example.org/file']]}) >>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq) >>> c.read() '{"id":"qwer","jsonrpc":"2.0","result":"2089b05ecca3d829"}' XML-RPC EXEMPLO M020 The following example adds http://example.org/file: >>> import xmlrpclib >>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc') >>> s.aria2.addUri(['http://example.org/file']) '2089b05ecca3d829' The following example adds 2 sources and some options: >>> s.aria2.addUri(['http://example.org/file', 'http://mirror/file'], dict(dir="/tmp")) 'd2703803b52216d1' The following example adds a download and insert it to the front of waiting downloads: >>> s.aria2.addUri(['http://example.org/file'], {}, 0) 'ca3d829cee549a4d' aria2.addTorrent(torrent[, uris[, options[, position]]]) This method adds BitTorrent download by uploading ".torrent" file. If you want to add BitTorrent Magnet URI, use aria2.addUri() method instead. torrent is of type base64 which contains Base64-encoded ".torrent" file. uris is of type array and its element is URI which is of type string. uris is used for Web-seeding. For single file torrents, URI can be a complete URI pointing to the resource or if URI ends with /, name in torrent file is added. For multi-file torrents, name and path in torrent are added to form a URI for each file. options is of type struct and its members are a pair of option name and value. See Opcoes below for more details. If position is given as an integer starting from 0, the new download is inserted at position in the waiting queue. If position is not given or position is larger than the size of the queue, it is appended at the end of the queue. This method returns GID of registered download. If --rpc-save-upload-metadata is true, the uploaded data is saved as a file named hex string of SHA-1 hash of data plus ".torrent" in the directory specified by --dir option. The example of filename is 0a3893293e27ac0490424c06de4d09242215f0a6.torrent. If same file already exists, it is overwritten. If the file cannot be saved successfully or --rpc-save-upload-metadata is false, the downloads added by this method are not saved by --save-session. The following examples add local file file.torrent. JSON-RPC EXEMPLO M030 >>> import urllib2, json, base64 >>> torrent = base64.b64encode(open('file.torrent').read()) >>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'asdf', ... 'method':'aria2.addTorrent', 'params':[torrent]}) >>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq) >>> c.read() '{"id":"asdf","jsonrpc":"2.0","result":"2089b05ecca3d829"}' XML-RPC EXEMPLO M040 >>> import xmlrpclib >>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc') >>> s.aria2.addTorrent(xmlrpclib.Binary(open('file.torrent').read())) '2089b05ecca3d829' aria2.addMetalink(metalink[, options[, position]]) This method adds Metalink download by uploading ".metalink" file. metalink is of type base64 which contains Base64-encoded ".metalink" file. options is of type struct and its members are a pair of option name and value. See Opcoes below for more details. If position is given as an integer starting from 0, the new download is inserted at position in the waiting queue. If position is not given or position is larger than the size of the queue, it is appended at the end of the queue. This method returns array of GID of registered download. If --rpc-save-upload-metadata is true, the uploaded data is saved as a file named hex string of SHA-1 hash of data plus ".metalink" in the directory specified by --dir option. The example of filename is 0a3893293e27ac0490424c06de4d09242215f0a6.metalink. If same file already exists, it is overwritten. If the file cannot be saved successfully or --rpc-save-upload-metadata is false, the downloads added by this method are not saved by --save-session. The following examples add local file file.meta4. JSON-RPC EXEMPLO M050 >>> import urllib2, json, base64 >>> metalink = base64.b64encode(open('file.meta4').read()) >>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer', ... 'method':'aria2.addMetalink', ... 'params':[metalink]}) >>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq) >>> c.read() '{"id":"qwer","jsonrpc":"2.0","result":["2089b05ecca3d829"]}' XML-RPC EXEMPLO M060 >>> import xmlrpclib >>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc') >>> s.aria2.addMetalink(xmlrpclib.Binary(open('file.meta4').read())) ['2089b05ecca3d829'] aria2.remove(gid) This method removes the download denoted by gid. gid is of type string. If specified download is in progress, it is stopped at first. The status of removed download becomes removed. This method returns GID of removed download. The following examples remove download GID#2089b05ecca3d829. JSON-RPC EXEMPLO M070 >>> import urllib2, json >>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer', ... 'method':'aria2.remove', ... 'params':['2089b05ecca3d829']}) >>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq) >>> c.read() '{"id":"qwer","jsonrpc":"2.0","result":"2089b05ecca3d829"}' XML-RPC EXEMPLO M080 >>> import xmlrpclib >>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc') >>> s.aria2.remove('2089b05ecca3d829') '2089b05ecca3d829' aria2.forceRemove(gid) This method removes the download denoted by gid. This method behaves just like aria2.remove() except that this method removes download without any action which takes time such as contacting BitTorrent tracker. aria2.pause(gid) This method pauses the download denoted by gid. gid is of type string. The status of paused download becomes paused. If the download is active, the download is placed on the first position of waiting queue. As long as the status is paused, the download is not started. To change status to waiting, use aria2.unpause() method. This method returns GID of paused download. aria2.pauseAll() This method is equal to calling aria2.pause() for every active/waiting download. This methods returns OK for success. aria2.forcePause(pid) This method pauses the download denoted by gid. This method behaves just like aria2.pause() except that this method pauses download without any action which takes time such as contacting BitTorrent tracker. aria2.forcePauseAll() This method is equal to calling aria2.forcePause() for every active/waiting download. This methods returns OK for success. aria2.unpause(gid) This method changes the status of the download denoted by gid from paused to waiting. This makes the download eligible to restart. gid is of type string. This method returns GID of unpaused download. aria2.unpauseAll() This method is equal to calling aria2.unpause() for every active/waiting download. This methods returns OK for success. aria2.tellStatus(gid[, keys]) This method returns download progress of the download denoted by gid. gid is of type string. keys is array of string. If it is specified, the response contains only keys in keys array. If keys is empty or not specified, the response contains all keys. This is useful when you just want specific keys and avoid unnecessary transfers. For example, aria2.tellStatus("2089b05ecca3d829", ["gid", "status"]) returns gid and 'status' key. The response is of type struct and it contains following keys. The value type is string. gid GID of this download. status active for currently downloading/seeding entry. waiting for the entry in the queue; download is not started. paused for the paused entry. error for the stopped download because of error. complete for the stopped and completed download. removed for the download removed by user. totalLength Total length of this download in bytes. completedLength Completed length of this download in bytes. uploadLength Uploaded length of this download in bytes. bitfield Hexadecimal representation of the download progress. The highest bit corresponds to piece index 0. The set bits indicate the piece is available and unset bits indicate the piece is missing. The spare bits at the end are set to zero. When download has not started yet, this key will not be included in the response. downloadSpeed Download speed of this download measured in bytes/sec. uploadSpeed Upload speed of this download measured in bytes/sec. infoHash InfoHash. BitTorrent only. numSeeders The number of seeders the client has connected to. BitTorrent only. pieceLength Piece length in bytes. numPieces The number of pieces. connections The number of peers/servers the client has connected to. errorCode The last error code occurred in this download. The value is of type string. The error codes are defined in CODIGO DE RETORNO ou SAIDA section. This value is only available for stopped/completed downloads. followedBy List of GIDs which are generated by the consequence of this download. For example, when aria2 downloaded Metalink file, it generates downloads described in it(see --follow-metalink option). This value is useful to track these auto generated downloads. If there is no such downloads, this key will not be included in the response. belongsTo GID of a parent download. Some downloads are a part of another download. For example, if a file in Metalink has BitTorrent resource, the download of ".torrent" is a part of that file. If this download has no parent, this key will not be included in the response. dir Directory to save files. This key is not available for stopped downloads. files Returns the list of files. The element of list is the same struct used in aria2.getFiles() method. bittorrent Struct which contains information retrieved from .torrent file. BitTorrent only. It contains following keys. announceList List of lists of announce URI. If ".torrent" file contains announce and no announce-list, announce is converted to announce-list format. comment The comment for the torrent. comment.utf-8 is used if available. creationDate The creation time of the torrent. The value is an integer since the Epoch, measured in seconds. mode File mode of the torrent. The value is either single or multi. info Struct which contains data from Info dictionary. It contains following keys. name name in info dictionary. name.utf-8 is used if available. JSON-RPC EXEMPLO M090 The following example gets information about download GID#2089b05ecca3d829: >>> import urllib2, json >>> from pprint import pprint >>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer', ... 'method':'aria2.tellStatus', ... 'params':['2089b05ecca3d829']}) >>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq) >>> pprint(json.loads(c.read())) {u'id': u'qwer', u'jsonrpc': u'2.0', u'result': {u'bitfield': u'0000000000', u'completedLength': u'901120', u'connections': u'1', u'dir': u'/downloads', u'downloadSpeed': u'15158', u'files': [{u'index': u'1', u'length': u'34896138', u'completedLength': u'34896138', u'path': u'/downloads/file', u'selected': u'true', u'uris': [{u'status': u'used', u'uri': u'http://example.org/file'}]}], u'gid': u'2089b05ecca3d829', u'numPieces': u'34', u'pieceLength': u'1048576', u'status': u'active', u'totalLength': u'34896138', u'uploadLength': u'0', u'uploadSpeed': u'0'}} The following example gets information specifying keys you are interested in: >>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer', ... 'method':'aria2.tellStatus', ... 'params':['2089b05ecca3d829', ... ['gid', ... 'totalLength', ... 'completedLength']]}) >>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq) >>> pprint(json.loads(c.read())) {u'id': u'qwer', u'jsonrpc': u'2.0', u'result': {u'completedLength': u'5701632', u'gid': u'2089b05ecca3d829', u'totalLength': u'34896138'}} XML-RPC EXEMPLO M100 The following example gets information about download GID#2089b05ecca3d829: >>> import xmlrpclib >>> from pprint import pprint >>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc') >>> r = s.aria2.tellStatus('2089b05ecca3d829') >>> pprint(r) {'bitfield': 'ffff80', 'completedLength': '34896138', 'connections': '0', 'dir': '/downloads', 'downloadSpeed': '0', 'errorCode': '0', 'files': [{'index': '1', 'length': '34896138', 'completedLength': '34896138', 'path': '/downloads/file', 'selected': 'true', 'uris': [{'status': 'used', 'uri': 'http://example.org/file'}]}], 'gid': '2089b05ecca3d829', 'numPieces': '17', 'pieceLength': '2097152', 'status': 'complete', 'totalLength': '34896138', 'uploadLength': '0', 'uploadSpeed': '0'} The following example gets information specifying keys you are interested in: >>> r = s.aria2.tellStatus('2089b05ecca3d829', ['gid', 'totalLength', 'completedLength']) >>> pprint(r) {'completedLength': '34896138', 'gid': '2089b05ecca3d829', 'totalLength': '34896138'} aria2.getUris(gid) This method returns URIs used in the download denoted by gid. gid is of type string. The response is of type array and its element is of type struct and it contains following keys. The value type is string. uri URI status 'used' if the URI is already used. 'waiting' if the URI is waiting in the queue. JSON-RPC EXEMPLO M110 >>> import urllib2, json >>> from pprint import pprint >>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer', ... 'method':'aria2.getUris', ... 'params':['2089b05ecca3d829']}) >>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq) >>> pprint(json.loads(c.read())) {u'id': u'qwer', u'jsonrpc': u'2.0', u'result': [{u'status': u'used', u'uri': u'http://example.org/file'}]} XML-RPC EXEMPLO M120 >>> import xmlrpclib >>> from pprint import pprint >>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc') >>> r = s.aria2.getUris('2089b05ecca3d829') >>> pprint(r) [{'status': 'used', 'uri': 'http://example.org/file'}] aria2.getFiles(gid) This method returns file list of the download denoted by gid. gid is of type string. The response is of type array and its element is of type struct and it contains following keys. The value type is string. index Index of file. Starting with 1. This is the same order with the files in multi-file torrent. path File path. length File size in bytes. completedLength Completed length of this file in bytes. Please note that it is possible that sum of completedLength is less than completedLength in aria2.tellStatus() method. This is because completedLength in aria2.getFiles() only calculates completed pieces. On the other hand, completedLength in aria2.tellStatus() takes into account of partially completed piece. selected true if this file is selected by --select-file option. If --select-file is not specified or this is single torrent or no torrent download, this value is always true. Otherwise false. uris Returns the list of URI for this file. The element of list is the same struct used in aria2.getUris() method. JSON-RPC EXEMPLO M130 >>> import urllib2, json >>> from pprint import pprint >>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer', ... 'method':'aria2.getFiles', ... 'params':['2089b05ecca3d829']}) >>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq) >>> pprint(json.loads(c.read())) {u'id': u'qwer', u'jsonrpc': u'2.0', u'result': [{u'index': u'1', u'length': u'34896138', u'completedLength': u'34896138', u'path': u'/downloads/file', u'selected': u'true', u'uris': [{u'status': u'used', u'uri': u'http://example.org/file'}]}]} XML-RPC EXEMPLO M140 >>> import xmlrpclib >>> from pprint import pprint >>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc') >>> r = s.aria2.getFiles('2089b05ecca3d829') >>> pprint(r) [{'index': '1', 'length': '34896138', 'completedLength': '34896138', 'path': '/downloads/file', 'selected': 'true', 'uris': [{'status': 'used', 'uri': 'http://example.org/file'}]}] aria2.getPeers(gid) This method returns peer list of the download denoted by gid. gid is of type string. This method is for BitTorrent only. The response is of type array and its element is of type struct and it contains following keys. The value type is string. peerId Percent-encoded peer ID. ip IP address of the peer. port Port number of the peer. bitfield Hexadecimal representation of the download progress of the peer. The highest bit corresponds to piece index 0. The set bits indicate the piece is available and unset bits indicate the piece is missing. The spare bits at the end are set to zero. amChoking true if this client is choking the peer. Otherwise false. peerChoking true if the peer is choking this client. Otherwise false. downloadSpeed Download speed (byte/sec) that this client obtains from the peer. uploadSpeed Upload speed(byte/sec) that this client uploads to the peer. seeder true is this client is a seeder. Otherwise false. JSON-RPC EXEMPLO M150 >>> import urllib2, json >>> from pprint import pprint >>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer', ... 'method':'aria2.getPeers', ... 'params':['2089b05ecca3d829']}) >>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq) >>> pprint(json.loads(c.read())) {u'id': u'qwer', u'jsonrpc': u'2.0', u'result': [{u'amChoking': u'true', u'bitfield': u'ffffffffffffffffffffffffffffffffffffffff', u'downloadSpeed': u'10602', u'ip': u'10.0.0.9', u'peerChoking': u'false', u'peerId': u'aria2%2F1%2E10%2E5%2D%87%2A%EDz%2F%F7%E6', u'port': u'6881', u'seeder': u'true', u'uploadSpeed': u'0'}, {u'amChoking': u'false', u'bitfield': u'ffffeff0fffffffbfffffff9fffffcfff7f4ffff', u'downloadSpeed': u'8654', u'ip': u'10.0.0.30', u'peerChoking': u'false', u'peerId': u'bittorrent client758', u'port': u'37842', u'seeder': u'false', u'uploadSpeed': u'6890'}]} XML-RPC EXEMPLO M160 >>> import xmlrpclib >>> from pprint import pprint >>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc') >>> r = s.aria2.getPeers('2089b05ecca3d829') >>> pprint(r) [{'amChoking': 'true', 'bitfield': 'ffffffffffffffffffffffffffffffffffffffff', 'downloadSpeed': '10602', 'ip': '10.0.0.9', 'peerChoking': 'false', 'peerId': 'aria2%2F1%2E10%2E5%2D%87%2A%EDz%2F%F7%E6', 'port': '6881', 'seeder': 'true', 'uploadSpeed': '0'}, {'amChoking': 'false', 'bitfield': 'ffffeff0fffffffbfffffff9fffffcfff7f4ffff', 'downloadSpeed': '8654', 'ip': '10.0.0.30', 'peerChoking': 'false', 'peerId': 'bittorrent client758', 'port': '37842', 'seeder': 'false, 'uploadSpeed': '6890'}] aria2.getServers(gid) This method returns currently connected HTTP, HTTPS, FTP servers of the download denoted by gid. gid is of type string. The response is of type array and its element is of type struct and it contains following keys. The value type is string. index Index of file. Starting with 1. This is the same order with the files in multi-file torrent. servers The list of struct which contains following keys. uri URI originally added. currentUri This is the URI currently used for downloading. If redirection is involved, currentUri and uri may differ. downloadSpeed Download speed (byte/sec) JSON-RPC EXEMPLO M170 >>> import urllib2, json >>> from pprint import pprint >>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer', ... 'method':'aria2.getServers', ... 'params':['2089b05ecca3d829']}) >>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq) >>> pprint(json.loads(c.read())) {u'id': u'qwer', u'jsonrpc': u'2.0', u'result': [{u'index': u'1', u'servers': [{u'currentUri': u'http://example.org/file', u'downloadSpeed': u'10467', u'uri': u'http://example.org/file'}]}]} XML-RPC EXEMPLO M180 >>> import xmlrpclib >>> from pprint import pprint >>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc') >>> r = s.aria2.getServers('2089b05ecca3d829') >>> pprint(r) [{'index': '1', 'servers': [{'currentUri': 'http://example.org/dl/file', 'downloadSpeed': '20285', 'uri': 'http://example.org/file'}]}] aria2.tellActive([keys]) This method returns the list of active downloads. The response is of type array and its element is the same struct returned by aria2.tellStatus() method. For keys parameter, please refer to aria2.tellStatus() method. aria2.tellWaiting(offset, num[, keys]) This method returns the list of waiting download, including paused downloads. offset is of type integer and specifies the offset from the download waiting at the front. num is of type integer and specifies the number of downloads to be returned. For keys parameter, please refer to aria2.tellStatus() method. If offset is a positive integer, this method returns downloads in the range of [offset, offset + num). offset can be a negative integer. offset == -1 points last download in the waiting queue and offset == -2 points the download before the last download, and so on. The downloads in the response are in reversed order. For example, imagine that three downloads "A","B" and "C" are waiting in this order. aria2.tellWaiting(0, 1) returns ["A"]. aria2.tellWaiting(1, 2) returns ["B", "C"]. aria2.tellWaiting(-1, 2) returns ["C", "B"]. The response is of type array and its element is the same struct returned by aria2.tellStatus() method. aria2.tellStopped(offset, num[, keys]) This method returns the list of stopped download. offset is of type integer and specifies the offset from the oldest download. num is of type integer and specifies the number of downloads to be returned. For keys parameter, please refer to aria2.tellStatus() method. offset and num have the same semantics as aria2.tellWaiting() method. The response is of type array and its element is the same struct returned by aria2.tellStatus() method. aria2.changePosition(gid, pos, how) This method changes the position of the download denoted by gid. pos is of type integer. how is of type string. If how is POS_SET, it moves the download to a position relative to the beginning of the queue. If how is POS_CUR, it moves the download to a position relative to the current position. If how is POS_END, it moves the download to a position relative to the end of the queue. If the destination position is less than 0 or beyond the end of the queue, it moves the download to the beginning or the end of the queue respectively. The response is of type integer and it is the destination position. For example, if GID#2089b05ecca3d829 is placed in position 3, aria2.changePosition('2089b05ecca3d829', -1, 'POS_CUR') will change its position to 2. Additional aria2.changePosition('2089b05ecca3d829', 0, 'POS_SET') will change its position to 0(the beginning of the queue). The following examples move the download GID#2089b05ecca3d829 to the front of the waiting queue. JSON-RPC EXEMPLO M190 >>> import urllib2, json >>> from pprint import pprint >>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer', ... 'method':'aria2.changePosition', ... 'params':['2089b05ecca3d829', 0, 'POS_SET']}) >>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq) >>> pprint(json.loads(c.read())) {u'id': u'qwer', u'jsonrpc': u'2.0', u'result': 0} XML-RPC EXEMPLO M200 >>> import xmlrpclib >>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc') >>> s.aria2.changePosition('2089b05ecca3d829', 0, 'POS_SET') 0 aria2.changeUri(gid, fileIndex, delUris, addUris[, position]) This method removes URIs in delUris from and appends URIs in addUris to download denoted by gid. delUris and addUris are list of string. A download can contain multiple files and URIs are attached to each file. fileIndex is used to select which file to remove/attach given URIs. fileIndex is 1-based. position is used to specify where URIs are inserted in the existing waiting URI list. position is 0-based. When position is omitted, URIs are appended to the back of the list. This method first execute removal and then addition. position is the position after URIs are removed, not the position when this method is called. When removing URI, if same URIs exist in download, only one of them is removed for each URI in delUris. In other words, there are three URIs http://example.org/aria2 and you want remove them all, you have to specify (at least) 3 http://example.org/aria2 in delUris. This method returns a list which contains 2 integers. The first integer is the number of URIs deleted. The second integer is the number of URIs added. The following examples add 1 URI http://example.org/file to the file whose index is 1 and belongs to the download GID#2089b05ecca3d829. JSON-RPC EXEMPLO M210 >>> import urllib2, json >>> from pprint import pprint >>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer', ... 'method':'aria2.changeUri', ... 'params':['2089b05ecca3d829', 1, [], ['http://example.org/file']]}) >>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq) >>> pprint(json.loads(c.read())) {u'id': u'qwer', u'jsonrpc': u'2.0', u'result': [0, 1]} XML-RPC EXEMPLO M220 >>> import xmlrpclib >>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc') >>> s.aria2.changeUri('2089b05ecca3d829', 1, [], ['http://example.org/file']) [0, 1] aria2.getOption(gid) This method returns options of the download denoted by gid. The response is of type struct. Its key is the name of option. The value type is string. Note that this method does not return options which have no default value and have not been set by the command-line options, configuration files or RPC methods. The following examples get options of the download GID#2089b05ecca3d829. JSON-RPC EXEMPLO M230 >>> import urllib2, json >>> from pprint import pprint >>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer', ... 'method':'aria2.getOption', ... 'params':['2089b05ecca3d829']}) >>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq) >>> pprint(json.loads(c.read())) {u'id': u'qwer', u'jsonrpc': u'2.0', u'result': {u'allow-overwrite': u'false', u'allow-piece-length-change': u'false', u'always-resume': u'true', u'async-dns': u'true', ... XML-RPC EXEMPLO M240 >>> import xmlrpclib >>> from pprint import pprint >>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc') >>> r = s.aria2.getOption('2089b05ecca3d829') >>> pprint(r) {'allow-overwrite': 'false', 'allow-piece-length-change': 'false', 'always-resume': 'true', 'async-dns': 'true', .... aria2.changeOption(gid, options) This method changes options of the download denoted by gid dynamically. gid is of type string. options is of type struct. The following options are available for active downloads: o bt-max-peers o bt-request-peer-speed-limit o bt-remove-unselected-file o force-save o max-download-limit o max-upload-limit For waiting or paused downloads, in addition to the above options, options listed in Arquivo de Entrada subsection are available, except for following options: dry-run, metalink-base-uri, parameterized-uri, pause, piece-length and rpc-save-upload-metadata option. This method returns OK for success. The following examples set max-download-limit option to 20K for the download GID#2089b05ecca3d829. JSON-RPC EXEMPLO M250 >>> import urllib2, json >>> from pprint import pprint >>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer', ... 'method':'aria2.changeOption', ... 'params':['2089b05ecca3d829', ... {'max-download-limit':'10K'}]}) >>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq) >>> pprint(json.loads(c.read())) {u'id': u'qwer', u'jsonrpc': u'2.0', u'result': u'OK'} XML-RPC EXEMPLO M260 >>> import xmlrpclib >>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc') >>> s.aria2.changeOption('2089b05ecca3d829', {'max-download-limit':'20K'}) 'OK' aria2.getGlobalOption() This method returns global options. The response is of type struct. Its key is the name of option. The value type is string. Note that this method does not return options which have no default value and have not been set by the command-line options, configuration files or RPC methods. Because global options are used as a template for the options of newly added download, the response contains keys returned by aria2.getOption() method. aria2.changeGlobalOption(options) This method changes global options dynamically. options is of type struct. The following options are available: o download-result o log o log-level o max-concurrent-downloads o max-download-result o max-overall-download-limit o max-overall-upload-limit o save-cookies o save-session o server-stat-of In addition to them, options listed in Arquivo de Entrada subsection are available, except for following options: checksum, index-out, out, pause and select-file. Using log option, you can dynamically start logging or change log file. To stop logging, give empty string("") as a parameter value. Note that log file is always opened in append mode. This method returns OK for success. aria2.getGlobalStat() This method returns global statistics such as overall download and upload speed. The response is of type struct and contains following keys. The value type is string. downloadSpeed Overall download speed (byte/sec). uploadSpeed Overall upload speed(byte/sec). numActive The number of active downloads. numWaiting The number of waiting downloads. numStopped The number of stopped downloads. JSON-RPC EXEMPLO M270 >>> import urllib2, json >>> from pprint import pprint >>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer', ... 'method':'aria2.getGlobalStat'}) >>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq) >>> pprint(json.loads(c.read())) {u'id': u'qwer', u'jsonrpc': u'2.0', u'result': {u'downloadSpeed': u'21846', u'numActive': u'2', u'numStopped': u'0', u'numWaiting': u'0', u'uploadSpeed': u'0'}} XML-RPC EXEMPLO M280 >>> import xmlrpclib >>> from pprint import pprint >>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc') >>> r = s.aria2.getGlobalStat() >>> pprint(r) {'downloadSpeed': '23136', 'numActive': '2', 'numStopped': '0', 'numWaiting': '0', 'uploadSpeed': '0'} aria2.purgeDownloadResult() This method purges completed/error/removed downloads to free memory. This method returns OK. aria2.removeDownloadResult(gid) This method removes completed/error/removed download denoted by gid from memory. This method returns OK for success. The following examples remove the download result of the download GID#2089b05ecca3d829. JSON-RPC EXEMPLO M290 >>> import urllib2, json >>> from pprint import pprint >>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer', ... 'method':'aria2.removeDownloadResult', ... 'params':['2089b05ecca3d829']}) >>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq) >>> pprint(json.loads(c.read())) {u'id': u'qwer', u'jsonrpc': u'2.0', u'result': u'OK'} XML-RPC EXEMPLO M300 >>> import xmlrpclib >>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc') >>> s.aria2.removeDownloadResult('2089b05ecca3d829') 'OK' aria2.getVersion() This method returns version of the program and the list of enabled features. The response is of type struct and contains following keys. version Version number of the program in string. enabledFeatures List of enabled features. Each feature name is of type string. JSON-RPC EXEMPLO M310 >>> import urllib2, json >>> from pprint import pprint >>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer', ... 'method':'aria2.getVersion'}) >>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq) >>> pprint(json.loads(c.read())) {u'id': u'qwer', u'jsonrpc': u'2.0', u'result': {u'enabledFeatures': [u'Async DNS', u'BitTorrent', u'Firefox3 Cookie', u'GZip', u'HTTPS', u'Message Digest', u'Metalink', u'XML-RPC'], u'version': u'1.11.0'}} XML-RPC EXEMPLO M320 >>> import xmlrpclib >>> from pprint import pprint >>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc') >>> r = s.aria2.getVersion() >>> pprint(r) {'enabledFeatures': ['Async DNS', 'BitTorrent', 'Firefox3 Cookie', 'GZip', 'HTTPS', 'Message Digest', 'Metalink', 'XML-RPC'], 'version': '1.11.0'} aria2.getSessionInfo() This method returns session information. The response is of type struct and contains following key. sessionId Session ID, which is generated each time when aria2 is invoked. JSON-RPC EXEMPLO M330 >>> import urllib2, json >>> from pprint import pprint >>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer', ... 'method':'aria2.getSessionInfo'}) >>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq) >>> pprint(json.loads(c.read())) {u'id': u'qwer', u'jsonrpc': u'2.0', u'result': {u'sessionId': u'cd6a3bc6a1de28eb5bfa181e5f6b916d44af31a9'}} XML-RPC EXEMPLO M340 >>> import xmlrpclib >>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc') >>> s.aria2.getSessionInfo() {'sessionId': 'cd6a3bc6a1de28eb5bfa181e5f6b916d44af31a9'} aria2.shutdown() This method shutdowns aria2. This method returns OK. aria2.forceShutdown() This method shutdowns aria2. This method behaves like aria2.shutdown() except that any actions which takes time such as contacting BitTorrent tracker are skipped. This method returns OK. system.multicall(methods) This methods encapsulates multiple method calls in a single request. methods is of type array and its element is struct. The struct contains two keys: methodName and params. methodName is the method name to call and params is array containing parameters to the method. This method returns array of responses. The element of array will either be a one-item array containing the return value of each method call or struct of fault element if an encapsulated method call fails. In the following examples, we add 2 downloads. First one is http://example.org/file and second one is file.torrent. JSON-RPC EXEMPLO M350 >>> import urllib2, json, base64 >>> from pprint import pprint >>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer', ... 'method':'system.multicall', ... 'params':[[{'methodName':'aria2.addUri', ... 'params':[['http://example.org']]}, ... {'methodName':'aria2.addTorrent', ... 'params':[base64.b64encode(open('file.torrent').read())]}]]}) >>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq) >>> pprint(json.loads(c.read())) {u'id': u'qwer', u'jsonrpc': u'2.0', u'result': [[u'2089b05ecca3d829'], [u'd2703803b52216d1']]} JSON-RPC also supports Batch request described in JSON-RPC 2.0 Specification: >>> jsonreq = json.dumps([{'jsonrpc':'2.0', 'id':'qwer', ... 'method':'aria2.addUri', ... 'params':[['http://example.org']]}, ... {'jsonrpc':'2.0', 'id':'asdf', ... 'method':'aria2.addTorrent', ... 'params':[base64.b64encode(open('file.torrent').read())]}]) >>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq) >>> pprint(json.loads(c.read())) [{u'id': u'qwer', u'jsonrpc': u'2.0', u'result': u'2089b05ecca3d829'}, {u'id': u'asdf', u'jsonrpc': u'2.0', u'result': u'd2703803b52216d1'}] XML-RPC EXEMPLO M360 >>> import xmlrpclib >>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc') >>> mc = xmlrpclib.MultiCall(s) >>> mc.aria2.addUri(['http://example.org/file']) >>> mc.aria2.addTorrent(xmlrpclib.Binary(open('file.torrent').read())) >>> r = mc() >>> tuple(r) ('2089b05ecca3d829', 'd2703803b52216d1') Tratamento de Erros Usando JSON-RPC, aria2 retorna objeto JSON que contem codigo de erro no codigo e a mensagem de erro na mensagem. Usando XML-RPC, aria2 retorna codigo de falha (faultCode=1) e a mensagem de erro em (faultString). Opcoes Same options for --input-file list are available. Ver subsecao Arquivo de Entrada para lista completa de opcoes. In the option struct, name element is option name(without preceding --) and value element is argument as string. EXEMPLO JSON-RPC M370 {'split':'1', 'http-proxy':'http://proxy/'} EXEMPLO XML-RPC M380 split 1 http-proxy http://proxy/ header and index-out option are allowed multiple times in command-line. Since name should be unique in struct(many XML-RPC library implementation uses hash or dict for struct), single string is not enough. To overcome this situation, they can take array as value as well as string. EXEMPLO JSON-RPC M390 {'header':['Accept-Language: ja', 'Accept-Charset: utf-8']} EXEMPLO XML-RPC M400 header Accept-Language: ja Accept-Charset: utf-8 Following example adds a download with 2 options: dir and header. header option has 2 values, so it uses a list: >>> import xmlrpclib >>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc') >>> opts = dict(dir='/tmp', ... header=['Accept-Language: ja', ... 'Accept-Charset: utf-8']) >>> s.aria2.addUri(['http://example.org/file'], opts) '1' JSON-RPC usando HTTP GET The JSON-RPC interface also supports request via HTTP GET. The encoding scheme in GET parameters is based on JSON-RPC over HTTP Specification [2008-1-15(RC1)]. The encoding of GET parameters are follows: /jsonrpc?method=METHOD_NAME&id=ID¶ms=BASE64_ENCODED_PARAMS The method and id are always treated as JSON string and their encoding must be UTF-8. For example, The encoded string of aria2.tellStatus('2089b05ecca3d829') with id='foo' looks like this: /jsonrpc?method=aria2.tellStatus&id=foo¶ms=WyIyMDg5YjA1ZWNjYTNkODI5Il0%3D The params parameter is Base64-encoded JSON array which usually appears in params attribute in JSON-RPC request object. In the above example, the params is ["2089b05ecca3d829"], therefore: ["2089b05ecca3d829"] --(Base64)--> WyIyMDg5YjA1ZWNjYTNkODI5Il0= --(Percent Encode)--> WyIyMDg5YjA1ZWNjYTNkODI5Il0%3D The JSON-RPC interface supports JSONP. You can specify the callback function in jsoncallback parameter: /jsonrpc?method=aria2.tellStatus&id=foo¶ms=WyIyMDg5YjA1ZWNjYTNkODI5Il0%3D&jsoncallback=cb For Batch request, method and id parameter must not be specified. Whole request must be specified in params parameter. For example, Batch request: [{'jsonrpc':'2.0', 'id':'qwer', 'method':'aria2.getVersion'}, {'jsonrpc':'2.0', 'id':'asdf', 'method':'aria2.tellActive'}] will be encoded like this: /jsonrpc?params=W3sianNvbnJwYyI6ICIyLjAiLCAiaWQiOiAicXdlciIsICJtZXRob2QiOiAiYXJpYTIuZ2V0VmVyc2lvbiJ9LCB7Impzb25ycGMiOiAiMi4wIiwgImlkIjogImFzZGYiLCAibWV0aG9kIjogImFyaWEyLnRlbGxBY3RpdmUifV0%3D JSON-RPC sobre WebSocket JSON-RPC sobre WebSocket utiliza o mesmo metodo de assinatura e resposta do formato JSON-RPC sobre HTTP. O WebSocket suportado e da versao 13 o qual e detalhado na RFC 6455. Para enviar uma requisicao RPC para um servidor RPC, enviar strings serializadas JSON num frame Text. A resposta do servidor RPC sera entregue tambem em um frame Text. O servidor RPC ira enviar a notificacao ao cliente. A notificacao e unidirecional, portanto o cliente que receber a notificacao nao pode responde-la. Esse metodo de assinatura de notificacao e muito usual mas nao prove uma identificacao de chave. Os valores associados pelos parametros chave sao os dados que a notificacao porta. O formato desses valores variam dependendo do metodo de notificacao. Os seguintes metodos de notificacao sao definidos: aria2.onDownloadStart(event) Essa notificacao sera enviada quando e se o download for iniciado. event e o tipo de estrutura e pode conter as seguintes chaves: O formato do valor e string. gid GID do download. aria2.onDownloadPause(event) Esta notificacao sera enviada se o download for pausado. event tem a mesma estrutura do argumento event do metodo da funcao aria2.onDownloadStart(). aria2.onDownloadStop(event) Essa notificacao sera enviada se o download for interrompido pelo usuario. event tem a mesma estrutura do argumento event do metodo da funcao aria2.onDownloadStart(). aria2.onDownloadComplete(event) Esta notificacao sera enviada quando o download for completado. Para downloads BitTorrent, esta notificacao sera enviada quando for completado e o (seed) terminar. O event tem a mesma estrutura do event do metodo da funcao aria2.onDownloadStart(). aria2.onDownloadError(event) Esta notificacao sera enviada se o download for interrompido por causa de um erro. O event tem a mesma estrutura do event do metodo da funcao aria2.onDownloadStart(). aria2.onBtDownloadComplete(event) Esta notificacao sera enviada se o download for completado para o BitTorrent (mas o seeding pode nao ter sido concluido). O event tem a mesma estrutura do event do metodo da funcao aria2.onDownloadStart(). Exemplo Cliente XML-RPC Ruby O seguinte script Ruby script adiciona http://localhost/aria2.tar.bz2 em aria2c no servidor em localhost com a opcao --dir=/downloads e imprime a resposta do processamento: #!/usr/bin/env ruby require 'xmlrpc/client' require 'pp' client=XMLRPC::Client.new2("http://localhost:6800/rpc") options={ "dir" => "/downloads" } result=client.call("aria2.addUri", [ "http://localhost/aria2.tar.bz2" ], options) pp result Se voce usa Python, pode usar xmlrpclib (em Python3.x, use xmlrpc.client) para interagir com aria2: import xmlrpclib from pprint import pprint s = xmlrpclib.ServerProxy("http://localhost:6800/rpc") r = s.aria2.addUri(["http://localhost/aria2.tar.bz2"], {"dir":"/downloads"}) pprint(r) DIVERSOS Mensagens na Console Enquanto executa o download de arquivos, aria2 imprime mensagens na console para mostrar o progresso dos downloads. Um exemplo abaixo: [#1 SIZE:400.0KiB/33.2MiB(1%) CN:1 SPD:115.7KiBs ETA:4m51s] Entenda o que estes numeros e strings significam. #N N significa GID, o qual e um ID unico para cada download. SIZE Tamanho Total e Tamanho em bytes. Se a --select-file e usada, sera exibida a somatoria do tamanho do arquivo. SEEDING Taxa compartilhamento ratio. O cliente esta funcionando. Apos termino do download do BitTorrent, SIZE sera substituido por SEEDING. CN Numero de conexoes que o cliente estabeleceu. SEED O numero de seeders ao qual o cliente esta conectado. SPD Velocidade do download. UP Velocidade e numero de bytes transmitidos upload. ETA Tempo previsto para conclusao. TOTAL SPD A soma das velocidades de download para todos downloads paralelos. Quando aria2 esta alocando o espaco para arquivo ou validando o checksum, adicionalmente exibira o progresso: FileAlloc GID, tamanho alocado e total em bytes. Checksum GID, tamanho validado e total em bytes. EXEMPLOS DOWNLOAD HTTP / FTP Download Segmentado HTTP/FTP Download de arquivo $ aria2c "http://servidor/arquivo.zip" NOTA: Para parar o download, pressione Ctrl-C. Posteriormente pode ser retomado o mesmo download no mesmo diretorio. Podem ser modificadas as URIs pois elas apontam para o mesmo arquivo. Download de arquivo de 2 servidores HTTP diferentes $ aria2c "http://servidor/arquivo.zip" "http://espelhobrasil/arquivo.zip" Download de arquivo do mesmo servidor HTTP usando 2 conexoes $ aria2c -x2 -k1M "http://servidorbrasil/arquivo.zip" Download de arquivo de servidor HTTP e FTP $ aria2c "http://svrbrasil/arquivo.zip" "ftp://servebr/arquivo.zip" Download arquivos especificados num arquivo txt concomitantemente $ aria2c -i arquivo.txt -j2 NOTA: -j especifica numero de downloads paralelos. Usando proxy Para HTTP: $ aria2c --http-proxy="http://svrproxy:8080" "http://servidor/arquivo" $ aria2c --http-proxy="http://svrproxy:8080" --no-proxy="localhost,127.0.0.1,192.168.0.0/16" "http://servidor/arquivo" a mascara de rede /16 quer dizer que para toda a rede 192.168 tambem nao sera usado o servidor proxy Para FTP: $ aria2c --ftp-proxy="http://svrproxy:8080" "ftp://servidor/arquivo" NOTA: Ver --http-proxy, --https-proxy, --ftp-proxy, --all-proxy e --no-proxy para detalhes. Proxy pode ser especificado nas variaveis de ambiente. Ver secao VARIAVEIS DE AMBIENTE . Proxy com autenticacao / autorizacao $ aria2c --http-proxy="http://usuario:senha@svrproxy:8080" "http://servidor/arquivo" $ aria2c --http-proxy="http://svrproxy:8080" --http-proxy-user="usuario" --http-proxy-passwd="senha" "http://servidor/arquivo" Download Metalink Download arquivos com Metalink remoto $ aria2c --follow-metalink=mem "http://servidor/arquivo.metalink" Download arquivos com Metalink local $ aria2c -p --lowest-speed-limit=4000 arquivo.metalink NOTA: Para parar o download, pressione Ctrl-C. A transferencia pode ser retomada executando aria2c com o mesmo argumento no mesmo diretorio Download diversos arquivos Metalink local $ aria2c -j2 arquivo1.metalink arquivo2.metalink Download so arquivos selecionados usando index $ aria2c --select-file=1-4,8 arquivo.metalink NOTA: O index e exibido na console usando opcao -S. Download um arquivo usando Metalink local com preferencia do usuario $ aria2c --metalink-location=pt,us --metalink-version=1.1 --metalink-language=pt-BR arquivo.metalink Download BitTorrent Download arquivos de BitTorrent remotos $ aria2c --follow-torrent=mem "http://servidortorrent/arquivo.torrent" Download usando arquivo torrent local $ aria2c --max-upload-limit=40K arquivo.torrent NOTA: --max-upload-limit especifica taxa maxima de transmissao (upload). NOTA: Para parar o download, pressione Ctrl-C. A transferencia pode ser retomada ao executar aria2c com os mesmos argumentos no mesmo diretorio. Download usando URI BitTorrent Magnet $ aria2c "magnet:?xt=urn:btih:248D0A1CD08284299DE78D5C1ED359BB46717D8C&dn=aria2" NOTA: Lembre-se inserir delimitadores na URI BitTorrent Magnet, pois ela inclui & que tem significado de parametro. Utilizar apostrofo(') ou aspas("). Download 2 torrents $ aria2c -j2 arquivo1.torrent arquivo2.torrent Download um arquivo usando torrent e servidor HTTP/FTP $ aria2c -T arqfile.torrent "http://serv1/arqfile" "ftp://svr2/arqfile" NOTA: Download de arquivos multiplos torrent com HTTP e FTP nao e suportado. Download arquivos selecionados usando index(chamado "download seletivo") $ aria2c --select-file=1-4,8 arquivo.torrent NOTA: O index e exibido na console usando-se a opcao -S. Especificar arquivo saida Para especificar arquivo de saida em Downloads de BitTorrent, faz-se necessario conhecer o index do arquivo no torrent usando a opcao --show-files. Por exemplo, a saida exibira algo como: idx|path/length ===+====================== 1|dist/base-2.6.18.iso |99.9MiB ---+---------------------- 2|dist/driver-2.6.18.iso |169.0MiB ---+---------------------- Para salvar 'dist/base-2.6.18.iso' em '/tmp/meudir/base.iso' e 'dist/driver-2.6.18.iso' em '/tmp/dir/driver.iso', use o seguinte comando: $ aria2c --dir=/tmp --index-out=1=meudir/base.iso --index-out=2=dir/driver.iso arquivo.torrent Modificar porta escuta para peer de entrada $ aria2c --listen-port=7000-7001,8000 arquivo.torrent NOTA: Ja que aria2 nao configura o firewall ou porta de roteamento para portas de encaminhamento, isto deve ser explicitado manualmente por voce. Especificar condicao para para o programa torrent apos termino do download $ aria2c --seed-time=120 --seed-ratio=1.0 arquivo.torrent NOTA: No exemplo acima, o programa termina apos transcorrer 120 minutos apos termino do download ou taxa chegar a 1.0. Controlar velocidade upload Torrent $ aria2c --max-upload-limit=100K arquivo.torrent Habilitar IPv4 DHT $ aria2c --enable-dht --dht-listen-port=6881 arquivo.torrent NOTA: DHT utiliza a porta udp, como o aria2 nao configura firewall nem porta de roteamento ou forwarding, por favor executar estas configuracoes manualmente. Habilitar IPv6 DHT $ aria2c --enable-dht6 --dht-listen-port=6881 --dht-listen-addr6=YOUR_GLOBAL_UNICAST_IPV6_ADDR --enable-async-dns6 NOTA: Se aria2c nao foi compilado com c-ares, a opcao --enable-async-dns6 nao e necessaria. aria2 compartilha a mesma porta ente IPv4 e IPv6 DHT. Adicionar e remover rastreador URI Remover todos os rastreadores (tracker) das URIs descritas no arquivo.torrent utilize http://tracker1/announce e http://tracker2/announce $ aria2c --bt-exclude-tracker="*" --bt-tracker="http://tracker1/announce,http://tracker2/announce" file.torrent Funcionalidades avancadas HTTP Carregar cookies $ aria2c --load-cookies=cookies.txt "http://servidor/arquivo.zip" NOTA: Podem ser utilizados sem nenhuma modificacao coookies dos navegadores: Firefox / Mozilla / Chromium. Continuar download iniciado por navegadores ou outros programas Quando desejar continuar ou retomar um download cujo processamento foi interrompido, seja em navegador ou qualquer outro programa utilize o aria2c para retomar este download do ponto onde parou. $ aria2c -c -s2 "http://servidor/arquivodedownloadparcial.zip" Autenticacao certificado para Cliente SSL/TLS $ aria2c --certificate=/path/para/mycert.pem --private-key=/path/para/mykey.pem https://servidor/arquivo NOTA: O arquivo especificado na opcao --private-key nao pode estar criptografado. O comportamento do processo fica indefinido quando o arquivo estiver criptografado. Verificar peer em SSL/TLS usando certificados CA $ aria2c --ca-certificate=/path/para/ca-certificates.crt --check-certificate https://servidor/arquivo Funcionalidades avancadas adicionais Controlar velocidade de download Quando for necessario o controle da utilizacao da banda disponivel, pode ser utilizado a opcao abaixo. Atencao o sufixo K ou M deve ser em letra maiuscula. $ aria2c --max-download-limit=100K arquivo.metalink Reparar um download danificado $ aria2c -V arquivo.metalink NOTA: Reparar downloads danificados pode ser mais eficiente usando BitTorrent ou Metalink com a opcao verificacao (checksums). Desconectar conexao se a velocidade download for menor que um valor $ aria2c --lowest-speed-limit=10K file.metalink Suporte a URI parametrizada A URI pode ser especificada como partes de um conjunto: $ aria2c -P "http://{svr1,svr2,svr3}/arquivo.iso" Tambem podem ser especificados sequencias de intervalos: $ aria2c -Z -P "http://servidor/imagem[000-100].png" NOTA: -Z opcao requerida para que todas URIs nao apontem para o mesmo arquivo, como declarado no codigo acima. Especificar incrementos para contador: $ aria2c -Z -P "http://servidor/imagem[A-Z:2].png" Verificar validacao checksum $ aria2c --checksum=sha-1=0192ba11326fe2298c8cb4de616f4d4140213837 http://dobrasil.org/arquivo Download Paralelo de uma quantidade arbitraria de URI, Metalink ou Torrent $ aria2c -j3 -Z "http://servidor/arquivo1" arquivo2.torrent arq3.metalink BitTorrent Criptografado Criptografar todo conjunto usando ARC4: $ aria2c --bt-min-crypto-level=arc4 --bt-require-crypto=true arquivo.torrent VER TAMBEM Site do Projeto aria2: https://aria2.github.io/ Site do Projeto Metalink: http://www.metalinker.org/ Descricao do Formato Download Metalink: RFC 5854 COPYRIGHT Copyright (C) 2006, 2014 Tatsuhiro Tsujikawa Traducao para Portugues do Brasil 2013, Gilberto dos Santos Alves utilizando editor kate e gedit no Debian squeeze 6.0.6 novembro de 2012 revisado em marco de 2013 usando editor kate e gedit no ubuntu 12.04 LTS Esse programa e software livre; pode ser redistribuido e/ou modificado sob os termos da Licenca GNU General Public License como publicada por Free Software Foundation www.fsf.org; versao 2 da Licenca, ou qualquer versao mais recente, qualquer que seja sua escolha. Este programa e distribuido na intencao de ser util, mas SEM NENHUMA GARANTIA; sem qualquer garantia implicita de ser COMERCIALIZAVEL ou para PROPOSITO ESPECIFICO. Consulte a Linceca GNU Generica para mais detalhes. Voce precisa receber uma copia da Licenca Publica GNU Generica junto com este programa; caso nao tenha, escreva para Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Adicionalmente, como uma excecao especial, os detentores do direito autoral autorizam a permissao para compilar programas que possuem ligacao com parte do codigo com a biblioteca OpenSSL sob certas condicoes como descritas em cada arquivo fonte e autorizam a distribuicao das das combinacoes das ligacoes incluindo ambas. Devem ser obedecidos todos os detalhes da Licenca Publica GNU Generica em relacao a OpenSSL. Caso haja modificacao nos arquivos com esta excecao devera ser extendida esta excecao para as versoes modificadas dos arquivos, mas isto nao e obrigatorio. Se nao houver esta intencao exclua esta declaracao de excecao da sua versao. Caso sejam excluidas as declaracoes de todos os arquivos fontes, exclua tambem esta declaracao daqui. Anotacao sobre divergencia entre Manual e o aria2: Esta pagina de manual pode nao necessariamente conter a ultima informacao. Caso haja discrepancia entre alguma informacao do manual e o aria2, por favor refira-se a versao em ingles resultante do comando man aria2c COPYRIGHT 2013, Tatsuhiro Tsujikawa 1.37.0 15 nov. 2023 ARIA2C(1)