martes, 18 de marzo de 2014

Bitflu Torrent Client para Linux

Aunque les parezca algo (bastante) friki estoy utilizando bitflu para descargar archivos torrent cuando lo necesito.

Es ligero, simple, y además funciona desde un terminal como demonio, puedo nombrar algunos otros clientes torrent que funcionan bastante bien, como por ejemplo Tixati, Transmission o qBittorrent que es unos de los mejores que he visto y usado, pero como dije, por simple y ligero se lleva el premio bitflu.

Pero... si, no es que sea así como los torrent client que recién mencione, es algo más... digamos diferente de usar, pero para un usuario linux promedio no creo que sea el gran problema, por el contrario, quizás se sienta entretenido al tratar de hacerlo funcionar :)

Lo que deben saber para hacerlo funcionar es lo siguiente:

1ro las dependencias y recomendaciones:

* Perl 5 (5.8 >= recommended) * The module 'Danga::Socket' >= 1.52 and 'Digest::SHA' (or 'Digest::SHA1') * A correctly configured 'firewall' (You must accept/forward $torrent_port [udp AND tcp]) * Some spare disk-space and bandwidth ;-)

Esto sacado del archivo Readme de blitflu, pero para hacerlo un poco más entendible lo que necesitan saber es que debe que estar instalado lo siguiente:

* Perl 5 * (Danga::Socket >= 1.52) en debian (libdanga-socket-perl) * (Digest::SHA) en debian (libdigest-sha-perl) # Por ultimo y muy importante porque no aparece entre las dependencias * Telnet (no esta como dependencia, un día para descubrirlo)

2do Como hacerlo funcionar:

Si ya tienen las dependencias solo queda correrlo y lo más probable es que se consigan con algunos errores parecidos a estos:

Error tipo 1: Use of qw(...) as parentheses is deprecated at ./bitflu.pl line 361. Use of qw(...) as parentheses is deprecated at ./bitflu.pl line 2680. Use of qw(...) as parentheses is deprecated at ./bitflu.pl line 2831. Use of qw(...) as parentheses is deprecated at ./bitflu.pl line 2852. Use of qw(...) as parentheses is deprecated at plugins/Bitflu/00_StorageVFS.pm line 73. Use of qw(...) as parentheses is deprecated at plugins/Bitflu/10_AdminHTTP.pm line 40. Use of qw(...) as parentheses is deprecated at plugins/Bitflu/20_DownloadBitTorrent.pm line 96. Use of qw(...) as parentheses is deprecated at plugins/Bitflu/20_DownloadBitTorrent.pm line 103. Use of qw(...) as parentheses is deprecated at plugins/Bitflu/20_DownloadBitTorrent.pm line 824. Use of qw(...) as parentheses is deprecated at plugins/Bitflu/20_DownloadBitTorrent.pm line 2596. Error Tipo 2: syntax error at ./bitflu.pl line 361, near "$lockme qw(runas_uid runas_gid chroot)" Global symbol "$lockme" requires explicit package name at ./bitflu.pl line 362. Global symbol "$renice" requires explicit package name at ./bitflu.pl line 370. Global symbol "$renice" requires explicit package name at ./bitflu.pl line 371. Global symbol "$renice" requires explicit package name at ./bitflu.pl line 371. Global symbol "$renice" requires explicit package name at ./bitflu.pl line 371. Global symbol "$renice" requires explicit package name at ./bitflu.pl line 371. Global symbol "$self" requires explicit package name at ./bitflu.pl line 372. Global symbol "$renice" requires explicit package name at ./bitflu.pl line 372. Global symbol "$renice" requires explicit package name at ./bitflu.pl line 373. Global symbol "$self" requires explicit package name at ./bitflu.pl line 373. Global symbol "$renice" requires explicit package name at ./bitflu.pl line 373. Global symbol "$chroot" requires explicit package name at ./bitflu.pl line 377. Global symbol "$self" requires explicit package name at ./bitflu.pl line 378. Global symbol "$chroot" requires explicit package name at ./bitflu.pl line 378. Global symbol "$chroot" requires explicit package name at ./bitflu.pl line 383. Global symbol "$self" requires explicit package name at ./bitflu.pl line 383. Global symbol "$chroot" requires explicit package name at ./bitflu.pl line 383. Global symbol "$chroot" requires explicit package name at ./bitflu.pl line 384. Global symbol "$self" requires explicit package name at ./bitflu.pl line 384. Global symbol "$chroot" requires explicit package name at ./bitflu.pl line 384. Global symbol "$self" requires explicit package name at ./bitflu.pl line 385. Global symbol "$gid" requires explicit package name at ./bitflu.pl line 390. Global symbol "$self" requires explicit package name at ./bitflu.pl line 391. Global symbol "$gid" requires explicit package name at ./bitflu.pl line 391. Global symbol "$gid" requires explicit package name at ./bitflu.pl line 393. Global symbol "$gid" requires explicit package name at ./bitflu.pl line 393. Global symbol "$gid" requires explicit package name at ./bitflu.pl line 396. Global symbol "$self" requires explicit package name at ./bitflu.pl line 397. Global symbol "$uid" requires explicit package name at ./bitflu.pl line 401. Global symbol "$self" requires explicit package name at ./bitflu.pl line 402. Global symbol "$uid" requires explicit package name at ./bitflu.pl line 402. Global symbol "$uid" requires explicit package name at ./bitflu.pl line 403. Global symbol "$self" requires explicit package name at ./bitflu.pl line 403. Global symbol "$self" requires explicit package name at ./bitflu.pl line 408. Global symbol "$self" requires explicit package name at ./bitflu.pl line 409. Global symbol "$self" requires explicit package name at ./bitflu.pl line 410. Global symbol "$chdir" requires explicit package name at ./bitflu.pl line 413. Global symbol "$self" requires explicit package name at ./bitflu.pl line 414. Global symbol "$chdir" requires explicit package name at ./bitflu.pl line 414. Global symbol "$chdir" requires explicit package name at ./bitflu.pl line 415. Global symbol "$self" requires explicit package name at ./bitflu.pl line 415. Global symbol "$chdir" requires explicit package name at ./bitflu.pl line 415. Global symbol "$self" requires explicit package name at ./bitflu.pl line 418. syntax error at ./bitflu.pl line 419, near "}" ./bitflu.pl has too many errors.

Pero como quiera que sea, lo que necesitan saber para resolverlo es lo siguiente:

Dentro del mismo archivo bitflu.pl buscar todos los qw(...) y cambiarlos a (qw(...)) lo mismo en los archivos que están en plugins/Bitflu. También dentro del directorio bitflu deben existir dos carpetas workdir con su contenido y el archivo de configuración de bitflu .bitflu.config.

3ro El archivo de configuración de Bitflu:

# Written by Bitflu::Configuration@2862 on Tue Jan 28 07:59:38 2014 autocancel = 1.5 autocommit = 1 autoload_dir = /home/ljmarin/LM/Descargas/Torrent/bitflu/workdir/autoload autoload_scan = 300 chdir = checkversion = 1390714458 completed_downloads = /home/ljmarin/LM/Descargas/Torrent/bitflu/workdir/seeding downspeed = 30 history = 1 http_autoloadtorrent = 1 http_maxthreads = 30 incomplete_downloads = /home/ljmarin/LM/Descargas/Torrent/bitflu/workdir/unfinished ipv6 = 1 kademlia_idseed = 0 logfile = loglevel = 5 min_free_mb = 0 pidfile = plugindir = ./plugins pluginexclude = renice = 8 storage = StorageVFS telnet_bind = 127.0.0.1 telnet_maxhist = 20 telnet_port = 4001 tempdir = tmp torrent_bind = 0 torrent_gcpriority = 8 torrent_importdir = /home/ljmarin/LM/Descargas/Torrent/bitflu/workdir/import torrent_maxpeers = 80 torrent_maxreq = 6 torrent_port = 6688 torrent_totalpeers = 400 torrent_tracker_autoudp = 1 torrent_tracker_udpport = 6689 torrent_trackerblacklist = torrent_upslots = 10 unshared_downloads = /home/ljmarin/LM/Descargas/Torrent/bitflu/workdir/removed upspeed = 20 vfs_datafsync = 1 vfs_use_allocator = 0 vfs_use_fallocate = 0 webgui_bind = 127.0.0.1 webgui_port = 4081 workdir = /home/ljmarin/LM/Descargas/Torrent/bitflu/workdir # EOF #

El archivo de configuración debe estar dentro del mismo directorio y se debe llamar .bitflu.config, aunque la configuración que explica el autor debería tener bitflu no la hago, en mi caso blitflu está dentro de /opt y las demás carpetas están en una carpeta personal aparte.

4to Comandos de Bitflu:

* Para ejecutar, (dentro de la carpeta bitflu) en el terminal: $ ./bitflu.pl * Espererar que cargue todo (un rato) y en otro terminal aparte (abrir otro terminal): $ telnet 127.0.0.1 4001 * Starting a new download (Comenzar nueva descarga): # Use the 'load' command to start downloading a localy saved torrent file: # Especificar la dirección del torrent. bitflu> load /tmp/foo.torrent * Cancelar un torrent descargado: # cancel + hash del torrent bitflu> cancel 1a9be08ac43c5a76c614768fde84c59977f13393 * Detalles de un torrent: # details + hash del torrent bitflu> details 1a9be08ac43c5a76c614768fde84c59977f13393 * Viewing existing downloads (ver descargas existentes): # Just type 'vd' (or 'ls'): # Escribir 'vd' o 'ls'. bitflu> vd * Peer de un torrent: bitflu> peerlist

Ya con esta información deberían poder hacer funcionar bitflu (información que no vi en otra parte), lo demás es descargar :)

Una captura de bitflu:


Para descargar pueden ir a:
Página principal de bitflu
Página de bitflu en GitHub

No hay comentarios: