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.
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:
- 91.200.42.46:1176 – eMule Security No1
- 91.200.42.47:3883 – eMule Security No2
- 91.200.42.119:9939 – eMule Security No3
- 77.120.115.66:5041 – eMule Security No4
- 176.103.48.36:4184 – TV Underground
- 195.154.109.229:4232 – Sharing-Devils.org
- 212.83.184.152:7111 – PeerBooter
- 195.154.83.5:7111 – PEERATES.NET
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!