Como falsificar host e multithread download de um arquivo? [duplicado]

0

Gostaria de baixar o arquivo de dados de 227 GB aqui mas isso me leva cerca de 20-24 horas agora. O protocolo Torrent seria incrível para o processo de tarefa e / ou paralelo no download, mas o host está limitando o número de conexão para um (1). Propostas

  • Você pode falsificar o host e multithread a tarefa com wget aqui? ... eu acho que não é fácil ... Pseudocódigo onde eu acho que desabilitar diretórios e desabilitar diretórios de host faz sentido; colocando robôs fora; pegando apenas o arquivo .bin; dizendo que meu navegador é o mozilla ; fazendo o download para o diretório /tmp/ ; o número de thread 150

    wget -n 150 -nd -nH -e robots=off -A".bin" -U mozilla \
        -P /tmp/ http://horatio.cs.nyu.edu/mit/tiny/data/tiny_images.bin
    
  • exclua proxilla , pois não está no apt-get

Características

  • O host limita o número de conexões a um (1).
  • Defino 150 números de conexões no eixo porque minha velocidade máxima de download é de 30 MB, portanto, deve ter velocidade de download de 15 MB / s (= 0,1 MB / s * 150), mas agora o tempo estimado é de 21 h no início.
  • Tentativa de VPN: apenas se o host começar a colocar o usuário na lista negra.

Excluir o eixo da tarefa

O Axel falha mesmo com 1-16 conexões, onde querendo também a barra de progresso ( -a )

# http://www.cyberciti.biz/tips/download-accelerator-for-linux-command-line-tools.html
axel -a -n 1 -s 16 http://horatio.cs.nyu.edu/mit/tiny/data/tiny_images.bin
Initializing download: http://horatio.cs.nyu.edu/mit/tiny/data/tiny_images.bin
File size: 243615796224 bytes
Opening output file tiny_images.bin
Error opening local file

Excluir aria2c da tarefa

  • O host causa falha mesmo com 2-16 número de conexões; -c permite a continuação do download se for interrompido, -x 10 e -s 10 permitem até 10 conexões por servidor

    # http://askubuntu.com/a/507890/25388
    aria2c -c -x10 -s10 http://horatio.cs.nyu.edu/mit/tiny/data/tiny_images.bin
    
    08/17 21:27:25 [ERROR] CUID#6 - Download aborted. URI=http://horatio.cs.nyu.edu/mit/tiny/data/tiny_images.bin
    Exception: [AbstractCommand.cc:398] errorCode=16 URI=http://horatio.cs.nyu.edu/mit/tiny/data/tiny_images.bin
      -> [RequestGroup.cc:714] errorCode=16 Download aborted.
      -> [AbstractDiskWriter.cc:222] errNum=13 errorCode=16 Failed to open the file /media/masi/SamiSwapVirtual/tiny_images.bin, cause: Permission denied
    
    08/17 21:27:25 [NOTICE] Download GID#1e5701ee3b4d44f4 not complete: /media/masi/SamiSwapVirtual/tiny_images.bin
    
    Download Results:
    gid   |stat|avg speed  |path/URI
        ======+====+===========+=======================================================
    1e5701|ERR |       0B/s|/media/masi/SamiSwapVirtual/tiny_images.bin
    
    Status Legend:
    (ERR):error occurred.
    
    aria2 will resume download if the transfer is restarted.
    If there are any errors, then see the log file. See '-l' option in help/man page for details.
    

Ubuntu: 16.04 64 bit
Roteador LTE: TP-link MR220 com o firmware mais recente
Conexão LTE: 30/20 MB para Download / Upload
Download do HDD: 2 TB ext4 Transcend

    
por Léo Léopold Hertz 준영 17.08.2016 / 17:48

1 resposta

1

Infelizmente, o que você está pedindo é praticamente impossível. Você não pode forçar um servidor a permitir múltiplas conexões.

Se eles limitarem o número de conexões baseadas em IP, você precisará enviar um IP diferente para cada conexão. Nesse ponto, você precisaria de um programa que pudesse mesclar várias partes do mesmo arquivo de diferentes computadores com partes criadas dinamicamente. Isso deve ser tecnicamente possível, mas certamente não é prático, porque você teria que encontrar um programa desse tipo e, que eu saiba, esse programa não existe.

Há apenas duas opções que posso pensar:

  1. Download com a taxa permitida.
  2. Transfira o arquivo desse servidor para outro servidor e faça o download desse servidor.
    • essa é a opção mais rápida, mas utiliza um servidor existente em um datacenter, de preferência.
    • esta não é uma opção prática para a maioria das pessoas.

Com isso dito, eu mesmo testei o download e ele fornece a velocidade máxima absoluta que meu plano de internet pode manipular com apenas uma conexão.

Eu tenho uma conexão de 60 Mbit para que eu possa baixar arquivos entre 5,5MBps - 7,5MBps (megabytes por segundo). Este download da NYU ofereceu 7.2MBps, o que é totalmente razoável e mais do que a minha velocidade máxima média de 6.5MBps. Isso significa que baixar a minha velocidade levaria cerca de 10 horas.

Eu suspeito que você tenha uma conexão de 30Mbit resultando em duas vezes mais tempo, então é minha estimativa que o gargalo esteja do seu lado, não da NYU.

    
por Michael Tunnell 19.08.2016 / 16:10