>_ DevTrendses

Idioma

Inicio

Lenguajes

Secciones

Frontend Backend Móvil DevOps AI / ML GameDev Blockchain Embebidos Seguridad
TypeScript

Colota convierte tu Android en un rastreador GPS privado para tu propio servidor

Colota Banner

Cuando Google anunció el cierre de la versión web de Timeline y forzó la migración de todo el historial de ubicación exclusivamente a la aplicación móvil, muchos comenzaron a buscar alternativas. Almacenar años de historial de viajes en una base de datos propietaria en tu teléfono sin acceso adecuado desde el navegador es un placer dudoso.

Configurar Traccar, OwnTracks o Dawarich en un servidor casero es sencillo: los contenedores se despliegan en minutos. El verdadero desafío surge al seleccionar un cliente móvil. La mayoría de las soluciones Android existentes parecen abandonadas desde la era de Android 4.4 o agotan la batería con un exceso de polling GPS.

Hace poco descubrí Colota, que aborda este problema exacto con un pulido sorprendente.

Qué puede hacer la aplicación

Colota es un cliente de seguimiento de geolocalización de código abierto para Android (AGPL-3.0). A diferencia de los rastreadores típicos, no está bloqueado a un solo servicio: puede enviar coordenadas a OwnTracks, Dawarich, GeoPulse, Home Assistant, PhoneTrack, Traccar, o cualquier backend personalizado a través de la API REST HTTP estándar.

Dashboard Location History (Map) Trip Details Trips
Panel Historial en mapa Detalles del viaje Lista de viajes

Dentro de la aplicación no hay SDKs de publicidad, sistemas de análisis ni telemetría oculta. Hay dos variantes de compilación disponibles: la estándar con Google Play Services y una compilación completamente abierta FOSS para F-Droid con los servicios de Google completamente eliminados.

Perfiles de seguimiento automático

El desafío central con cualquier rastreador en segundo plano es el consumo de batería. Hacer polling GPS cada segundo agotará tu teléfono a mediodía, mientras que hacer polling cada diez minutos produce tracks irregulares y angulares en el mapa.

Colota aborda esto a través de perfiles. Defines reglas que ajustan la frecuencia de polling de satélites y el filtrado de distancia según el contexto:

  • Conectarse a un estéreo de coche o cargador cambia a grabación de alta precisión;
  • Cuando estás quieto, la grabación se pausa para conservar batería;
  • Superar un umbral de velocidad aumenta automáticamente la frecuencia de transmisión de puntos.

Zonas de privacidad y geocercas

Si no necesitas rastrear movimientos dentro de tu casa u oficina, puedes configurar zonas de pausa. Una vez que entras en un radio de geocerca definido, la grabación de coordenadas se detiene automáticamente. Esto ahorra tanto espacio en la base de datos como batería.

Settings TrackingProfiles Authentication Dark Mode
Configuración Perfiles de seguimiento Autenticación Tema oscuro

Modo independiente y mapas locales

Un servidor no es necesario. Colota puede funcionar como un registrador local independiente:

  • Descarga mapas sin conexión directamente al dispositivo;
  • Segmenta los viajes por día con fusión y división manual de tracks;
  • Exporta datos a GPX, KML, GeoJSON y CSV según una programación;
  • Crea copias de seguridad cifradas de toda la base de datos localmente o según una programación a una carpeta elegida.

Cuando internet no está disponible durante itinerancia o en áreas remotas, los puntos se acumulan en una cola y se sincronizan con el servidor en lotes una vez que la conectividad regresa o te conectas al Wi-Fi de casa.

Cómo está estructurado el proyecto

El repositorio está estructurado como un monorepo de TypeScript con React Native como base.

Compilar desde el código fuente requiere Node.js 24, Android SDK y 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

En cuanto a seguridad, el soporte para TLS mutuo (mTLS) es una adición bienvenida. El certificado PKCS12 se almacena directamente en Android Keystore, permitiendo que los endpoints del servidor estén protegidos a nivel del handshake TLS.

Casos de uso prácticos

El caso de uso más directo es emparejarlo con Home Assistant. La aplicación envía eventos de entrada y salida de zona, actualiza las coordenadas del dispositivo device_tracker, y elimina la necesidad del cliente oficial de hogar inteligente que se ejecuta constantemente en segundo plano.

Otra opción es reemplazar Google Timeline con Dawarich o Traccar, dándote un mapa visual de todos los viajes a lo largo de los años, mapas de calor de ciudades visitadas, y propiedad completa de tus datos personales.

La configuración del teléfono solo toma unos minutos: instala el APK, concede acceso permanente a la ubicación y desactiva la optimización de batería para la aplicación. Para múltiples dispositivos, la configuración se transfiere mediante código QR o esquema colota://setup.

Para quién es

Colota atrae a usuarios conscientes de la privacidad que ejecutan su propio homelab y están frustrados por las limitaciones de los servicios comerciales. Aunque relativamente nuevo, la funcionalidad central de seguimiento ya es sólida.

Una advertencia: aún no hay versión para iOS, ya que el proyecto se enfoca exclusivamente en Android. Más allá de eso, es un fuerte ejemplo de lo que debería ser una herramienta moderna autoalojada.

Proyectos relacionados