TorrentServer: differenze tra le versioni

Da PNLUG.
(Creata pagina con "== Torrent Server ==")
 
(Condivisione Pubblica)
 
(21 versioni intermedie di uno stesso utente non sono mostrate)
Riga 1: Riga 1:
== Torrent Server ==
+
=Abstract=
 +
Spesso le immagini iso e altri software "pesanti" vengono proposti come torrent, un protocollo peer-to-peer (P2P) <br>
 +
che consente la distribuzione e la condivisione di file su Internet [https://it.wikipedia.org/wiki/Torrent_%28formato_di_file%29 Wikipedia Torrent]<br>
 +
<br>
 +
Esistono molti client uno dei più famosi è [http://www.transmissionbt.com/about/ Transmission],lo trovate in ogni distribuzione.<br>
 +
<br>
 +
Unico problema è che dovete lasciare acceso il vostro PC per tutto il tempo del download.<br>
 +
 
 +
==Soluzione==
 +
Sia che recuperiate un vecchio PC ([https://trac.transmissionbt.com/wiki/HeadlessUsage senza interfaccia grafica]) <br>
 +
oppure utilizziate un macchina virtuale è consigliabile utilizzare una versione "daemon" del software e sfruttare l'intrinseca interfaccia web.<br>
 +
 
 +
=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)<br>
 +
Create due folders nella home del utente: <br>
 +
 
 +
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 [https://wiki.debian.org/BitTorrent/Transmission 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].<br>
 +
Questa periferica ha la capacità di fare browser della rete su cartelle SAMBA[1], <br>
 +
quindi ho pensato di fare una piccola aggiunta al server torrent,<br>
 +
rendendo pubblica[2] la cartella relativa[3],<br>
 +
 
 +
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 <br>
 +
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 ... <br>
 +
 
 +
[0] Haider U5000A Powered by Android <br>
 +
[1] https://www.samba.org/ <br>
 +
[2] Attenzione : Pubblica indica una cartella accessibile senza sicurezza in maniera anonima da qualunque periferica !!! <br>
 +
[3] nel nostro caso /home/utente/complete settata in "download-dir" : "/home/utente/complete" <br>
 +
[4] https://wiki.samba.org/index.php/Public_Samba_Server <br>
 +
 
 +
=Link=
 +
 
 +
[http://sandspaceship.blogspot.it/2013/09/torrent-and-dlna-station-with-raspberry.html Con Raspberry Pi ] <br>
 +
[https://wiki.debian.org/BitTorrent/Transmission wiki.debian.org] <br>
 +
[https://trac.transmissionbt.com/wiki/EditConfigFiles configuration file] <br>
 +
[https://bugs.launchpad.net/ubuntu/+source/transmission/+bug/1059136 bug] <br>
 +
[http://sourceforge.net/p/azureus/mailman/azureus-commitlog/?viewmonth=201303&viewday=15 bug2] <br>

Versione attuale delle 15:51, 5 gen 2016

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