In un mondo in cui gli smartphone finiscono sempre più di frequente tra i rifiuti elettronici per via della loro età o delle specifiche limitate, un appassionato ha deciso di convertire il suo vecchio smartphone Sony Xperia M Dual (C2004) e trasformarlo in un compatto server amministrabile a distanza, leggero e perfettamente funzionante.
Guardando oggi ai dati tecnici di un dispositivo come Xperia M Dual, sembra di avere a che fare con un dispositivo preistorico: 1 GB di memoria RAM, 2 GB di storage, SoC single-core e sistema operativo Android 4.3 Jelly Bean. E pensare che si tratta di un dispositivo mobile di “appena” 11 anni fa.
Anziché restare a prendere la polvere, in attesa del conferimento nei rifiuti RAEE, quel dispositivo è tornato oggi pienamente operativo svolgendo il compito di server Web leggero, minimalista e, allo stesso tempo, scattante. Com’è possibile con Android e appena 1 GB di RAM?
Come trasformare un vecchio smartphone in un veloce server Web
Un dispositivo Android di oltre un decennio fa è ormai un “relitto”. Già l’installazione di applicazioni di base come un server SSH o Termux
Quando ho acceso il dispositivo, si trovava con Android 4.3 Jelly Bean—un sistema semplice, leggero, ma ormai inutilizzabile per compiti moderni. Anche applicazioni di base, come un server SSH o Termux, faticano a funzionare correttamente.
Termux è un’applicazione per dispositivi Android che emula un terminale Linux, consentendo di eseguire comandi e programmi direttamente sullo smartphone o tablet. Fornisce un’implementazione di una shell Linux, con accesso a un ampio set di pacchetti software tramite il suo gestore di pacchetti interno, simile a quello di un sistema Linux tradizionale.
Come spiegato in questo post, per dare nuova vita allo smartphone è basato aggiornare Android sostituendolo con una ROM personalizzata. Al posto di Android 4.3 “stock”, è bastato sostituire l’apprezzata e sicura LineageOS 14.1 così da installare Android 7.1.2. Non certamente una release “ultimo grido” ma certamente meglio della versione installata di default sul Sony Xperia.
Installando LineageOS senza Google Apps (GApps), quindi sprovvista di Play Store e di qualunque software potenzialmente inutile, il vecchio smartphone è diventato molto più leggero e scattante. Anche confrontando le performance rispetto all’Android 4.3 riportato allo stato di fabbrica.
Con una ROM leggera, un vecchio smartphone può risorgere dalle sue ceneri
Il ricercatore che si è cimentato nell’impresa, fa presente che – previo flashing di LineageOS 14.1 – ha potuto installare ed eseguire senza problemi diversi servizi chiave.
Innanzi tutto Termux, piattaforma indispensabile per caricare ed eseguire i servizi; Nginx, il Web server per gestire uno o più siti; il server SSH per l’accesso remoto al dispositivo e il suo controllo a distanza; Cloudflare Tunnel, per facilitare l’accesso senza necessitare di un indirizzo IP statico.
Per garantire la stabilità della configurazione, si possono configurare dei cron job con Termux per assicurarsi che i servizi siano sempre in esecuzione.
A questo punto il lavoro è fatto. Si può modificare il file .bashrc
, file di configurazione della shell Bash (il programma che gestisce i comandi nel terminale), eseguito ogni volta che si apre una nuova sessione del terminale. Modificarlo permette di personalizzare l’ambiente di lavoro nel terminale, ad esempio, cambiando il prompt dei comandi, aggiungendo alias per comandi frequenti o configurando variabili di ambiente.
Si può inoltre inserire un Message of the Day (MOTD) personalizzato che mostra le informazioni di sistema ogni volta che si stabilisce una connessione via SSH. Ad esempio indicazioni sullo stato del sistema, l’ora corrente, avvisi di sicurezza o altri dettagli rilevanti.
Aggiornare Termux e installare i pacchetti software
Per installare Nginx e il server SSH su Termux si possono seguire alcuni semplici passaggi. In primis, dopo aver avviato Termux, si devono impartire i seguenti comandi per aggiornare i pacchetti software alla versione più recente:
pkg update && pkg upgrade -y
Per installare Nginx si possono impartire le istruzioni che seguono (il secondo comando verifica l’avvenuta installazione e mostra il numero di versione del server Web):
pkg install nginx -y
nginx -v
nginx
Digitando l’indirizzo IP del dispositivo Android seguito da :8080
nella barra degli indirizzi del browser, si può stabilire un collegamento con il server Web Nginx.
Per installare e configurare il server SSH, si possono seguire questi passaggi:
pkg install openssh -y
ssh-keygen -A
sshd
ps aux | grep sshd
Il secondo comando provvede a generare le chiavi di autenticazione. Di default, il server ascolta sulla porta 8022 (non la classica 22).
Per avviare Nginx e SSH automaticamente all’apertura di Termux, basta aggiungere appositi comandi al già citato file .bashrc
:
echo 'nginx' >> ~/.bashrc
echo 'sshd' >> ~/.bashrc
Gestione della batteria: rooting con Magisk e modulo ACC
Trasformando lo smartphone in un mini server, è pacifico che esso rimanga sempre perennemente collegato alla presa di alimentazione a muro.
Per scongiurare qualunque potenziale problema a livello di batteria, l’autore dell’iniziativa ha quindi effettuato il root del dispositivo utilizzando Magisk e ha installato Advanced Charging Controller (ACC). Il modulo ACC limita la carica della batteria tra il 45% e il 65%, mantenendo così la batteria sempre fresca e in condizioni di sicurezza.
Conclusioni
La motivazione principale dietro al progetto che ha visto protagonista un vecchio smartphone Sony Xperia è la motivazione che spinge al recupero dei dispositivi di un tempo. Evitando che vadano inesorabilmente perduti.
Nonostante le limitazioni hardware del vecchio Sony, l’Xperia M Dual funge da server divertente e pratico per compiti leggeri. Non è adatto per operazioni pesanti, ma può rivelarsi utile in molteplici occasioni, ad esempio come compatto file server per condividere documenti non troppo impegnativi dal punto di vista delle dimensioni, come supporto per un backup di emergenza, come piccolo server Web e molto altro ancora.