Server per il P2P con Debian: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
m
→‎Accesso remoto: aggiunti "a capo"
m (→‎Accesso remoto: aggiunti "a capo")
 
(20 versioni intermedie di 4 utenti non mostrate)
Riga 1: Riga 1:
{{Template:Articoli ezine|titolo=Server per il P2P in Debian|intro=Una rapida guida sul come configurare un server per gestire i protocolli emule e torrent da remoto. Ottima soluzione per distribuire e scaricare file.<br/>
{{Versioni compatibili|Squeeze|Wheezy}}
|abstract=Debian offre già le migliori soluzioni software per il P2P, basta solo un po' di opportuna configurazione per avere un serverino di tutto rispetto.<br/>
__TOC__
|1=[http://e-zine.debianizzati.org/stampa/numero_6.pdf numero 6]}}
{{E-zine
 
|num=6
|articoli=http://e-zine.debianizzati.org/stampa/numero_6.pdf
}}
=Introduzione alle reti P2P=
=Introduzione alle reti P2P=
Per questa parte rimando all'articolo originale, non essendovi al momento necessità di aggiornamento
Per questa parte rimando all'articolo originale presente sull'e-zine, non essendovi al momento necessità di aggiornamento.


= Costruiamo il nostro server =
= Costruiamo il nostro server =
Riga 11: Riga 13:
* ''Rtorrent'' per usare il protocollo ''BitTorrent''.
* ''Rtorrent'' per usare il protocollo ''BitTorrent''.


La rete ''eDonkey'' è basata su una serie di server che permettono la localizzazione delle risorse all'interno della rete; è necessario tenere aggiornata la lista dei server poiché è possibile, in qualunque momento, aggiungere nuovi server o rimuoverne di esistenti. La rete ''Kad'', invece, è priva di server, è una rete decentralizzata peer-to-peer di terza generazione che utilizza il protocollo ''Kademlia'' in cui ad ogni nodo è associato un ID univoco usato non solo per identificare il nodo stesso ma anche per memorizzare l&#39;''hash'' della risorsa che si vuol condividere; ''hash'' ed ''Id'' hanno la stessa lunghezza e l&#39;''hash'' della risorsa condivisa viene memorizzata nei nodi con valore di ''Id'' più prossimi all&#39;''hash'' stesso.
La rete ''eDonkey'' è basata su una serie di server che permettono la localizzazione delle risorse all'interno della rete; è necessario tenere aggiornata la lista dei server poiché è possibile, in qualunque momento, aggiungere nuovi server o rimuoverne di esistenti. La rete ''Kad'', invece, è priva di server, è una rete decentralizzata peer-to-peer di terza generazione che utilizza il protocollo ''Kademlia'' in cui ad ogni nodo è associato un ID univoco usato non solo per identificare il nodo stesso ma anche per memorizzare l'''hash'' della risorsa che si vuol condividere; ''hash'' ed ''Id'' hanno la stessa lunghezza e l'''hash'' della risorsa condivisa viene memorizzata nei nodi con valore di ''Id'' più prossimi all'''hash'' stesso.


Il protocollo ''BitTorrent'', spezzetta la risorsa in parti di dimensione fissa che sono scambiati attraverso la rete ''peer-to-peer'' per poi ricomporre il file a destinazione. La descrizione delle parti in cui è suddivisa la risorsa è memorizzata in un file indice che ha estensione .torrent, che contiene anche l'indirizzo URL di un o più server traccia detti, ''tracker'', che permettono di localizzare il file o le sue parti.I computer appartenenti alla rete domestica useranno dei ''client web'' (''webUI'') per comunicare col ''server''; in questo modo non vi è la necessità di installare programmi aggiuntivi, ma sarà sufficiente il ''browser''.
Il protocollo ''BitTorrent'', spezzetta la risorsa in parti di dimensione fissa che sono scambiati attraverso la rete ''peer-to-peer'' per poi ricomporre il file a destinazione. La descrizione delle parti in cui è suddivisa la risorsa è memorizzata in un file indice che ha estensione .torrent, che contiene anche l'indirizzo URL di uno o più server traccia detti, ''tracker'', che permettono di localizzare il file o le sue parti. I computer appartenenti alla rete domestica useranno dei ''client web'' (''webUI'') per comunicare col ''server''; in questo modo non vi è la necessità di installare programmi aggiuntivi, ma sarà sufficiente il ''browser''.


''Amule'' è la soluzione più diffusa per connettersi alle reti ''eDonkey/Kad'', mentre per quanto riguarda i ''torrent'' vi sono valide alternative come ''Deluge'' e ''Transmission'', entrambi prevedono la modalità demone con la possibilità di connettersi tramite ''webUI''.
''Amule'' è la soluzione più diffusa per connettersi alle reti ''eDonkey/Kad'', mentre per quanto riguarda i ''torrent'' vi sono valide alternative come ''Deluge'' e ''Transmission'', entrambi prevedono la modalità demone con la possibilità di connettersi tramite ''webUI''.


Consideriamo una classica rete domestica costituita da un ''router DSL'' al quale si connettono i computer della casa, il nostro ''server'' risiederà su un pc dedicato. Si può usare un vecchio computer ormai in disuso. La potenza di calcolo non è importante per i nostri scopi; basta che abbia un ''hard disk'' capiente ed inoltre dovrà avere un indirizzo ''IP'' pubblico. Nel ''firewall'' presente sul ''router'' occorrerà aprire alcune porte associandole a tale indirizzo per avere un corretto funzionamento del nostro server di ''file sharing''.Per quanto riguarda la sicurezza/riservatezza, trattandosi di una rete domestica non prendiamo '''nessuna misura di protezione'''; al di fuori di una rete domestica è necessario implementare tali meccanismi che non sono però trattati in questa guida.
Consideriamo una classica rete domestica costituita da un ''router DSL'' al quale si connettono i computer della casa, il nostro ''server'' risiederà su un PC dedicato. Si può usare un vecchio computer ormai in disuso. La potenza di calcolo non è importante per i nostri scopi; basta che abbia un ''hard disk'' capiente ed inoltre dovrà avere un indirizzo ''IP'' pubblico. Nel ''firewall'' presente sul ''router'' occorrerà aprire alcune porte associandole a tale indirizzo per avere un corretto funzionamento del nostro server di ''file sharing''. Per quanto riguarda la sicurezza/riservatezza, trattandosi di una rete domestica non prendiamo '''nessuna misura di protezione'''; al di fuori di una rete domestica è necessario implementare tali meccanismi che non sono però trattati in questa guida.


==Installazione di Debian==
==Installazione di Debian==
Per iniziare installiamo sul computer una Debian stable (Squeeze) tramite immagine ''business-card'', reperibile dal sito,http://www.debian.org/CD/netinst/ci limitiamo ad installare solo il ''core'' del sistema.[[Immagine:di.jpg]]Durante l'installazione si dovrà <u>specificare un utente</u>: negli esempi proposti è stato scelto '''mulo''' siccome mi sembrava essere il nome più adatto. Qualora ne scegliate uno diverso <u>ricordatevi di modificare anche gli ''script'' mostrati di seguito</u>. Ovviamente le password dello user e di root sono a vostra discrezione.
Per iniziare installiamo sul computer una Debian [[stable]] (Squeeze) tramite immagine ''business-card'', reperibile dal sito http://www.debian.org/CD/netinst/ , e ci limitiamo ad installare solo il ''core'' del sistema.
 
[[Immagine:Installazione_serverp2p.jpg|center]]
 
Durante l'installazione si dovrà <u>specificare un utente</u>: negli esempi proposti è stato scelto '''mulo''' siccome mi sembrava essere il nome più adatto. Qualora ne scegliate uno diverso <u>ricordatevi di modificare anche gli ''script'' mostrati di seguito</u>. Ovviamente le password dello user e di root sono a vostra discrezione.
==''Rtorrent''==
==''Rtorrent''==
Per poter scaricare o condividere file ''torrent'' installiamo il programma ''Rtorrent'', mentre per permettere agli altri computer di connettersi al ''server'' tramite ''webUI'' installiamo anche il programma ''Rtgui''. Tali software sono reperibili da:http://libtorrent.rakshasa.no/http://code.google.com/p/rtgui/ed essendo nei ''repository'' di Debian potremmo installarli sfruttando il solito Apt.
Per poter scaricare o condividere file ''torrent'' installiamo il programma ''Rtorrent'', mentre per permettere agli altri computer di connettersi al ''server'' tramite ''webUI'' installiamo anche il programma ''Rtgui''. Tali software sono reperibili da http://libtorrent.rakshasa.no/http://code.google.com/p/rtgui/ ed essendo nei [[repository]] di Debian potremmo installarli sfruttando il solito Apt.
===Installazione===
===Installazione===
<pre># aptitude install rtorrent screen rtgui gawk</pre>
<pre># aptitude install rtorrent screen rtgui gawk</pre>
Siccome esistono più versioni del server apache ci verrà segnalato automaticamente da aptitude quale installare:
Siccome esistono più versioni del server Apache, ci verrà segnalato automaticamente da [[aptitude]] quale installare:
<pre>The following packages have unmet dependencies:
<pre>The following packages have unmet dependencies:
   apache2-mpm-worker: Conflicts: apache2-mpm which is a virtual package.
   apache2-mpm-worker: Conflicts: apache2-mpm which is a virtual package.
Riga 51: Riga 57:


====File di config====
====File di config====
Configuriamo ora ''Rtorrent'' creando il file '''<tt>/home/mulo/.rtorrent.rc</tt>''' come il seguente.
Configuriamo ora ''Rtorrent'' creando il file '''<code>/home/mulo/.rtorrent.rc</code>''' come il seguente.
Ricordate sempre che per avere consigli sul come crearlo a partire da zero potete utilizzare il comodo esempio presente nella documentazione in ''/usr/share/doc/rtorrent/examples/rtorrent.rc'' sul quale ho basato la mia configurazione (alias <tt>cp</tt>).
Ricordate sempre che per avere consigli sul come crearlo a partire da zero potete utilizzare il comodo esempio presente nella documentazione in ''/usr/share/doc/rtorrent/examples/rtorrent.rc'' sul quale ho basato la mia configurazione (alias <code>cp</code>).


=====.rtorrent.rc=====
=====.rtorrent.rc=====
(modifiche principali in <font style="color:red;">rosso</font>)
(modifiche principali in <font style="color:red;">rosso</font>)
<div style="overflow:auto;max-height:400px">
&#35; This is an example resource file for rTorrent. Copy to
<br />&#35; ~/.rtorrent.rc and enable/modify the options as needed. Remember to
<br />&#35; uncomment the options you wish to enable.
<br />&#35; Maximum and minimum number of peers to connect to per torrent.
<br /><font style="color:red;">min_peers = 40
<br />max_peers = 100</font>
<br />&#35; Same as above but for seeding completed torrents (-1 = same as downloading)
<br /><font style="color:red;">min_peers_seed = 5
<br />max_peers_seed = 10</font>
<br />&#35; Maximum number of simultanious uploads per torrent.
<br /><font style="color:red;">max_uploads = 5</font>
<br />&#35; Global upload and download rate in KiB. "0" for unlimited.
<br /><font style="color:red;">download_rate = 75
<br />upload_rate = 5</font>
<br />&#35; Default directory to save the downloaded torrents.
<br />&#35;directory = ./complete
<br /><font style="color:red;">directory = /home/mulo/torrent/</font>
<br />&#35; Default session directory. Make sure you don't run multiple instance
<br />&#35; of rtorrent using the same session directory. Perhaps using a
<br />&#35; relative path?
<br /><font style="color:red;">session = /home/mulo/torrent/session</font>
<br />&#35; Watch a directory for new torrents, and stop those that have been
<br />&#35; deleted.
font style="color:red;"><br />schedule = watch_directory,10,10,load_start=/home/mulo/watch/*.torrent
<br />schedule = tied_directory,10,10,start_tied=
<br />schedule = untied_directory,10,10,close_untied=</font>
<br />&#35; */
<br />&#35; Close torrents when diskspace is low.
font style="color:red;"><br />&#35;schedule = low_diskspace,5,60,close_low_diskspace=100M</font>
<br />&#35; Stop torrents when reaching upload ratio in percent,
<br />&#35; when also reaching total upload in bytes, or when
<br />&#35; reaching final upload ratio in percent.
<br />&#35; example: stop at ratio 2.0 with at least 200 MB uploaded, or else ratio 20.0
font style="color:red;"><br />schedule = ratio,60,60,"stop_on_ratio=250,250M,2500"</font>
<br />&#35; Move completed torrents
<br />system.method.set_key = event.download.finished,move_complete,"execute=mv,-u,$d.get_base_path=,/home/mulo/complete;d.set_directory=/home/mulo/complete"
<br />&#35; The ip address reported to the tracker.
<br />&#35;ip = 127.0.0.1
<br />&#35;ip = rakshasa.no
<br />&#35; The ip address the listening socket and outgoing connections is
<br />&#35; bound to.
<br />&#35;bind = 127.0.0.1
<br />&#35;bind = rakshasa.no
<br />&#35; Port range to use for listening.
<font style="color:red;"><br />port_range = 6881-6999</font>
<br />&#35; Start opening ports at a random position within the port range.
<br />&#35;port_random = no
<br />&#35; Check hash for finished torrents. Might be usefull until the bug is
<br />&#35; fixed that causes lack of diskspace not to be properly reported.
<br />&#35;check_hash = no
<br />check_hash = yes
<br />&#35; Set whetever the client should try to connect to UDP trackers.
<font style="color:red;"><br />use_udp_trackers = yes</font>
<br />&#35; Alternative calls to bind and ip that should handle dynamic ip's.
<br />&#35;schedule = ip_tick,0,1800,ip=rakshasa
<br />&#35;schedule = bind_tick,0,1800,bind=rakshasa


<br />&#35; Encryption options, set to none (default) or any combination of the following:
# This is an example resource file for rTorrent. Copy to
<br />&#35; allow_incoming, try_outgoing, require, require_RC4, enable_retry, prefer_plaintext
# ~/.rtorrent.rc and enable/modify the options as needed. Remember to
<br />&#35;
# uncomment the options you wish to enable.
<br />&#35; The example value allows incoming encrypted connections, starts unencrypted
<br />&#35; outgoing connections but retries with encryption if they fail, preferring
# Maximum and minimum number of peers to connect to per torrent.
<br />&#35; plaintext to RC4 encryption after the encrypted handshake
<span style="color:red">min_peers = 40
<br />&#35;
max_peers = 100</span>
<br />&#35; encryption = allow_incoming,enable_retry,prefer_plaintext
<font style="color:red;"><br />encryption = allow_incoming,try_outgoing,enable_retry</font>
# Same as above but for seeding completed torrents (-1 = same as downloading)
<span style="color:red">min_peers_seed = 5
max_peers_seed = 10</span>
# Maximum number of simultanious uploads per torrent.
<span style="color:red">max_uploads = 5</span>
# Global upload and download rate in KiB. "0" for unlimited.
<span style="color:red">download_rate = 75
upload_rate = 5</span>
# Default directory to save the downloaded torrents.
#directory = ./complete
<span style="color:red">directory = /home/mulo/torrent/</span>
# Default session directory. Make sure you don't run multiple instance
# of rtorrent using the same session directory. Perhaps using a
# relative path?
<span style="color:red">session = /home/mulo/torrent/session</span>
# Watch a directory for new torrents, and stop those that have been
# deleted.
<span style="color:red">schedule = watch_directory,10,10,load_start=/home/mulo/watch/*.torrent
schedule = tied_directory,10,10,start_tied=
schedule = untied_directory,10,10,close_untied=</span>
# */
# Close torrents when diskspace is low.
<span style="color:red">#schedule = low_diskspace,5,60,close_low_diskspace=100M</span>
# Stop torrents when reaching upload ratio in percent,
# when also reaching total upload in bytes, or when
# reaching final upload ratio in percent.
# example: stop at ratio 2.0 with at least 200 MB uploaded, or else ratio 20.0
<span style="color:red">schedule = ratio,60,60,"stop_on_ratio=250,250M,2500"</span>
# Move completed torrents
system.method.set_key = event.download.finished,move_complete,"execute=mv,-u,$d.get_base_path=,/home/mulo/complete;d.set_directory=/home/mulo/complete"
# The ip address reported to the tracker.
#ip = 127.0.0.1
#ip = rakshasa.no
# The ip address the listening socket and outgoing connections is
# bound to.
#bind = 127.0.0.1
#bind = rakshasa.no
# Port range to use for listening.
<span style="color:red">port_range = 6881-6999</span>
# Start opening ports at a random position within the port range.
#port_random = no
# Check hash for finished torrents. Might be usefull until the bug is
# fixed that causes lack of diskspace not to be properly reported.
#check_hash = no
check_hash = yes
# Set whetever the client should try to connect to UDP trackers.
<span style="color:red">use_udp_trackers = yes</span>
# Alternative calls to bind and ip that should handle dynamic ip's.
#schedule = ip_tick,0,1800,ip=rakshasa
#schedule = bind_tick,0,1800,bind=rakshasa
# Encryption options, set to none (default) or any combination of the following:
# allow_incoming, try_outgoing, require, require_RC4, enable_retry, prefer_plaintext
#
# The example value allows incoming encrypted connections, starts unencrypted
# outgoing connections but retries with encryption if they fail, preferring
# plaintext to RC4 encryption after the encrypted handshake
#
# encryption = allow_incoming,enable_retry,prefer_plaintext
<span style="color:red">encryption = allow_incoming,try_outgoing,enable_retry</span>
# Enable DHT support for trackerless torrents or when all trackers are down.
# May be set to "disable" (completely disable DHT), "off" (do not start DHT),
# "auto" (start and stop DHT as needed), or "on" (start DHT immediately).
# The default is "off". For DHT to work, a session directory must be defined.
#
<span style="color:red">dht = auto</span>
# UDP port to use for DHT.
#
dht_port = 6881
# Enable peer exchange (for torrents not marked private)
#
peer_exchange = yes
#
# Do not modify the following parameters unless you know what you're doing.
#
# Hash read-ahead controls how many MB to request the kernel to read
# ahead. If the value is too low the disk may not be fully utilized,
# while if too high the kernel might not be able to keep the read
# pages in memory thus end up trashing.
#hash_read_ahead = 10
# Interval between attempts to check the hash, in milliseconds.
#hash_interval = 100
# Number of attempts to check the hash while using the mincore status,
# before forcing. Overworked systems might need lower values to get a
# decent hash checking rate.
#hash_max_tries = 10
# This will set rtorrent/scgi to listen on localhost, port 5000
scgi_port = localhost:5000
# Force rtorrent to use the UTF-8 encoding. The XMLRPC standard requires UTF-8 replies
encoding_list=UTF-8


<br />&#35; Enable DHT support for trackerless torrents or when all trackers are down.
<br />&#35; May be set to "disable" (completely disable DHT), "off" (do not start DHT),
<br />&#35; "auto" (start and stop DHT as needed), or "on" (start DHT immediately).
<br />&#35; The default is "off". For DHT to work, a session directory must be defined.
<br />&#35;
<font style="color:red;"><br />dht = auto</font>


<br />&#35; UDP port to use for DHT.
La maggior parte di queste opzioni sono esplicite, altre un po' ermetiche; è possibile consultare il [http://libtorrent.rakshasa.no/rtorrent/rtorrent.1.html manuale] per avere maggiori informazioni.<br/>
<br />&#35;
<br />dht_port = 6881
 
<br />&#35; Enable peer exchange (for torrents not marked private)
<br />&#35;
<br />peer_exchange = yes
 
<br />&#35;
<br />&#35; Do not modify the following parameters unless you know what you're doing.
<br />&#35;
 
<br />&#35; Hash read-ahead controls how many MB to request the kernel to read
<br />&#35; ahead. If the value is too low the disk may not be fully utilized,
<br />&#35; while if too high the kernel might not be able to keep the read
<br />&#35; pages in memory thus end up trashing.
<br />&#35;hash_read_ahead = 10
 
<br />&#35; Interval between attempts to check the hash, in milliseconds.
<br />&#35;hash_interval = 100
 
<br />&#35; Number of attempts to check the hash while using the mincore status,
<br />&#35; before forcing. Overworked systems might need lower values to get a
<br />&#35; decent hash checking rate.
<br />&#35;hash_max_tries = 10
 
<br />&#35; This will set rtorrent/scgi to listen on localhost, port 5000
<br />scgi_port = localhost:5000
<br />&#35; Force rtorrent to use the UTF-8 encoding. The XMLRPC standard requires UTF-8 replies
<br />encoding_list=UTF-8
<br /></div>
 
La maggior parte di queste opzioni sono esplicite, altre un po' ermetiche; è possibile consultare il [http://libtorrent.rakshasa.no/rtorrent/rtorrent.1.html manuale] per avere maggiori informazioni.
Inoltre a questa [http://libtorrent.rakshasa.no/wiki/RTorrentCommonTasks pagina] è possibile avere informazioni avanzate in merito ai possibili comandi utilizzabili.
Inoltre a questa [http://libtorrent.rakshasa.no/wiki/RTorrentCommonTasks pagina] è possibile avere informazioni avanzate in merito ai possibili comandi utilizzabili.


=====rtgui=====
=====rtgui=====
Infine impostiamo alcuni parametri della webGui. Del file ''/etc/rtgui/config.php'' è sufficiente modificare i seguenti sulla base delle proprie impostazioni appena assegnate:
Infine impostiamo alcuni parametri della webGui. Del file ''/etc/rtgui/config.php'' è sufficiente modificare i seguenti sulla base delle proprie impostazioni appena assegnate:
<pre>$watchdir="/home/mulo/torrent/watch/";
<pre>
$downloaddir="/home/mulo/torrent";</pre>
$watchdir="/home/mulo/torrent/watch/";
$downloaddir="/home/mulo/torrent";
</pre>


===Script di avvio===
===Script di avvio===
''Rtorrent'' dovrà partire all'avvio del ''server''; dobbiamo, dunque, "demonizzarlo" creando il file <tt>/etc/init.d/rtorrent</tt>:
''Rtorrent'' dovrà partire all'avvio del ''server''; dobbiamo, dunque, "demonizzarlo" creando il file <code>/etc/init.d/rtorrent</code>:
<pre style="overflow:auto;max-height:300px">
<pre>
#!/bin/sh
#!/bin/sh
### BEGIN INIT INFO
### BEGIN INIT INFO
Riga 335: Riga 343:
</pre>
</pre>


Per testare che tutto funzioni proviamo ad avviare il demone:
Per testare che tutto funzioni proviamo ad avviare il [[demone]]:


<pre>/etc/init.d/rtorrent start</pre>
<pre># /etc/init.d/rtorrent start</pre>


e a collegarci all'interfaccia grafica all'URL ''http://<IpAddressMulo>/rtgui''
e a collegarci all'interfaccia grafica all'URL ''<nowiki>http://<IpAddressMulo>/rtgui</nowiki>''


===Specifiche===
===Specifiche===
*Porte da aprire ** 6881-6999 (tcp)** 6881 (udp)*Limiti banda** download    75 KiB** upload    5 KiB*Connessione tramite webUI all'indirizzo http://<IpAddressMulo>/rtgui[[Immagine:rtgui.jpg]]
*Porte da aprire
** 6881-6999 (TCP)
** 6881 (UDP)
* Limiti banda
** download    75 KiB
** upload    5 KiB
* Connessione tramite webUI all'indirizzo ''<nowiki>http://<IpAddressMulo>/rtgui</nowiki>''
 
[[Immagine:rtgui.jpg|center]]
 
===Conclusioni===
===Conclusioni===
Le maggiori implicazioni riguardo la '''sicurezza''' sono in merito all'accesso all'interfaccia di controllo. Si consiglia pertanto di rendere accessibile la stessa esclusivamente all'interno della propria lan o tutt'al più proteggere la pagina di controllo con una password. Inoltre non sarebbe male anche l'idea di utilizzare un buon filtro IP come blockcontrol.Infine si ricorda che per quanto concerne l'uso di rtorrent è pur sempre possibile, oltre alla comoda interfaccia web appena illustrata, utilizzare il programma via '''ssh''' per poi accedere alla sessione di screen dove è in esecuzione rtorrent.
Le maggiori implicazioni riguardo alla '''sicurezza''' sono in merito all'accesso all'interfaccia di controllo. Si consiglia pertanto di rendere accessibile la stessa esclusivamente all'interno della propria LAN o tutt'al più proteggere la pagina di controllo con una password. Inoltre non sarebbe male anche l'idea di utilizzare un buon filtro IP come blockcontrol. Infine si ricorda che per quanto concerne l'uso di rtorrent è pur sempre possibile, oltre alla comoda interfaccia web appena illustrata, utilizzare il programma via '''ssh''' per poi accedere alla sessione di screen dove è in esecuzione rtorrent.


==''Amule''==
==''Amule''==
Adesso occupiamoci di installare ''Amuled'' per accedere alle reti ''eD2k'' e ''Kademlia''. Utilizzando la versione daemon avremo il vantaggio di poter fare a meno dell'ambiente grafico sul server. Per quanto riguarda l'accesso sarà invece possibile adottare, come per rtorrent, una interfaccia web (si avrà quindi il vantaggio di un accesso universale senza l'installazione di software aggiuntivo, oppure utilizzare il programma amulegui, il quale permette di accedere ad una interfaccia avanzata e molto più funzionale. A voi la scelta!
Adesso occupiamoci di installare ''Amuled'' per accedere alle reti ''eD2k'' e ''Kademlia''. Utilizzando la versione daemon avremo il vantaggio di poter fare a meno dell'ambiente grafico sul server. Per quanto riguarda l'accesso sarà invece possibile adottare, come per rtorrent, una interfaccia web (si avrà quindi il vantaggio di un accesso universale senza l'installazione di software aggiuntivo, oppure utilizzare il programma <code>amulegui</code>, il quale permette di accedere ad una interfaccia avanzata e molto più funzionale. A voi la scelta!
===Installazione===
===Installazione===
Installiamo il pacchetto ''amule-daemon'', il quale comprende oltre al demone anche il modulo ''Amuleweb'' che permette la connessione tramite ''webUI'' al server di ''Amule''.<pre># aptitude install amule-daemon</pre>
Installiamo il pacchetto ''amule-daemon'', il quale comprende oltre al demone anche il modulo ''Amuleweb'' che permette la connessione tramite ''webUI'' al server di ''Amule'':
<pre># aptitude install amule-daemon</pre>
===Configurazione===
===Configurazione===
Dovremo configurare per prima cosa il demone di ''Amule'', quindi potremo scegliere se configurare anche la WebGUI (''AmuleWEB''), la GUI ''Amule-GUI'' o entrambi.
Dovremo configurare per prima cosa il demone di ''Amule'', quindi potremo scegliere se configurare anche la WebGUI (''AmuleWEB''), la GUI ''Amule-GUI'' o entrambi.
====Avvio autoconfigurazione====
====Avvio autoconfigurazione====
Per configurare opportunamente il demone è possibile far sì che sia ''amule'' stesso a creare il file di configurazione di default nonché le cartelle necessarie. Infatti se avviamo da shell il demone, come da esempio:<pre>$ amuled</pre>verrà restituito errore ma sarà anche creata la ''directory'' <tt>.aMule/</tt> con tutti i vari file di configurazione che quindi potremo ora modificare a nostro gradimento.Tra questi saranno presenti anche le principali directory utilizzate da aMule per il download:* ~/.aMule/''tmp'': cartella dei file temporanei* ~/.aMule/''incoming'': cartella file scaricati e condivisi. Tutto quello che sta dentro questa cartella può essere scaricato dagli altri ''peer''.
Per configurare opportunamente il demone è possibile far sì che sia ''amule'' stesso a creare il file di configurazione di default nonché le cartelle necessarie. Infatti se avviamo da shell il demone, come da esempio:
<pre>$ amuled</pre>
verrà restituito errore ma sarà anche creata la ''directory'' <code>.aMule/</code> con tutti i vari file di configurazione che quindi potremo ora modificare a nostro gradimento.Tra questi saranno presenti anche le principali directory utilizzate da aMule per il download:
* ~/.aMule/''tmp'': cartella dei file temporanei
* ~/.aMule/''incoming'': cartella file scaricati e condivisi. Tutto quello che sta dentro questa cartella può essere scaricato dagli altri ''peer''.
====Personalizzazione delle opzioni di configurazione====
====Personalizzazione delle opzioni di configurazione====
A questo punto possiamo ora aprire con un editor di testo il file <tt>.aMule/amule.conf</tt> e modificare il valore dei parametri di default (per approfondire si consiglia il wiki di [http://wiki.amule.org/index.php/Main_Page ''amuled''] oppure del wiki [http://wiki.debian.org/aMule di debian.org]; [http://www.linksysinfo.org/forums/showthread.php?p=367263 qui] invece per maggiori dettagli). Ovviamente per avere fin da subito una configurazione completa e funzionante senza scendere nei dettagli, potrete utilizzare il file come di seguito riportato (con i commenti ''###'' sono evidenziate lo opzioni modificate):<pre>[eMule]AppVersion=2.2.6Nick=http://www.aMule.orgQueueSizePref=50### limita il carico del server in uploadMaxUpload=15###limita il carico del server in downloadMaxDownload=75###quota banda che ciascun peer ciucciaSlotAllocation=5Port=4662UDPPort=4672UDPDisable=0Address=Autoconnect=1### limitare per ridurre carico al NAT del routerMaxSourcesPerFile=100### limitare per ridurre carico al NAT del routerMaxConnections=200MaxConnectionsPerFiveSeconds=20RemoveDeadServer=1DeadServerRetry=3ServerKeepAliveTimeout=0Reconnect=1Scoresystem=1### Serverlist=0 auto update the server list from the supplied urlServerlist=1### AddServerListFromServer=0AddServerListFromServer=1AddServerListFromClient=0SafeServerConnect=0AutoConnectStaticOnly=0UPnPEnabled=0UPnPTCPPort=50000SmartIdCheck=1ConnectToKad=1ConnectToED2K=1TempDir=/home/mulo/.aMule/TempIncomingDir=/home/mulo/.aMule/IncomingICH=1AICHTrust=0CheckDiskspace=1MinFreeDiskSpace=1AddNewFilesPaused=0PreviewPrio=0ManualHighPrio=0FullChunkTransfers=1StartNextFile=0StartNextFileSameCat=0FileBufferSizePref=16DAPPref=1UAPPref=1AllocateFullFile=0OSDirectory=/home/mulo/.aMule/OnlineSignature=0OnlineSignatureUpdate=5EnableTrayIcon=0MinToTray=0ConfirmExit=1StartupMinimized=03DDepth=10ToolTipDelay=1ShowOverhead=0ShowInfoOnCatTabs=1ShowRatesOnTitle=0VerticalToolbar=0ShowPartFileNumber=0VideoPlayer=VideoPreviewBackupped=1StatGraphsInterval=3statsInterval=30### limita banda occupata in downloadDownloadCapacity=100### limita banda occupata in uploadUploadCapacity=20StatsAverageMinutes=5VariousStatisticsMaxValue=100SeeShare=2FilterLanIPs=1ParanoidFiltering=1IPFilterAutoLoad=1IPFilterURL=FilterLevel=127IPFilterSystem=0FilterMessages=1FilterAllMessages=0MessagesFromFriendsOnly=0MessageFromValidSourcesOnly=1FilterWordMessages=0MessageFilter=FilterComments=0CommentFilter=ShareHiddenFiles=0AutoSortDownloads=0NewVersionCheck=1Language=SplitterbarPosition=75YourHostname=DateTimeFormat=%A, %x, %XAllcatType=0ShowAllNotCats=0SmartIdState=0DropSlowSources=0KadNodesUrl=http://emule-inside.net/nodes.datEd2kServersUrl=http://gruk.org/server.met.gz[Browser]DefaultBrowser=0OpenPageInTab=1CustomBrowserString=[Proxy]ProxyEnableProxy=0ProxyType=0ProxyName=ProxyPort=1080ProxyEnablePassword=0ProxyUser=ProxyPassword=[ExternalConnect]UseSrcSeeds=0### Abilita l'uso delle interfacce web e GUIAcceptExternalConnections=1ECAddress=ECPort=4712ECPassword=637b9adadf7acce5c70e5d327a725b13UPnPECEnabled=0ShowProgressBar=1ShowPercent=1UseSecIdent=1IpFilterClients=1IpFilterServers=1[WebServer]#Enabled=0Enabled=1Password=637b9adadf7acce5c70e5d327a725b13PasswordLow=Port=4711WebUPnPTCPPort=50001UPnPWebServerEnabled=0UseGzip=1UseLowRightsUser=0PageRefreshTime=120Template=[Razor_Preferences]FastED2KLinksHandler=1[SkinGUIOptions]UseSkinFiles=0Skin=[Statistics]MaxClientVersions=0TotalDownloadedBytes=0TotalUploadedBytes=34633[Obfuscation]IsClientCryptLayerSupported=1IsCryptLayerRequested=1IsClientCryptLayerRequired=0CryptoPaddingLenght=254CryptoKadUDPKey=271264387[UserEvents][UserEvents/DownloadCompleted]CoreEnabled=0CoreCommand=GUIEnabled=0GUICommand=[UserEvents/NewChatSession]CoreEnabled=0CoreCommand=GUIEnabled=0GUICommand=[UserEvents/OutOfDiskSpace]CoreEnabled=0CoreCommand=GUIEnabled=0GUICommand=[UserEvents/ErrorOnCompletion]CoreEnabled=0CoreCommand=GUIEnabled=0GUICommand=</pre>L'esempio appena proposto permette sia l'accesso tramite la webGUI, sia tramite la GUI grafica. L'abilitazione di questi è configurata tramite l'istanza ''[ExternalConnect]'' e ''[WebServer]''. La spiegazione in dettaglio è fornita nei paragrafi successivi.A questo punto non rimane che da modificare con un editor di testo il file ''/etc/default/amule-daemon'' definendo lo user con il quale verrà eseguito ''amuled'', ossia modificando il seguente parametro:<pre>AMULED_USER="mulo"</pre>
A questo punto possiamo ora aprire con un editor di testo il file <code>.aMule/amule.conf</code> e modificare il valore dei parametri di default (per approfondire si consiglia il wiki di [http://wiki.amule.org/index.php/Main_Page ''amuled''] oppure del wiki [http://wiki.debian.org/aMule di debian.org]; [http://www.linksysinfo.org/forums/showthread.php?p=367263 qui] invece per maggiori dettagli). Ovviamente per avere fin da subito una configurazione completa e funzionante senza scendere nei dettagli, potrete utilizzare il file come di seguito riportato (con i commenti ''###'' sono evidenziate lo opzioni modificate):
<pre>
[eMule]
AppVersion=2.2.6
Nick=http://www.aMule.org
QueueSizePref=50
### limita il carico del server in upload
MaxUpload=15
###limita il carico del server in download
MaxDownload=75
###quota banda che ciascun peer ciuccia
SlotAllocation=5
Port=4662
UDPPort=4672
UDPDisable=0
Address=
Autoconnect=1
### limitare per ridurre carico al NAT del router
MaxSourcesPerFile=100
### limitare per ridurre carico al NAT del router
MaxConnections=200
MaxConnectionsPerFiveSeconds=20
RemoveDeadServer=1
DeadServerRetry=3
ServerKeepAliveTimeout=0
Reconnect=1
Scoresystem=1
### Serverlist=0 auto update the server list from the supplied url
Serverlist=1
### AddServerListFromServer=0
AddServerListFromServer=1
AddServerListFromClient=0
SafeServerConnect=0
AutoConnectStaticOnly=0
UPnPEnabled=0
UPnPTCPPort=50000
SmartIdCheck=1
ConnectToKad=1
ConnectToED2K=1
TempDir=/home/mulo/.aMule/Temp
IncomingDir=/home/mulo/.aMule/Incoming
ICH=1
AICHTrust=0
CheckDiskspace=1
MinFreeDiskSpace=1
AddNewFilesPaused=0
PreviewPrio=0
ManualHighPrio=0
FullChunkTransfers=1
StartNextFile=0
StartNextFileSameCat=0
FileBufferSizePref=16
DAPPref=1
UAPPref=1
AllocateFullFile=0
OSDirectory=/home/mulo/.aMule/
OnlineSignature=0
OnlineSignatureUpdate=5
EnableTrayIcon=0
MinToTray=0
ConfirmExit=1
StartupMinimized=0
3DDepth=10
ToolTipDelay=1
ShowOverhead=0
ShowInfoOnCatTabs=1
ShowRatesOnTitle=0
VerticalToolbar=0
ShowPartFileNumber=0
VideoPlayer=
VideoPreviewBackupped=1
StatGraphsInterval=3
statsInterval=30
### limita banda occupata in download
DownloadCapacity=100
### limita banda occupata in upload
UploadCapacity=20
StatsAverageMinutes=5
VariousStatisticsMaxValue=100
SeeShare=2
FilterLanIPs=1
ParanoidFiltering=1
IPFilterAutoLoad=1
IPFilterURL=
FilterLevel=127
IPFilterSystem=0
FilterMessages=1
FilterAllMessages=0
MessagesFromFriendsOnly=0
MessageFromValidSourcesOnly=1
FilterWordMessages=0
MessageFilter=
FilterComments=0
CommentFilter=
ShareHiddenFiles=0
AutoSortDownloads=0
NewVersionCheck=1
Language=
SplitterbarPosition=75
YourHostname=
DateTimeFormat=%A, %x, %X
AllcatType=0
ShowAllNotCats=0
SmartIdState=0
DropSlowSources=0
KadNodesUrl=http://emule-inside.net/nodes.dat
Ed2kServersUrl=http://gruk.org/server.met.gz
[Browser]
DefaultBrowser=0
OpenPageInTab=1
CustomBrowserString=
[Proxy]
ProxyEnableProxy=0
ProxyType=0
ProxyName=
ProxyPort=1080
ProxyEnablePassword=0
ProxyUser=
ProxyPassword=
[ExternalConnect]
UseSrcSeeds=0
### Abilita l'uso delle interfacce web e GUI
AcceptExternalConnections=1
ECAddress=
ECPort=4712
ECPassword=637b9adadf7acce5c70e5d327a725b13
UPnPECEnabled=0
ShowProgressBar=1
ShowPercent=1
UseSecIdent=1
IpFilterClients=1
IpFilterServers=1
[WebServer]
#Enabled=0
Enabled=1
Password=637b9adadf7acce5c70e5d327a725b13
PasswordLow=
Port=4711
WebUPnPTCPPort=50001
UPnPWebServerEnabled=0
UseGzip=1
UseLowRightsUser=0
PageRefreshTime=120
Template=
[Razor_Preferences]
FastED2KLinksHandler=1
[SkinGUIOptions]
UseSkinFiles=0
Skin=
[Statistics]
MaxClientVersions=0
TotalDownloadedBytes=0
TotalUploadedBytes=34633
[Obfuscation]
IsClientCryptLayerSupported=1
IsCryptLayerRequested=1
IsClientCryptLayerRequired=0
CryptoPaddingLenght=254
CryptoKadUDPKey=271264387
[UserEvents]
[UserEvents/DownloadCompleted]
CoreEnabled=0
CoreCommand=
GUIEnabled=0
GUICommand=
[UserEvents/NewChatSession]
CoreEnabled=0
CoreCommand=
GUIEnabled=0
GUICommand=
[UserEvents/OutOfDiskSpace]
CoreEnabled=0
CoreCommand=
GUIEnabled=0
GUICommand=
[UserEvents/ErrorOnCompletion]
CoreEnabled=0
CoreCommand=
GUIEnabled=0
GUICommand=
</pre>
L'esempio appena proposto permette sia l'accesso tramite la webGUI, sia tramite la GUI grafica. L'abilitazione di questi è configurata tramite l'istanza ''[ExternalConnect]'' e ''[WebServer]''. La spiegazione in dettaglio è fornita nei paragrafi successivi. A questo punto non rimane che modificare con un editor di testo il file ''/etc/default/amule-daemon'' definendo lo user con il quale verrà eseguito ''amuled'', ossia modificando il seguente parametro:<pre>AMULED_USER="mulo"</pre>
 
====Avvio di Amuled====
====Avvio di Amuled====
Ora sarà possibile avviare il demone:<pre>#/etc/init.d/amule-daemon start</pre>Si osserva che, per poter eseguire ''amuled'' (ossia il demone di amule), è necessario - come già modificato nel file di esempio precedente - abilitare la modalità di connessione remota del client. In dettaglio è necessario indicare al demone di accettare le connessioni esterne del client (''AcceptExternalConnections=1'') e di indicare l'hash della password di autenticazione alla connessione (''ECPassword=637b9adadf7acce5c70e5d327a725b13''). L'hash della password può essere ottenuta utilizzando il seguente comando (e inserendo la chiave desiderata al posto di ''yourpassword''):<pre>echo -n yourpassword | md5sum | cut -d ' ' -f 1637b9adadf7acce5c70e5d327a725b13</pre>
Ora sarà possibile avviare il demone:
<pre># /etc/init.d/amule-daemon start</pre>
Si osserva che, per poter eseguire ''amuled'' (ossia il demone di amule), è necessario - come già modificato nel file di esempio precedente - abilitare la modalità di connessione remota del client. In dettaglio è necessario indicare al demone di accettare le connessioni esterne del client (''AcceptExternalConnections=1'') e di indicare l'hash della password di autenticazione alla connessione (''ECPassword=637b9adadf7acce5c70e5d327a725b13''). L'hash della password può essere ottenuta utilizzando il seguente comando (e inserendo la chiave desiderata al posto di ''yourpassword''):
<pre>echo -n yourpassword | md5sum | cut -d ' ' -f 1637b9adadf7acce5c70e5d327a725b13</pre>
 
====Aggiungere liste server====
====Aggiungere liste server====
Aggiungiamo quindi le liste dei ''server eDonkey'':<pre>$ echo "http://www.gruk.org/server.met.gz" > ~/.aMule/addresses.dat$ echo "http://www.peerates.net/servers.php" >> ~/.aMule/addresses.dat</pre>Per la rete ''Kad'' scarichiamo una lista ulteriore prelevandola da http://www.nodes-dat.com/:<pre>$ cd  /home/mulo/.aMule$ mv nodes.dat node.dat.bak$ wget http://www.alldivx.de/nodes/nodes.dat</pre>
Aggiungiamo quindi le liste dei ''server eDonkey'':
<pre>
$ echo "http://www.gruk.org/server.met.gz" > ~/.aMule/addresses.dat
$ echo "http://www.peerates.net/servers.php" >> ~/.aMule/addresses.dat
</pre>
Per la rete ''Kad'' scarichiamo una lista ulteriore prelevandola da http://www.nodes-dat.com/:
<pre>
$ cd  /home/mulo/.aMule
$ mv nodes.dat node.dat.bak
$ wget http://www.alldivx.de/nodes/nodes.dat
</pre>
 
====AmuleWEB====
====AmuleWEB====
''Amuleweb'' è l'interfaccia web che permette di gestire da remoto Amule. Seppure non sia comoda come la GUI grafica fornita da ''amule-utils-gui'', offre il grande vantaggio di essere accessibile a qualsiasi computer tramite web browser. Per attivarla è sufficiente modificare i parametri di ''~/.aMule/amule.conf'' sotto la stanza ''[WebServer]''. Per un esempio di configurazione guardate il file precedentemente postato sotto la configurazione di ''amuled''.Tra i parametri, molto intuitivi, si consiglia di prestare attenzione alla variabile ''Password'' che deve essere uguale a quella indicata nella stanza ''[ExternalConnect]'' al parametro ''ECPassword''.Invece sotto l'opzione ''PasswordLow='' è possibile indicare una password alternativa per chi utilizza la WebGUI.Infine, per il debug, si segnala che a volte potrebbe essere comodo avviare l'interfaccia web non tramite il demone e i parametri impostati nel file ''amule.conf'' ma tramite il comando <tt>amuleweb</tt>.
''Amuleweb'' è l'interfaccia web che permette di gestire da remoto Amule. Seppure non sia comoda come la GUI grafica fornita da ''amule-utils-gui'', offre il grande vantaggio di essere accessibile a qualsiasi computer tramite web browser. Per attivarla è sufficiente modificare i parametri di ''~/.aMule/amule.conf'' sotto la stanza ''[WebServer]''. Per un esempio di configurazione guardate il file precedentemente postato sotto la configurazione di ''amuled''. Tra i parametri, molto intuitivi, si consiglia di prestare attenzione alla variabile ''Password'' che deve essere uguale a quella indicata nella stanza ''[ExternalConnect]'' al parametro ''ECPassword''. Invece sotto l'opzione ''PasswordLow='' è possibile indicare una password alternativa per chi utilizza la WebGUI. Infine, per il debug, si segnala che a volte potrebbe essere comodo avviare l'interfaccia web non tramite il demone e i parametri impostati nel file ''amule.conf'' ma tramite il comando <code>amuleweb</code>.
====AmuleGUI====
====AmuleGUI====
Per avere la comodissima ''gui'' remota (in tutto e per tutto uguale a quella di default del programma Amule) è necessario installare sulla macchina client dalla quale si vuole controllare il demone il seguente pacchetto:<pre>aptitude install amule-utils-gui</pre>A questo punto, se non avete modificato le impostazioni di default (o utilizzate quelle da me riportate) potrete connettervi al demone Amule se, lanciato sul client il programma ''amulegui'', indicate l'IP (oppure l'URL) del server e la password corrispondente all'hash inserito nel file di configurazione di amule (ad esempio nel file di configurazione da me indicato come ''yourpassword'').Adesso avrete a disposizione la ben nota interfaccia grafica!{{Box | Nota |per poter avviare ''amuled'' è necessario in ogni caso configurare l'accesso remoto. Se non abilitato, il demone non potrà essere avviato né potrà essere possibile utilizzare l'interfaccia web di amministrazione.}}La sezione per configurare l'accesso remoto è presente in ''~/.aMule/amule.conf'' sotto la stanza ''[ExternalConnect]''.
Per avere la comodissima ''gui'' remota (in tutto e per tutto uguale a quella di default del programma Amule) è necessario installare sulla macchina client dalla quale si vuole controllare il demone il seguente pacchetto:
<pre># aptitude install amule-utils-gui</pre>
A questo punto, se non avete modificato le impostazioni di default (o utilizzate quelle da me riportate) potrete connettervi al demone Amule se, lanciato sul client il programma ''amulegui'', indicate l'IP (oppure l'URL) del server e la password corrispondente all'hash inserito nel file di configurazione di amule (ad esempio nel file di configurazione da me indicato come ''yourpassword''). Adesso avrete a disposizione la ben nota interfaccia grafica!
{{Box | Nota |per poter avviare ''amuled'' è necessario in ogni caso configurare l'accesso remoto. Se non abilitato, il demone non potrà essere avviato né potrà essere possibile utilizzare l'interfaccia web di amministrazione.}}
La sezione per configurare l'accesso remoto è presente in ''~/.aMule/amule.conf'' sotto la stanza ''[ExternalConnect]''.
===Specifiche===
===Specifiche===
* Porte da aprire (trattasi delle porte di default, è possibile cambiarle)*# in ingresso:*#* 4662 tpc: trasferimento client to client*#* 4665 udp: per ricerche su server e ricerche globali*#* 4672 udp: gestione code e protocollo eMule*# in uscita:*#* 4661 tcp: porta su cui i server ascoltano per connessioni*#* 4662 tcp: trasferimento client to client*#* 4665 udp: per ricerche su server e ricerche globali*#* 4672 udp: gestione code e protocollo eMule*Limiti banda** download 75 KiB ** upload 10 KiB* Connessione tramite webUI all'indirizzo http://<IpAddressMulo>:4711* Connessione tramite GUI alla porta 4712 (è sufficiente installare ''amule-utils-gui'' sul computer client)[[Immagine:Amuleweb.jpg]]{{Box | Nota |La ricerca di un file con rtgui può richiedere un po' di tempo, motivo per cui si può presentare la necessità di dover aggiornare la pagina con i risultati della ricerca; a tal fine è presente sulla parte destra della pagina un apposito comando. È possibile inoltre impostare il refresh automatico delle pagine tramite le opzioni di rtgui.}}
* Porte da aprire (trattasi delle porte di default, è possibile cambiarle)
*# in ingresso:
*#* 4662 tpc: trasferimento client to client
*#* 4665 udp: per ricerche su server e ricerche globali
*#* 4672 udp: gestione code e protocollo eMule
*# in uscita:
*#* 4661 tcp: porta su cui i server ascoltano per connessioni
*#* 4662 tcp: trasferimento client to client
*#* 4665 udp: per ricerche su server e ricerche globali
*#* 4672 udp: gestione code e protocollo eMule
*Limiti banda
** download 75 KiB  
** upload 10 KiB
* Connessione tramite webUI all'indirizzo ''<nowiki>http://<IpAddressMulo>:4711</nowiki>''
* Connessione tramite GUI alla porta 4712 (è sufficiente installare ''amule-utils-gui'' sul computer client)
 
[[Immagine:Amuleweb.jpg|center]]
 
 
{{Box | Nota |La ricerca di un file con rtgui può richiedere un po' di tempo, motivo per cui si può presentare la necessità di dover aggiornare la pagina con i risultati della ricerca; a tal fine è presente sulla parte destra della pagina un apposito comando. È possibile inoltre impostare il refresh automatico delle pagine tramite le opzioni di rtgui.}}
 
===Conclusioni===
===Conclusioni===
Anche in questo caso valgono le considerazioni sulla '''sicurezza''' già esposte per rtorrent, ovvero sarebbe opportuno proteggere l'accesso allo strumento di controllo di amule tramite password o mantenerlo accessibile soltanto all'interno della propria LAN.Inoltre, anche per amuled, è possibile controllare il demone tramite '''ssh''' utilizzando il comando amulecmd.==Condivisione file==Oltre a scaricare il file è necessario rendere lo stesso comodamente accessibile da tutti i client della LAN. Tra le possibili soluzioni ho optato per samba vista la sua semplicità ed universalità con tutti gli OS.Procediamo installando il ''server samba'':<pre># aptitude install samba # mv /etc/samba/smb.conf  /etc/samba/smb.conf.bak</pre>Per configurare ''samba'' creiamo il file <tt>/etc/samba/smb.conf</tt><pre>[global]server string = MULOworkgroup=workgroupsecurity=shareguest account = nobodymap to guest = bad user[mulo]comment = Mulopath = /home/muloread only = Noguest ok = Yesguest only = yesbrowseable = Yespublic = yeswritable = yes</pre>Tutti gli utenti della rete domestica potranno così accedere con diritti di lettura/scrittura, senza doversi autenticare; il server condivide l'intera ''home'' dell'utente mulo, nella quale si troveranno le ''directory'' con i file scaricati.==Accesso remoto==Possiamo eseguire il ''login'' nel ''server'' da ogni computer appartenente alla rete domestica tramite ''ssh'':<pre># aptitude install ssh</pre>Generiamo, quindi, la coppia di chiavi per l'utente mulo.<pre>$ ssh-keygen -t rsa$ cp /home/mulo/.ssh/id_rsa.pub /home/mulo/.ssh/autorized_key</pre>Useremo l'autenticazione ''Host-based'', per la quale non verrà richiesta una chiave.<pre># echo "HostbasedAuthentication yes" >> /etc/ssh/ssh_config</pre>Ci connetteremo al ''server'' con:<pre>$ ssh mulo@<IpAddressMulo>password: YourPassword</pre>
Anche in questo caso valgono le considerazioni sulla '''sicurezza''' già esposte per rtorrent, ovvero sarebbe opportuno proteggere l'accesso allo strumento di controllo di amule tramite password o mantenerlo accessibile soltanto all'interno della propria LAN. Inoltre, anche per amuled, è possibile controllare il demone tramite '''ssh''' utilizzando il comando <code>amulecmd</code>.
 
==Condivisione file==
Oltre a scaricare il file è necessario rendere lo stesso comodamente accessibile da tutti i client della LAN. Tra le possibili soluzioni ho optato per [[samba]] vista la sua semplicità ed universalità con tutti gli OS. Procediamo installando il ''server samba'':
<pre>
# aptitude install samba
# mv /etc/samba/smb.conf  /etc/samba/smb.conf.bak
</pre>
Per configurare ''samba'' creiamo il file <code>/etc/samba/smb.conf</code>
 
<pre>
[global]
server string = MULO
workgroup=workgroup
security=shareguest
account = nobody
map to guest = bad user
[mulo]
comment = Mulo
path = /home/mulo/torrent
read only = No
guest ok = Yes
guest only = yes
browseable = Yes
public = yes
writable = yes
</pre>
Tutti gli utenti della rete domestica potranno così accedere con diritti di lettura/scrittura, senza doversi autenticare; il server condivide l'intera ''home'' dell'utente mulo, nella quale si troveranno le ''directory'' con i file scaricati.
 
==Accesso remoto==
Possiamo eseguire il ''login'' nel ''server'' da ogni computer appartenente alla rete domestica tramite ''ssh'':
<pre>
# aptitude install ssh
</pre>
 
Generiamo, quindi, la coppia di chiavi per l'utente mulo.
<pre>
$ ssh-keygen -t rsa
$ cp /home/mulo/.ssh/id_rsa.pub /home/mulo/.ssh/autorized_key
</pre>
Useremo l'autenticazione ''Host-based'', per la quale non verrà richiesta una chiave.
 
<pre>
# echo "HostbasedAuthentication yes" >> /etc/ssh/ssh_config
</pre>
 
Ci connetteremo al ''server'' con:
<pre>
$ ssh mulo@<IpAddressMulo>
password: YourPassword
</pre>
 
==Conclusioni==
==Conclusioni==
Installiamo alcuni programmi d'utilità come ''iptraf'' e ''yacpi'' per il monitoraggio del traffico e delle temperature:<pre># aptitude install htop mc iptraf yacpi elinks deborphan</pre>Possiamo rimuovere software/librerie/documentazioni inutili:<pre># aptitude purge doc-linux-it doc-linux-it-text debian-reference-en \debian-reference-it maint-guide-it fortunes-it exim4 exim4-daemon-light postfix# apt-get autoremove --purge $(deborphan --libdevel)# aptitude update# aptitude -f install# aptitude clean</pre>Analogamente, in base alle nostre necessità, possiamo rimuovere altri programmi e documenti per ottenere un sistema che occupi il minimo spazio.'''Caratteristiche del server'''* Ram < 30 MB (carico minimo)* Dimensione ~ 550 MB
Installiamo alcuni programmi d'utilità come ''iptraf'' e ''yacpi'' per il monitoraggio del traffico e delle temperature:
<pre># aptitude install htop mc iptraf yacpi elinks deborphan</pre>
Possiamo rimuovere software/librerie/documentazioni inutili:
<pre>
# aptitude purge doc-linux-it doc-linux-it-text debian-reference-en debian-reference-it maint-guide-it fortunes-it exim4 exim4-daemon-light postfix
# apt-get autoremove --purge $(deborphan --libdevel)
# aptitude update
# aptitude -f install
# aptitude clean
</pre>
Analogamente, in base alle nostre necessità, possiamo rimuovere altri programmi e documenti per ottenere un sistema che occupi il minimo spazio.<br/>
'''Caratteristiche del server'''
* Ram < 30 MB (carico minimo)
* Dimensione ~ 550 MB
 
==Ringraziamenti==
==Ringraziamenti==
Il primo ringraziamento è da parte di Risca nei confronti di Fr4nc3sco per avere impostato questa guida con ricchi suggerimenti sul come procedere. Infatti da parte mia il lavoro è stato principalmente di revisione e solo in piccola parte di scrittura. Pertanto grazie ancora Fr4nc3sco!Infine un saluto a tutta la redazione dell'e-zine, alla comunità di Debianizzati.org e tutti i nostri lettori e, last but not least, a tutti i ragazzi dell'Accademia.[[Utente:Fr4nc3sco|Fr4nc3sco]] 07:39, 9 lug 2010 (CEST)<br />[[Utente:Risca|Risca]] 11:25, 3 mag 2011 (CEST)
Il primo ringraziamento è da parte di Risca nei confronti di Fr4nc3sco per avere impostato questa guida con ricchi suggerimenti sul come procedere. Infatti da parte mia il lavoro è stato principalmente di revisione e solo in piccola parte di scrittura. Pertanto grazie ancora Fr4nc3sco! Infine un saluto a tutta la redazione dell'e-zine, alla comunità di Debianizzati.org e tutti i nostri lettori e, last but not least, a tutti i ragazzi dell'Accademia.
 
{{Autori
|Autore = [[Utente:Fr4nc3sco|Fr4nc3sco]] 07:39, 9 lug 2010 (CEST)
|Estesa_da =
:[[Utente:Risca|Risca]] 11:25, 3 mag 2011 (CEST)
}}
 
[[Categoria:E-zine]][[Categoria: Peer to Peer]][[Categoria: File sharing]]
3 581

contributi

Menu di navigazione