>_ DevTrendsit

Lingua

Home

Linguaggi

Sezioni

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embedded Sicurezza
TypeScript

Colota Trasforma Android in un Tracker GPS Privato per il Tuo Server

Colota Banner

Quando Google ha annunciato la chiusura della versione web di Timeline e la migrazione obbligatoria di tutta la cronologia delle posizioni esclusivamente nell'app mobile, in molti hanno iniziato a cercare alternative. Conservare anni di cronologia dei viaggi in un database proprietario sul telefono senza un corretto accesso tramite browser è un piacere discutibile.

Configurare Traccar, OwnTracks o Dawarich su un server domestico è semplice: i container si deployano in pochi minuti. La vera sfida emerge nella scelta di un client mobile. La maggior parte delle soluzioni Android esistenti sembrano abbandonate dall'epoca di Android 4.4 oppure consumano la batteria con un polling GPS eccessivo.

Ho scoperto di recente Colota, che affronta questo problema specifico con una cura sorprendente.

Cosa Può Fare l'App

Colota è un client di tracciamento geolocalizzazione Android open-source (AGPL-3.0). A differenza dei tracker tipici, non è bloccato su un singolo servizio: può inviare coordinate a OwnTracks, Dawarich, GeoPulse, Home Assistant, PhoneTrack, Traccar, o qualsiasi backend personalizzato tramite API REST HTTP standard.

Dashboard Location History (Map) Trip Details Trips
Dashboard Cronologia sulla Mappa Dettagli Viaggio Elenco Viaggi

All'interno dell'app non ci sono SDK pubblicitari, sistemi di analytics o telemetria nascosta. Sono disponibili due varianti di build: quella standard con Google Play Services e una build FOSS completamente aperta per F-Droid con i servizi Google completamente rimossi.

Profili di Tracking Automatici

La sfida principale con qualsiasi tracker in background è il consumo della batteria. Fare il polling del GPS ogni secondo consumerà la batteria del telefono entro mezzogiorno, mentre fare il polling ogni dieci minuti produce tracce frastagliate e angolari sulla mappa.

Colota affronta questo problema attraverso i profili. Definisci regole che regolano la frequenza di polling del satellite e il filtraggio della distanza in base al contesto:

  • La connessione a un'autoradio o al caricatore passa alla registrazione ad alta precisione;
  • Quando sei fermo, la registrazione si mette in pausa per risparmiare batteria;
  • Superare una soglia di velocità aumenta automaticamente la frequenza di trasmissione dei punti.

Zone di Privacy e Geofence

Se non hai bisogno di tracciare i movimenti a casa o in ufficio, puoi configurare zone di pausa. Una volta entrato in un raggio di geofence definito, la registrazione delle coordinate si ferma automaticamente. Questo risparmia sia spazio nel database che batteria.

Settings TrackingProfiles Authentication Dark Mode
Impostazioni Profili di Tracking Autenticazione Tema Scuro

Modalità Standalone e Mappe Locali

Un server non è necessario. Colota può funzionare come un logger locale autonomo:

  • Scarica le mappe offline direttamente sul dispositivo;
  • Segmenta i viaggi per giorno con unione e divisione manuale delle tracce;
  • Esporta i dati in GPX, KML, GeoJSON e CSV su programmazione;
  • Crea backup crittografati dell'intero database localmente o su programmazione in una cartella scelta.

Quando internet non è disponibile durante il roaming o in aree remote, i punti si accumulano in una coda e si sincronizzano con il server in batch una volta che la connettività ritorna o ti connetti al Wi-Fi di casa.

Come è Strutturato il Progetto

Il repository è strutturato come un monorepo TypeScript con React Native alla base.

Compilare dal codice sorgente richiede Node.js 24, Android SDK e JDK 17:

git clone https://github.com/dietrichmax/colota.git
cd colota
npm ci
npm run build -w @colota/shared
cd apps/mobile/android

# Сборка под Google Play
./gradlew assembleGmsRelease

# Чистая FOSS-сборка без сервисов Google
./gradlew assembleFossRelease

Sul fronte della sicurezza, il supporto per mutual TLS (mTLS) è un'aggiunta gradita. Il certificato PKCS12 viene memorizzato direttamente in Android Keystore, permettendo di proteggere gli endpoint del server a livello di handshake TLS.

Casi d'Uso Pratici

Il caso d'uso più immediato è l'abbinamento con Home Assistant. L'app invia eventi di entrata e uscita dalla zona, aggiorna le coordinate del dispositivo device_tracker, ed elimina la necessità di avere il pesante client ufficiale smart home in esecuzione costante in background.

Un'altra opzione è sostituire Google Timeline con Dawarich o Traccar, dandoti una mappa visiva di tutti i viaggi nel corso degli anni, heatmap delle città visitate e la piena proprietà dei tuoi dati personali.

La configurazione del telefono richiede solo pochi minuti: installa l'APK, concedi l'accesso permanente alla posizione e disabilita l'ottimizzazione della batteria per l'app. Per più dispositivi, la configurazione si trasferisce tramite codice QR o schema colota://setup.

A Chi è Destinato

Colota attira utenti attenti alla privacy che gestiscono il proprio homelab e sono frustrati dalle limitazioni dei servizi commerciali. Sebbene relativamente nuovo, la funzionalità core di tracking è già solida.

Un'avvertenza: non esiste ancora una versione iOS, poiché il progetto si concentra esclusivamente su Android. A parte questo, è un ottimo esempio di cosa dovrebbe essere uno strumento moderno self-hosted.

Progetti correlati