Nel mondo GNU/Linux esistono numerosissimi programmi senza interfaccia grafica, e’ impossibile elencarli tutti. Ce ne sono per ogni utilizzo, dalla posta elettronica (mutt) alla navigazione su internet (w3c), dalla chat sul canale IRC (irssi) ai client ftp (ncftp), gli editor (nano), i filemanager (midnight commander), la grafica (imagemagick), la multimedialita’ (mplayer-nogui), i downloader (wget). Questi sono solo alcuni esempi, oggi scrivero’ a proposito di un potente downloader multi-protoccolo, aria2c.

Aria2c supporta vari protocolli tra i quali BitTorrent e Metalink

Aria2c supporta vari protocolli tra i quali BitTorrent e Metalink
Aria2c funziona da riga di comando, supporta il resume e riesce a gestire i seguenti protocolli: HTTP(S), FTP, BitTorrent e Metalink. Si, avete letto bene, potete usarlo per scaricare i torrent. In piu’ puo’ scaricare contemporaneamente da ftp e da bittorrent. Vediamo come funziona.

Prima di tutto dobbiamo installarlo:
# apt-get install aria2c

Cominciamo subito a farlo lavorare, facciamogli scaricare l’iso del CD di installazione di Debian stable:
$ aria2c http://cdimage.debian.org/debian-cd/5.0.3/i386/iso-cd/debian-503-i386-netinst.iso

Di default aria2c usa massimo 5 connessioni per scaricare un file, per indicargliene di meno dobbiamo usare l’opzione -sN:
$ aria2c -s3 http://sito/file.iso
Se lo stesso file e’ presente anche in un altro sito, o comunque un mirror, possiamo indicarlo:
$ aria2c -s3 http://sito/file.iso http://mirror1/file.iso http://mirror2/file.iso
Possiamo specificare i mirror anche in questo modo:
$ aria2c -P http://{sito,mirror1,mirror2}/file.iso

Come ho scritto poco sopra, aria2c gestisce lo scaricamento di piu’ file da piu’ protocolli, ad esempio sia http sia ftp:
$ aria2c http://sito/file1 ftp://sito/file1
se pero’ i link non puntano allo stesso file dobbiamo usare l’opzione -Z:
$ aria2c -Z http://sito/file1 ftp://sito/file2
Se invece (ad esempio con torrent e metalink) usiamo file in locale, non dobbiamo specificare l’opzione -Z:
$ aria2c file1.torrent file2.metalink
Che invece va specificata se scarichiamo file sia dalla rete sia usando file.torrent (e/o file.metalink) presenti in locale sul nostro HD:
$ aria2c -Z http://sito/file1 ftp://sito/file2 file1.torrent file2.metalink

Se abbiamo l’elenco dei link all’interno di un file di testo, con l’opzione -i diamo il contenuto del file di testo in pasto ad aria2c:
$ aria2c -i lista.txt
possiamo specificare il numero massimo di download paralleli con l’opzione -j:
$ aria2c -i lista.txt -j3

Possiamo scaricare i file torrent sia usando BitTorrent remoti:
$ aria2c http://sito/file.torrent
sia locali:
$ aria2c /directory/file.torrent
Possiamo specificare i limiti di upload sia in K sia in M (0 se non vogliamo dare limiti, al posto di -uN possiamo usare –max-upload-limit=N):
$ aria2c -u100K /directory/file.torrent
E ovviamente possiamo scaricare piu’ file alla volta:
$ aria2c file1.torrent file2.torrent

Se vogliamo sapere il contenuto del file.torrent usiamo l’opzione -S:
$ aria2c -S file.torrent
possiamo specificare una porta TCP per il download:
$ aria2c –listen-port=25241 file.torrent
o anche un range di porte:
$ aria2c –listen-port=6881-6883 file.torrent
ovviamente assicuratevi che le porte siano aperte.

Possiamo anche specificare quando chiudere il programma:
$ aria2c –seed-time=60 file.torrent
per chiudere aria2c un minuto dopo aver concluso il download e
$ aria2c –seed-ratio=1.0 file.torrent
per chiudere aria2c quando il tasso di seed sara’ 1.0.

Per mandare in seed un file che abbiamo gia’ scaricato scriviamo:
$ aria2c -V -d/directory file.torrent
l’opzione -V verifichera’ l’hash del torrent.

Possiamo scaricare con aria2c passando attraverso un proxy:
$ aria2c –all-proxy=’http://proxy:8080′ http://sito/file
se il server proxy richiede l’autenticazione:
$ aria2c –all-proxy=’http://username:password@proxy:8080′ http://sito/file
Se conosciamo il protocollo del proxy al posto di all scriviamo il tipo di protocollo, dunque http, https o ftp (rispettivamente –http-proxy, –https-proxy e –ftp-proxy).

Possiamo anche caricare i cookie (per Firefox 3 al posto di cookies.txt ci sara’ cookies.sqlite):
$ aria2c –load-cookies=cookies.txt http://sito/file
e se abbiamo usato il nostro browser o un altro programma per cominciare un download, aria2c puo’ completarlo:
$ aria2c -c -s2 http://sito/file
ovviamente apriamo aria2c nella directory dove si trova il file parzialmente scaricato.

Per scaricare file in sequenza numerica:
$ aria2c -Z -P http://sito/file[000-100].png
o alfabetica:
$ aria2c -Z -P http://sito/file[A-Z].png
Per indicare un “passo” (ad esempio di 3):
$ aria2c -Z -P http://sito/file[000-100:3].png
e
$ aria2c -Z -P http://sito/file[A-Z:3].png

Infine l’opzione -R:
$ aria2c -R http://sito/file.iso
prende il timestamp dal file presente sul server e lo applica al file che abbiamo in locale.

Ovviamente questa non puo’ essere una guida esaustiva, per approfondire c’e’ sempre:
$ man aria2c

Piu’ i vari manuali e wiki presenti sul sito.