TorrentServer: differenze tra le versioni

Da PNLUG.
(Condivisione Pubblica)
(Condivisione Pubblica)
 
(11 versioni intermedie di uno stesso utente non sono mostrate)
Riga 1: Riga 1:
 
=Abstract=
 
=Abstract=
Spesso le imamgini 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 [https://it.wikipedia.org/wiki/Torrent_%28formato_di_file%29 Wikipedia Torrent]
+
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>
Esistono molti client uno dei più famosi è [http://www.transmissionbt.com/about/ Transmission], disponibile il client in ogni distribuzione.
+
<br>
Unico problema è che dovete lasciare acceso il vostro PC acceso per tutto il tempo del download.
+
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==
 
==Soluzione==
Sia che recuperiate un vecchio PC ([https://trac.transmissionbt.com/wiki/HeadlessUsage senza interfaccia grafica]) oppure sfruttando un macchina virtuale
+
Sia che recuperiate un vecchio PC ([https://trac.transmissionbt.com/wiki/HeadlessUsage senza interfaccia grafica]) <br>
è possibile utilizzare una versione "daemon" del software e sfruttare l'intrinseca interfaccia web.
+
oppure utilizziate un macchina virtuale è consigliabile utilizzare una versione "daemon" del software e sfruttare l'intrinseca interfaccia web.<br>
  
 
=Prerequisiti=
 
=Prerequisiti=
Riga 31: Riga 33:
 
=Installazione=
 
=Installazione=
  
Collegatevi in ssh
+
Collegatevi in ssh, create un secondo utente (es:utente)<br>
Create due folders nella home del utente
+
Create due folders nella home del utente: <br>
  
mk /home/utente/complete
+
mkdir /home/utente/complete
  
mk /home/utente/incomplete
+
mkdir /home/utente/incomplete
  
  
Riga 116: Riga 118:
 
e modificate le righe con un editor  
 
e modificate le righe con un editor  
  
return '↑  ' + Transmission.fmt.speedBps(t.getUploadSpeed());
+
return '↑  ' + Transmission.fmt.speedBps(t.getUploadSpeed());
return '↓  ' + Transmission.fmt.speedBps(t.getDownloadSpeed());
+
return '↓  ' + Transmission.fmt.speedBps(t.getDownloadSpeed());
 
+
  
 
Nota:
 
Nota:
Riga 124: Riga 125:
 
   TorrentRendererHelper.formatUL = function(t)
 
   TorrentRendererHelper.formatUL = function(t)
 
   {
 
   {
  - return '&uarr; ' + Transmission.fmt.speedBps(t.getUploadSpeed());
+
        return '↑ ' + Transmission.fmt.speedBps(t.getUploadSpeed());
  + return '↑ ' + Transmission.fmt.speedBps(t.getUploadSpeed());
+
 
   };
 
   };
 
   
 
   
 
   TorrentRendererHelper.formatDL = function(t)
 
   TorrentRendererHelper.formatDL = function(t)
 
   {
 
   {
  - return '&darr; ' + Transmission.fmt.speedBps(t.getDownloadSpeed());
+
  return '↓ ' + Transmission.fmt.speedBps(t.getDownloadSpeed());
  + return '↓ ' + Transmission.fmt.speedBps(t.getDownloadSpeed());
+
   };
   };  
+
  
 
=Condivisione Pubblica=
 
=Condivisione Pubblica=
  
L'ultimo Natale ha portato a casa una SM@RT TV[1].
+
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[2], quindi ho pensato di fare una piccola aggiunta al server torrent,
+
Questa periferica ha la capacità di fare browser della rete su cartelle SAMBA[1], <br>
rendendo pubblica la cartella relativa[3]
+
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>
  
[1] Haider U5000A Powered by Android
+
[0] Haider U5000A Powered by Android <br>
[2] https://www.samba.org/
+
[1] https://www.samba.org/ <br>
[3]
+
[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=
 
=Link=
Riga 167: Riga 221:
 
[https://trac.transmissionbt.com/wiki/EditConfigFiles configuration file] <br>
 
[https://trac.transmissionbt.com/wiki/EditConfigFiles configuration file] <br>
 
[https://bugs.launchpad.net/ubuntu/+source/transmission/+bug/1059136 bug] <br>
 
[https://bugs.launchpad.net/ubuntu/+source/transmission/+bug/1059136 bug] <br>
<br>
+
[http://sourceforge.net/p/azureus/mailman/azureus-commitlog/?viewmonth=201303&viewday=15 bug2] <br>
[http://sourceforge.net/p/azureus/mailman/azureus-commitlog/?viewmonth=201303&viewday=15 bug2]
+

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