TorrentServer

Da PNLUG.

Abstract

Spesso le immagini iso e altri software "pesanti" vengono proposti come torrent, un protocollo peer-to-peer (P2P)
che consente la distribuzione e la condivisione di file su Internet Wikipedia Torrent

Esistono molti client uno dei più famosi è Transmission,lo trovate in ogni distribuzione.

Unico problema è che dovete lasciare acceso il vostro PC per tutto il tempo del download.

Soluzione

Sia che recuperiate un vecchio PC (senza interfaccia grafica)
oppure utilizziate un macchina virtuale è consigliabile utilizzare una versione "daemon" del software e sfruttare l'intrinseca interfaccia web.

Prerequisiti

  • Installazione minimale (net-install senza interfaccia grafica) di Debian (o Ubuntu basterà aggiungere sudo ai comando) .
  • accesso alla rete
    • apt-get update
    • apt-get upgrade consigliati
  • un secondo utente oltre a quello di root
  • ssh installato sulla macchina di destinazione

openssh-server - secure shell (SSH) server, for secure access from remote machines

apt-get install openssh-server


Dalla versione 2.0 non è permesso l'accesso in ssh dall'utente root di default. Potete utilizzare un secondo utente e poi assumere il ruolo di root con

su -


Installazione

Collegatevi in ssh, create un secondo utente (es:utente)
Create due folders nella home del utente:

mkdir /home/utente/complete
mkdir /home/utente/incomplete


Da root

apt-get install transmission-daemon

fermiamo il servizio per configurare il demone:

service transmission-daemon stop

editiamo il file di configurazione :

nano /etc/transmission-daemon/settings.json


Andiamo a modificare i seguenti parametri :


 "download-dir" : "/home/utente/complete"
 "incomplete-dir" : "/home/utente/incomplete"
 "incomplete-dir-enabled" : true
 "download-queue-enabled" : false
 "rpc-enabled" : true
 "rpc-password" : "CHOOSE A PASSWORD" <-- password in chiaro, al primo avvio verrà creato l'HASH.
 "rpc-username" : "CHOOSE A USERNAME" <-- secondo utente creato in precedenza.
 "rpc-whitelist-enabled" : false      <-- qualunque richiesta verrà accettata

Security improve

 "rpc-whitelist-enabled" : true
 "rpc-whitelist": "127.0.0.1,192.168.1.*" <-- solo le macchine della rete 192.168.1.* potranno accedere al demone.

inserite un range coerente con la vostra rete.

Avvio Demone

Manuale

service transmission-daemon stop

Automatico all'avvio

update-rc.d transmission-daemon defaults

Accesso web

Per accedere all'interfaccia web aprite il browser :

http://hostname:9091/transmission
http://indirizzoIP:9091/transmission

e utilizzate

username
password

del secondo utente Linux creato in precedenza.

Bug fix

La versione installata se wheezy :

apt-cache policy transmission-daemon
 transmission-daemon:
  Installed: 2.52-3+nmu2
  Candidate: 2.52-3+nmu2
  Version table:
 *** 2.52-3+nmu2 0
       500 http://ftp.debian.org/debian/ wheezy/main i386 Packages
       500 http://security.debian.org/ wheezy/updates/main i386 Packages
       100 /var/lib/dpkg/status

Ha un piccolo bug, non mostra le frecce up & down nell'interfaccia web.

Per risolvere editate il file :

/usr/share/transmission/web/javascript/torrent-row.js

e modificate le righe con un editor

return '↑  ' + Transmission.fmt.speedBps(t.getUploadSpeed());
return '↓  ' + Transmission.fmt.speedBps(t.getDownloadSpeed());

Nota:

 TorrentRendererHelper.formatUL = function(t)
 {
       return '↑ ' + Transmission.fmt.speedBps(t.getUploadSpeed());
 };

 TorrentRendererHelper.formatDL = function(t)
 {
 	return '↓ ' + Transmission.fmt.speedBps(t.getDownloadSpeed());
 };

Condivisione Pubblica

Natale '15 ha portato a casa una SM@RT TV[0].
Questa periferica ha la capacità di fare browser della rete su cartelle SAMBA[1],
quindi ho pensato di fare una piccola aggiunta al server torrent,
rendendo pubblica[2] la cartella relativa[3],

Prendendo spunto dalla documentazione ufficiale [4]

ho installato samba :

 apt-get install samba

Per precauzione ho salvato il file di configurazione originale :

 mv /etc/samba/smb.conf /etc/samba/smb.ori

poi ho creato un nuovo file di configurazione :

 [global]
  map to guest = bad user
 [public]
  path = /home/utente/complete
  guest ok = yes
 [public]
  path = /home/utente/complete
  guest ok = yes
  read only = yes

concludiamo riavviando il demone :

service samba restart


Test della cartella pubblica

 smbclient //server/public -Unot_a_user%foo

dove server è il vostro Torrentserver.

Una risposta simile a questa è di buon auspicio :-)

 Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.6.6]
 smb: \> 

un

 ls

oppure un

 pwd 

potrete controllare il contenuto e il percorso della cartella public.


Scaricare i file in locale via

Posizionatevi nella cartella locale dove volete scaricare il file, poi tramite smbclient
collegatevi al server SAMBA:

 Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.6.6]
 smb: \> 

poi utilizzate il comando get scaricate il file :


 Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.6.6]
 smb: \> get nomefile


Tip: nomi con spazi tra "nome cartella", vale anche per altri comandi cd, ls ...

[0] Haider U5000A Powered by Android
[1] https://www.samba.org/
[2] Attenzione : Pubblica indica una cartella accessibile senza sicurezza in maniera anonima da qualunque periferica !!!
[3] nel nostro caso /home/utente/complete settata in "download-dir" : "/home/utente/complete"
[4] https://wiki.samba.org/index.php/Public_Samba_Server

Link

Con Raspberry Pi
wiki.debian.org
configuration file
bug
bug2