MorpheFlow: la piattaforma open source per automatizzare il patching delle applicazioni Android

  • Categoria dell'articolo:Android / Server
  • Articolo pubblicato:
morpheflow
morpheflow

MorpheFlow è un progetto open source pensato per semplificare e automatizzare la gestione delle applicazioni Android modificate attraverso un’interfaccia web e una pipeline di compilazione. Il progetto, disponibile su GitHub, combina tecnologie cloud-native, strumenti per il patching degli APK e sistemi di automazione per offrire un ambiente centralizzato dedicato alla preparazione e alla distribuzione dei pacchetti Android.

L’obiettivo è ridurre la necessità di mantenere server locali complessi, sfruttando servizi come Cloudflare Workers e GitHub Actions. La piattaforma permette di organizzare le operazioni di compilazione, applicare patch al bytecode, firmare gli APK e monitorare i risultati delle elaborazioni.

MorpheFlow è strettamente collegato a Morphe Desktop, il motore che si occupa delle operazioni di modifica delle applicazioni Android. Il progetto raccoglie inoltre alcune idee sviluppate precedentemente con AutoMorph, ampliandole con un’interfaccia moderna e un sistema di gestione distribuito.

MorpheFlow e l’architettura cloud-native per Android

Uno degli aspetti più interessanti di MorpheFlow riguarda la sua architettura. La versione basata su Cloudflare Workers utilizza un’infrastruttura serverless che comprende Cloudflare D1, un database SQLite distribuito, e Workers Static Assets per distribuire l’interfaccia web.

Questa configurazione permette di realizzare un pannello di controllo accessibile attraverso il browser senza dover necessariamente amministrare un VPS tradizionale. Il progetto dichiara di poter funzionare utilizzando il piano gratuito di Cloudflare, senza richiedere una carta di credito per la configurazione descritta nella documentazione.

La parte dedicata alle elaborazioni utilizza invece GitHub Actions come ambiente di compilazione. Quando viene avviata una pipeline, il sistema prepara l’applicazione di base, applica le patch selezionate attraverso Morphe Desktop CLI, genera il pacchetto APK e ne gestisce la firma.

Tra le funzionalità principali troviamo:

  • Pure Patch Studio: permette di esplorare differenti raccolte di patch, distinguendo quelle universali da quelle specifiche per determinate applicazioni.
  • Risoluzione dei conflitti: individua incompatibilità tra patch prima dell’avvio della compilazione.
  • Firma deterministica: utilizza un sistema di keystore per mantenere coerenti le firme tra le diverse compilazioni.
  • Monitoraggio VirusTotal: calcola l’impronta SHA-256 degli APK e mostra i risultati delle verifiche di sicurezza.
  • Gestione delle versioni: supporta il confronto delle versioni attraverso le regole Semantic Versioning 2.0.
  • Elaborazione parallela: consente di gestire più operazioni contemporaneamente, utilizzando sistemi di blocco per evitare conflitti durante le elaborazioni.

La dashboard mette a disposizione anche informazioni sullo stato delle operazioni, una coda di compilazione e strumenti per controllare le versioni di destinazione. L’interfaccia è progettata per funzionare anche da smartphone, grazie a una disposizione degli elementi adattabile agli schermi più piccoli.

Installazione, distribuzione e aggiornamenti automatici con Obtainium

MorpheFlow offre diverse possibilità di installazione, rendendo il progetto interessante sia per chi preferisce utilizzare servizi cloud sia per chi desidera mantenere tutto all’interno della propria infrastruttura.

La distribuzione tramite Cloudflare Workers rappresenta la soluzione consigliata dagli sviluppatori. Richiede Node.js, npm, Cloudflare Wrangler CLI e GitHub CLI. Attraverso lo script deploy.sh, disponibile nel repository, vengono automatizzate diverse operazioni, tra cui la configurazione del database D1, l’applicazione delle migrazioni e la preparazione dell’ambiente GitHub Actions.

Chi preferisce una soluzione self-hosted può invece utilizzare Docker Compose, una scelta particolarmente interessante per gli utenti che gestiscono un homelab con Proxmox, Unraid o TrueNAS.

Come installare MorpheFlow

Sono disponibili anche diversi formati per l’installazione tradizionale:

  • Pacchetti DEB per Debian e Ubuntu.
  • Pacchetti RPM per Fedora e distribuzioni compatibili.
  • AppImage per sistemi x86_64.
  • Pacchetto AUR morpheflow-git per Arch Linux, CachyOS ed EndeavourOS.
  • Installazione automatizzata attraverso uno script dedicato.

Il backend self-hosted utilizza Python e Java 21 e può funzionare come servizio systemd oppure all’interno di un container Docker.

Un’altra caratteristica interessante è l’integrazione con Obtainium, applicazione Android open source che permette di controllare gli aggiornamenti delle applicazioni provenienti da repository esterni.

MorpheFlow genera feed dedicati per ciascuna applicazione e collegamenti compatibili con Obtainium. In questo modo è possibile importare più applicazioni attraverso una singola operazione e lasciare che il client Android controlli periodicamente la disponibilità di nuove versioni.

Il progetto prevede inoltre la gestione di repository GitHub privati, una possibilità importante quando si lavora con pacchetti che richiedono particolare attenzione alla distribuzione.

Dal punto di vista della sicurezza, MorpheFlow dichiara di utilizzare autenticazione delle sessioni tramite HMAC, limitazione automatica dei tentativi di accesso e Content Security Policy. Gli sviluppatori raccomandano inoltre di mantenere privati i repository utilizzati per le compilazioni cloud, evitando la pubblicazione non autorizzata di applicazioni protette da copyright.

Il codice sorgente è distribuito con licenza MIT. MorpheFlow è destinato principalmente a finalità educative, di ricerca sulla sicurezza, interoperabilità e backup personale: non ospita un archivio centralizzato di applicazioni modificate o contenuti APK protetti da copyright.

Per approfondire il progetto: MorpheFlow .

Lascia un commento