>_ DevTrendsnl

Taal

Home

Talen

Secties

Frontend Backend Mobiel DevOps AI / ML GameDev Blockchain Embedded Beveiliging
TypeScript

Colota Zet Android Om in een Privé GPS-Tracker voor Je Eigen Server

Colota Banner

Toen Google de afschaffing aankondigde van de webversie van Tijdlijn en de gedwongen migratie van alle locatiegeschiedenis exclusief naar de mobiele app, gingen velen op zoek naar alternatieven. Jaren aan reisgeschiedenis opslaan in een proprietaire database op je telefoon zonder goede browsertoegang is een twijfelachtige ervaring.

Het opzetten van Traccar, OwnTracks of Dawarich op een thuisserver is eenvoudig—containers deployen in enkele minuten. De echte uitdaging ontstaat bij het kiezen van een mobiele client. De meeste bestaande Android-oplossingen zien er verlaten uit sinds het Android 4.4-tijdperk of verbruiken batterij met overmatige GPS-polling.

Ik ontdekte onlangs Colota, dat dit exacte probleem aanpakt met verrassende finesse.

Wat de App Kan Doen

Colota is een open-source Android geolocatietracker-client (AGPL-3.0). In tegenstelling tot typische trackers is het niet vergrendeld naar één dienst—het kan coördinaten sturen naar OwnTracks, Dawarich, GeoPulse, Home Assistant, PhoneTrack, Traccar, of elke aangepaste backend via standaard HTTP REST API.

Dashboard Location History (Map) Trip Details Trips
Dashboard Geschiedenis op Kaart Ritdetails Rittenlijst

Binnen de app zijn er geen advertentie-SDK's, analytics-systemen of verborgen telemetry. Twee build-varianten zijn beschikbaar: de standaard met Google Play Services en een volledig open FOSS-build voor F-Droid waarbij Google-diensten volledig zijn verwijderd.

Automatische Trackingprofielen

De kernuitdaging bij elke background-tracker is batterijverbruik. GPS elke seconde pollen leegt je telefoon tegen het middaguur, terwijl elke tien minuten pollen gekartelde, hoekige tracks op de kaart oplevert.

Colota pakt dit aan door profielen. Je definieert regels die de satellietspolingfrequentie en afstandsfiltering aanpassen op basis van context:

  • Verbinden met een autoradio of lader schakelt naar hoge-nauwkeurigheidsopname;
  • Wanneer stationair, slaapt opname om batterij te besparen;
  • Het overschrijden van een snelheidsdrempel verhoogt automatisch de punttransmissiefrequentie.

Privacyzones en Geofences

Als je bewegingen thuis of op kantoor niet hoeft te tracken, kun je pauzeerzones configureren. Zodra je een gedefinieerde geofence-radius betreedt, stopt het coördinaten vastleggen automatisch. Dit bespaart zowel database-ruimte als batterij.

Settings TrackingProfiles Authentication Dark Mode
Instellingen Trackingprofielen Authenticatie Donker Thema

Standalone Modus en Lokale Kaarten

Een server is niet vereist. Colota kan als standalone lokale logger werken:

  • Downloadt offline kaarten direct naar het apparaat;
  • Segmenteert ritten per dag met handmatig track samenvoegen en splitsen;
  • Exporteert data naar GPX, KML, GeoJSON en CSV op een schema;
  • Maakt versleutelde back-ups van de hele database lokaal of op een schema naar een gekozen map.

Wanneer internet niet beschikbaar is tijdens roaming of in afgelegen gebieden, hopen punten zich op in een wachtrij en synchroniseren naar de server in batches zodra connectiviteit terugkeert of je verbindt met thuis-Wi-Fi.

Hoe het Project is Gestructureerd

De repository is gestructureerd als een TypeScript monorepo met React Native als basis.

Bouwen vanaf bron vereist Node.js 24, Android SDK en 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

Qua veiligheid is ondersteuning voor mutual TLS (mTLS) een welkome toevoeging. Het PKCS12-certificaat wordt direct opgeslagen in Android Keystore, waardoor server-eindpunten beveiligd kunnen worden op TLS-handshake-niveau.

Praktische Gebruiksscenario's

Het meest straightforward gebruiksscenario is koppelen met Home Assistant. De app stuurt zone-in- en uitgangsevenementen, werkt apparaatcoördinaten bij device_tracker, en elimineert de noodzaak voor de zware officiële smart home-client die constant op de achtergrond draait.

Een andere optie is Google Timeline vervangen met Dawarich of Traccar, waardoor je een visuele kaart krijgt van alle ritten door de jaren heen, heatmaps van bezochte steden, en volledig eigendom van je persoonlijke data.

Telefooninstellingen kosten slechts enkele minuten: installeer de APK, geef permanente locatietoegang, en schakel batterijoptimalisatie uit voor de app. Voor meerdere apparaten wordt configuratie overgedragen via QR-code of schema colota://setup.

Voor Wie Het Is

Colota spreekt privacybewuste gebruikers aan die hun eigen homelab draaien en gefrustreerd zijn door beperkingen van commerciële diensten. Hoewel relatief nieuw, is de kernfunctionaliteit voor tracking nu al solide.

Een kanttekening: er is nog geen iOS-versie, aangezien het project zich exclusief richt op Android. Afgezien daarvan is het een sterk voorbeeld van wat een modern self-hosted tool zou moeten zijn.

Gerelateerde projecten