Download amule su raspberry

Cos’è un raspberry. Si tratta di un computer a tutti gli effetti nonostante abbia dimensioni molto ridotte. Stiamo parlando di un single board computer dotato di un’interfaccia utente e un software. Gli schemi e il layout del circuito stampato di questo prototipo sono resi disponibili per il  libero download e per l’assemblaggio a cura degli utenti. Per quanto riguarda le caratteristiche hardware Il progetto di questo computer si fonda su un system-on-a-chip di fabbricazione Broadcom. Di seguito proporremo una guida pratica per capire come lavorare con questo dispositivo. In particolare ci soffermeremo sulla spiegazione di come effettuare un download amule su raspberry.

Alcune informazioni

Sono state prodotte diverse versioni in seguito a varie revisioni:

  • A
  • A+
  • B
  • B+
  • Zero
  • Zero W

Per quanto riguarda la parte software la compagnia Raspberry Pi Foundation diffonde ufficialmente sistemi operativi concepiti su GNU/Linux, fra cui NOOBS e Raspbian.

Esistono diverse versioni di questo dispositivo. La prima era basata su ARM ed era montata su una scheda grande quanto una chiave USB. Anni dopo sono state realizzate altrettante versioni beta di questo prototipo le quali vennero vendute in gran numero su Ebay. Anno dopo anno sono state rese disponibili altrettante versioni di raspberry: Pi2, Pi3, Pi 3 B+, PI 3 A+, Pi Zero, Pi Zero W, Pi Zero WH.

Kit starter Raspberry

In particolare parliamo di una scheda elettronica che viene implementata su singolo pc e può essere utilizzato per diversi scopi. Con raspberry si possono svolgere tante operazioni diverse, infatti questo elemento ha diverse funzionalità. Esso può valere come:

  • server di vario tipo
  • normale pc
  • controller per un sistema di domotica
  • applicazione di vario genere nel settore dell’elettronica grazie alle connessioni GPIO

La sua scheda operativa è priva di qualsiasi sistema operativo preinstallato. Per decidere di installarne uno è necessario inserire una microSD. Tale prodotto non possiede alcun hard disk. Si possono consigliare diversi sistemi operativi da installare come NOOBS e Raspbian.

Una volta compreso cosa sia un pc raspberry cerchiamo di capire come fare il download di amule su questo dispositivo. Eseguire il download amule su raspberry richiede l’esecuzione di diverse operazioni. Ecco a voi la guida completa.

Download amule su raspberry

Amule è un software applicativo realizzato per l’operazione di condivisione di file mediante il sistema peer to peer. Esso è scritto nel linguaggio C++. Emule utilizza diversi servers, grazie ai quali è possibile scaricare diversi file dalle persone che sono connesse con amule. Ma come fare per scaricare emule su raspberry?

La guida per download Amule su raspberry

Installare il SO per il download amule

Prima di tutto bisogna scegliere il SO. Si consiglia di scegliere il Raspbian. Nel caso in cui si disponga di una Micro Sd di almeno 8gb sarebbe preferibile scaricare la ISO della versione desktop completa. Se invece abbiamo a disposizione una Micro Sd con meno di 8 gb sarebbe meglio optare per un’installazione più leggera. In ogni caso sarebbe meglio optare per la versione Rapsbian lite così da non appesantire troppo il vostro dispositivo. Tale versione infatti non è dotata di interfaccia grafica, il che può contribuire a rendere più leggero il lavoro. A questo punto non bisognerà fare altro che alimentare il dispositivo inserendo il cavo di rete. Così ci si potrà connettere da remoto. Ora:

  • cercate l’indirizzo IP che consente la connessione con il vostro dispositivo raspberry
  • aprite una sessione SSH utilizzando il terminale locale del pc e collegatevi al raspberry

Oppure, per una prima configurazione:

  • espandete il filesystem
  • cambiate la password dell’utente di default
  • modificate l’host name così da permettere il riconoscimento di rete e cambiate la quantità di memoria a disposizione per la scheda video portandola a 16MB e abilitate l’SSH

Nota bene: prima di installare qualsiasi nuovo componente sarebbe sempre meglio eseguire i seguenti comandi:

 sudo apt-get update
sudo apt-get upgrade

Configurare lo storage per eseguire il download amule per rapsberry

Ora si può configurare lo storage. Ecco come fare:

Prima di tutto bisogna collegare la chiavetta USB e digitate i seguenti comandi sul terminale:

sudo fdisk -l

In particolare c’è una partizione DOS FAT32 in /dev/sda1 , che provvederemo ad eliminare e riformattare:

Device     Boot Start      End  Sectors  Size Id Type
/dev/sda1        8192 60632063 60623872 28.9G  c W95 FAT32 (LBA)
  • in questo modo si otterranno gli elenchi dei dischi e la tipologia di filesystem.
  • Nel caso di una partizione DOS FAT32 in /dev/sda1 effettuare i seguenti comandi:

Poi procedere con il comando:

sudo fdisk /dev/sda
  • sda va sostituito con il vostro valore di riferimento. p per la lista delle partizioni, n per il numero delle partizioni, e successivamente digitare nuovamente p. A questo punto non vi resta che formattare come linux ext4.
sudo mkfs.ext4 /dev/sda1

Se rieseguite il comando sudo fdisk -l  troverete:

Device     Boot Start      End  Sectors  Size Id Type
/dev/sda1        2048 60632063 60630016 28.9G 83 Linux

Ora bisogna montare l’unità su una cartella appositamente creata. Tale comando:

sudo mkdir /mnt/torrents
sudo mount /dev/sda1 /mnt/torrents
df -hT

L’ultimo comando comunicherà che la partizione sia stata montata con successo.

$ df -hT
Filesystem     Type      Size  Used Avail Use% Mounted on
/dev/root      ext4      1.6G  964M  531M  65% /
devtmpfs       devtmpfs  459M     0  459M   0% /dev
tmpfs          tmpfs     463M     0  463M   0% /dev/shm
tmpfs          tmpfs     463M  6.2M  457M   2% /run
tmpfs          tmpfs     5.0M  4.0K  5.0M   1% /run/lock
tmpfs          tmpfs     463M     0  463M   0% /sys/fs/cgroup
/dev/mmcblk0p6 vfat       66M   21M   46M  31% /boot
/dev/sda1      ext4       29G   44M   27G   1% /mnt/torrents

Adesso bisogna assicurarsi che l’unità venga mondata automaticamente ad ogni avvio del sistema. Modifichiamo un file di configurazione con:

sudo nano /etc/fstab

Aggiungiamo:

/dev/sda1 /mnt/torrents ext4 defaults 0 0

Ad esempio:

$ cat /etc/fstab 
proc            /proc           proc    defaults          0       0
/dev/mmcblk0p6  /boot           vfat    defaults          0       2
/dev/mmcblk0p7  /               ext4    defaults,noatime  0       1
/dev/sda1       /mnt/torrents   ext4    defaults          0       0
# a swapfile is not a swap partition, no line here
#   use  dphys-swapfile swap[on|off]  for that

Ora riavviamo il dispositivo:

	
sudo reboot

Installare amule daemon

Dopo aver configurato lo storage siete pronti per installare emule. Questo dispone di un programma eseguito in background che prende il nome di demone. Esso non è sotto il controllo dell’utente. Non resta che installarlo:

sudo apt-get install amule-daemon

Prima di poter procedere è necessario configurare un utente che non sia amministratore con cui farlo funzionare:  amuleusr sarà il nome dell’utente.

sudo adduser amuleusr

Proseguiamo così:

$ sudo adduser amuleusr
Adding user `amuleusr' ...
Adding new group `amuleusr' (1002) ...
Adding new user `amuleusr' (1002) with group `amuleusr' ...
Creating home directory `/home/amuleusr' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for usertmp
Enter the new value, or press ENTER for the default
   Full Name []: aMule User
   Room Number []:
   Work Phone []:
   Home Phone []:
   Other []:
Is the information correct? [Y/n] Y

 Una volta configurato l’utente editiamo il primo fondamentale file di configurazione di aMule:

sudo nano /etc/default/amule-daemon

Alla fine dovremmo ottenere questo:

# Configuration for /etc/init.d/amule-daemon
 
# The init.d script will only run if this variable non-empty.
AMULED_USER="amuleusr"
 
# You can set this variable to make the daemon use an alternative HOME.
# The daemon will use $AMULED_HOME/.aMule as the directory, so if you
# want to have $AMULED_HOME the real root (with an Incoming and Temp
# directories), you can do `ln -s . $AMULED_HOME/.aMule`.
AMULED_HOME=""

Ora nella home ci sarà una cartella nascosta all’interno della quale saranno presenti le cartelle di servizio incoming e temp, rispettivamente files scaricati completi e spezzoni di files in download.

sudo mkdir /mnt/torrents/Temp
sudo mkdir /mnt/torrents/
sudo chown -R amuleusr /mnt/torrents

Passiamo adesso all’utente amulusr, in modo da avviare finalmente il demone:

su amuleusr

Inseriamo la password e attiviamo il demone:

amuled -f

Otterremo questo:

$ ls -la
...
-rw-r--r-- 1 amuleusr amuleusr 5587 Jan 15 15:25 amule.conf
drwxr-xr-x 2 amuleusr amuleusr 4096 Jan 31 13:38 Incoming
drwxr-xr-x 2 amuleusr amuleusr 4096 Jan 31 13:38 Temp
...

Prima di procedere fermiamo temporaneamente il servizio:

sudo /etc/init.d/amule-daemon stop

Apriamo il file con l’editor:

sudo nano /home/amuleusr/.aMule/amule.conf

E modifichiamo così:


[eMule]
...
# E' il nickname con cui sarete conosciuti dagli altri utenti
# Cambiarlo potrebbe essere utile
Nick=ilmionickpreferitoanonimo
...
# E' la porta TCP utilizzata dal amule: dovrete aprirla sul router
Port=39521
# E' la porta UDP utilizzata da amule: dovrete aprile sul router
UDPPort=39525
UDPEnable=1
...
# Questa opzione vi evita di rimuovere i server amule
# nel caso non dovessero rispondere per alcune ore
RemoveDeadServer=0
DeadServerRetry=3
ServerKeepAliveTimeout=0
...
# Queste sono le cartelle si servizio da far puntare
# al vostro storage
TempDir=/mnt/torrents/temp
IncomingDir=/mnt/torrents/incoming
...
# Fatevi allertare se lo spazio su disco dovesse finire
MinFreeDiskSpace=100
...
# Questa è la cartella nascosta di sistema che
# non è stata spostata e rimane della home
# dell'utente amuleusr
OSDirectory=/home/amuleusr/.aMule/
...
# Impostate qui i limiti di banda in funzione
# della capacità della vostra connessione
DownloadCapacity=1000
UploadCapacity=100
...
# Per ragioni di sicurezza lasciate a 0 queste voci:
# eviterete di ricevere l'elenco dei server dalla rete
# riducendo il rischio di connessioni a servers fake
AddServerListFromServer=0
AddServerListFromClient=0
...
[Browser]
...
[Proxy]
...
[ExternalConnect]
...
# Questi sono i dati per la connessione remota attraverso amulecmd
# La password è in formato MD5 (vedi dopo). Consiglio di non cambiare la porta.
AcceptExternalConnections=1
ECPort=4712
ECPassword=90027b489987c6b6f0c4af63c673c56a
...
[WebServer]
# Abilito il server web per l'accesso remoto tramite HTTP
# La password è in formato Md5 (vedi dopo)
Enabled=1
Password=90027b489987c6b6f0c4af63c673c56a
PasswordLow=
Port=4711
UseGzip=1
...
Path=amuleweb
[GUI]
...

Per produrre la password in cofigurazione dovete calcolar l’MD5. Ad esempio, per calcolare l’Md5 di ccworld usate:

$ echo -n "ccworld" | md5sum
90027b489987c6b6f0c4af63c673c56a  -

configurare adeguatamente il NAT sul vostro router aprendo le seguenti porte

  • TCP 39521
  • UDP 39524 (cioè la porta TCP + 3)
  • UDP 39525

Potete usare questi comandi per modificarne la configurazione:



sudo iptables -A INPUT -p tcp --dport 39521 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 39525 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 39524 -j ACCEPT

Avviamo finalmente il demone


amuled -f

Amulecmd

Per lanciare amulecmd è sufficiente digitarne il comando amulecmd

$ amulecmd
This is amulecmd 2.3.1
Enter password for mule connection: 
Creating client...
Succeeded! Connection established to aMule 2.3.1
---------------------------------------
|          aMule text client          |
---------------------------------------
Use 'Help' for command list
aMulecmd$

Il programma Amuledcmd non è altro che uno strumento da riga di comando che consente di controllare amuled. Per lanciare amulecmd è sufficiente digitarne il comando amulecmd. Ora dovrete digitare help.



Available commands:
Add           Add an eD2k or magnet link to core.
Cancel        Cancel download.
Connect       Connect to the network.
Disconnect    Disconnect from the network.
Download      Start downloading a file
Exit          Exits from the application.
Get           Get and display a preference value.
Help          Show help.
Pause         Pause download.
Priority      Set download priority.
Progress      Show the progress of a search.
Quit          Exits from the application.
Reload        Reload the given object.
Reset         Reset log.
Results       Show the results of the last search.
Resume        Resume download.
Search        Execute a search.
Set           Set a preference value.
Show          Show queues/lists.
Shutdown      Shut down aMule.
Statistics    Show full statistics tree.
Status        Show short status information.

Si potrà scegliere di aggiungere qualche server tra i seguenti proposti:

 Per aggiungere i server al vostro mulo basta digitare all’interno di amulecmd il comando add seguito da uno dei link riportati in alto.

aMulecmd$ add ed2k://%7Cserver%7C91.200.42.46%7C1176%7C/
 > Operation was successful.

ripetiamo l’operazione:

add ed2k://%7Cserver%7C91.200.42.46%7C1176%7C/
add ed2k://%7Cserver%7C91.200.42.47%7C3883%7C/
add ed2k://%7Cserver%7C91.200.42.119%7C9939%7C/
add ed2k://%7Cserver%7C77.120.115.66:5041%7C/
add ed2k://%7Cserver%7C176.103.48.36%7C4184%7C/
ed2k://%7Cserver%7C195.154.109.229%7C4232%7C/
add ed2k://%7Cserver%7C88.191.228.66%7C7111%7C/
add ed2k://%7Cserver%7C88.191.221.121%7C7111%7C/

Ora verificate tramite il comando show che i server siano stati memorizzati.

aMulecmd$ show servers
 > [91.200.42.46:1176]     eMule Security No1
 > [88.191.221.121:7111]   88.191.221.121
 > [91.200.42.119:9939]    eMule Security No3
 > [91.200.42.47:3883]     eMule Security No2
 > [176.103.48.36:4184]    TV Underground
 > [195.154.109.229:4232]  195.154.109.229
 > [88.191.228.66:7111]    88.191.228.66

Poi cliccate il comando connect e attendete qualche istante.

aMulecmd$ search kad spiderman
 > Search in progress. Refetch results in a moment!

Infine per ottenere il risultato non vi resterà che cliccare sul comando results.

aMulecmd$ results
Nr.    Filename:                                                                        Size(MB):  Sources: 
-----------------------------------------------------------------------------------------------------------
...
2.    The.Amazing.SpiderMan.2.Il.Potere.Di.Electro.3D.2014.DTS.ITA.ENG.Half.SBS.10     1748.332     1
3.    cartoni animati - Spiderman l'uomo ragno.mp3                                        2.538     0
4.    Michael Buble - Spiderman theme (Swing).mp3                                         2.790     1
5.    OK - [Divx ita] Spiderman 3.avi                                                   695.220     406
6.    x-men wolverine, thor, hulk, and spiderman 01.jpg                                   0.329     1
...

Ora, usiamo il comando   status  per vedere come procedono le cose:

	
amulecmd -P PASSWORD -c COMANDO

Inoltre amulecmd può comandare una installazione di amuled anche da remoto. Ecco come:

amulecmd -h [IP_amuled] -p [porta_amuled] -P [password] -c "comando"

Amuleweb

A questo punto si dovrà utilizzare l’interfaccia editata di amule.  Digitando nel browser http://:4711/  è possibile autenticarsi e visualizzare una minimale interfaccia grafica. Grazie a questo servizio è possibile modificare alcuni parametri di configurazione

Infine non vi resta che condividere i files nella rete locale. Quindi condividere la lista di files scaricati.  


/mnt/torrents/Incoming

installiamo il servizio SAMBA:


sudo apt-get install samba samba-common-bin

facciamo prima backup e poi editiamo il file di configurazione

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.old
sudo nano /etc/samba/smb.conf

abilitiamo il supporto a Windows:

wins support = yes

Aggiungiamo la seguente riga:



security = user

Assegniamo un’etichetta chiara

[torrents]
comment = cartella dei files scaricati
path= /mnt/torrents
valid users=amuleusr
browseable=yes
read only = no
writeable=yes
only guest=no
guest ok=no
create mask=0777
directory mask=0777
public=no

Forniamo la password all’utente che può collegarsi alla cartella condivisa

sudo smbpasswd -a amuleusr

Riavviamo il servizio:


sudo /etc/init.d/samba restart

Ecco che il gioco è fatto!