Featured image of post Aggiornamenti automatici direttamente dalla fonte

Aggiornamenti automatici direttamente dalla fonte

Abstract

F-Droid è spesso raccomandato dagli appassionati di sicurezza e privacy, e suppongo che molti di voi usino F-Droid per scaricare, installare e aggiornare i vostri applicativi preferiti sui vostri smartphones. Come voi anche io ho sempre usato F-Droid, tuttavia dovo aver letto l’articolo di PrivSec, riguardante i problemi di sicurezza di questa applicazione, ho deciso di migrare verso nuovi orizzonti.

In un primo momento sono passato all’utilizzare i fedd RSS, per poter rintracciare gli aggiornamenti delle applicazioni di cui usufruivo. Sostanzialmente scaricavo l’app direttamente dalla pagina Github (o Gitlab) dello sviluppatore, mi iscrivevo al feed RSS, e attendevo le notifiche sugli aggiornamenti. Appena usciva una nuova release, ritornavo alla pagina dedicata, scaricavo e installavo manualmente l’aggiornamento. In poco tempo però mi accorsi che questo era un processo macchinoso, lento e snervante.

Necessitavo di qualcosa che mi permettesse di ottenere lo stesso risultato automaticamente, fatta eccezione per configurazione iniziale.

La soluzione, Obtanium!

Cos’è Obtanium?

Obtanium è un’app il cui obiettivo è quello di automatizzare il processo di download e installazione degli aggiornamenti delle app Android direttamente dai siti web “di origine” (siti in cui i file delle app sono disponibili per il download diretto).

Come scaricare Obtanium?

Per ottenere Obtainium, dobbiamo recarci alla pagina ufficiale di GitHub.

Scorrendo verso il basso, selezioneremo “Get it on GitHub” alla voce “Installazione”. Espandiamo gli “assets” e selezioniamo la versione che ci interessa, nel mio caso, per il Google Pixel è “app-arm64-v8a”. Si avvierà il download, poi si procede normalmente con l’installazione. Terminata la predetta, sarà possibile aprire l’app. Mi raccomando di acconsentire la ricezione delle notifiche, le quali vengono eseguite localmente e dunque non è necessario utilizzare i servizi di Google Play per farle funzionare.

L’interfaccia

Quando ho aperto Obtainium per la prima volta, sono rimasto piacevolmente sorpreso dal design.

Lo sviluppatore è molto attivo su questo progetto, quindi tutto ciò che è scritto di seguito potrebbe non essere quello che troverete, ma il concetto dovrebbe essere lo stesso.

L’app presenta un “bottom navbar” che possiede le seguenti voci:

  • Apps, l’elenco completo delle app aggiunte ad Obtanium.
  • Add App. permette la registrazione di una nuova app da tracciare.
  • Import/Export, la scheda permette di importrare od esportare la lista delle app e la configurazione di Obtanium.
  • Settings, per la configurazione dell’applicativo.

Aggiungere un’app

Per aggiungere una nuova applicazione, clicchiamo su “Add App”. In basso vi è un tasto per vedere le fonti supportate e alcune di queste (GitHub e Codeberg) sono etichettate come ricercabili, si può effettuare una ricerca direttamente da Obtanium. Vi sono due “Text Field” nel primo possiamo inserire direttamente lo URL, quello di origine, dell’app che vogliamo aggiungere. Il secondo ci permette di ricercare l’app mediante una stringa alfanumerica.

In questo caso, cerchiamo NewPipe dato che è su GitHub. La ricerca, quindi, ci presenterà molti risultati, soprattutto per un progetto popolare. Ma il primo, nel mio caso, è quello ufficiale del team di NewPipe. Per sicurezza, suggerisco sempre di controllare prima che sia quello corretto o meglio ricercare la pagina direttamente dal browser ed inserire lo URL.

Quindi, una volta convalidata la fonte, potremo selezionerla pigiando il tasto “Select”.

Apparirà dunque la sezione separata per le opzioni aggiuntive, tra le più importanti cito:

  • Include prereleases, da non selezionare mai dato che le pre-release tecnicamente non sono release che si dovrebbero usare.
  • Fallback to older releases, è utile quando gli sviluppatori su GitHub non eseguono correttamente i rilasci e potrebbero avere un rilascio per iPhone e uno per Android. Se sono elencate in release diverse, quando Obtainium va a controllare qual è la versione più recente, se quella per iPhone è stata rilasciata per ultima, vedrà che non c’è un APK per Android disponibile da installare.
  • Filter Release Titles by Regular Expression, filtrare i titoli delle versioni in base a un’espressione regolare, è un caso limite. Tuttavia potrebbe capitare che nell URL inserito ci siano più di un’applicazione scaricabile.
  • Track Only, solo tracciamento e niente aggiornamenti automatici. Io lascio questa opzione disattivata, siccome voglio che Obtainium scarichi gli APK per me in modo da poterli installare automaticamente.

Ora possiamo selezionare “Add”. L’applicazione verrà ora scaricata nella memoria del nostro dispositivo, una volta completato il download, apparirà la schermata con i dettagli dell’app appena aggiunta. Cliccando su “Install”, ci verrà richiesto di abilitare l’impostazione per installare applicazioni da sorgenti sconosciute, ossia Obtainium. Accettiamo e installiamo ora l’app.

Ad installazione eseguita, tornando all’elenco delle applicazioni, possiamo vedere che New Pipe è ora monitorato. Ultima versione 0.27 installata correttamente.

Sembra stato ovviamente un processo lungo, ma dopo aver imparato le operazioni fondamentali si può procedere tranquillamente in una manciata di secondi.

E se Obtanium fosse affetto da malware?

Come sempre, bisogna essere scettici nei confronti di tutto ciò che si scarica dal web, che sia open source o meno. Per questo motivo, una precauzione in più che si può prendere è quella di installare manualmente l’app dalla fonte e poi aggiungerla a Obtainium così da non permettere a quest’ultimo di iniettare un URL diverso e manipolare l’installazione. Questo perchè quando si installa un’app, Android blocca il certificato e applica il controllo della firma per gli aggiornamenti delle app, per cui anche se Obtainium fosse affetto da malware, non sarebbe in grado di installare un aggiornamento di un’app dannosa perchè il controllo della firma fallirebbe.

Limitazioni

Ci sono alcune limitazioni da tenere presenti. La prima è che le installazioni delle app avvengono in modo asincrono e non è possibile determinare direttamente il successo o il fallimento di un’installazione. Questo implica che gli stati e le versioni dell’installazione non siano sincronizzati con il sistema operativo fino al lancio successivo o fino a quando il problema non viene corretto manualmente. In sostanza si deve riavviare l’applicativo.

La seconda è che per alcune fonti, i dati sono raccolti tramite web scraping, che può facilmente fallire a causa di cambiamenti nel design del sito web. Tutti coloro che abbiano mai utilizzato NewPipe si saranno accorti che, ad ogni cambiamento della UI di YouTube, ;’extractor di NewPipe falliva non permettendo di estrapolare dati fondamentali. Si tratta di una situazione simile anche su Obtanium. La colpa è da attribuire alla natura del web scraping.

Conclusione

Obtanium è un’applicazione che migliora i problemi di F-Droid, e amplia le sue funzionalità. Rappresenta duqnue un grande miglioramento e rende il processo di tracciamento manuale molto più efficiente e meno contorto. Spero che dopo questo post possiate anche voi apprezzare questa piccola chicca di applicazione.

Realizzato con Hugo
Tema Stack realizzato da Jimmy