ULogger: Selbst gehostete datenschutzfreundliche Open Source Tracking Lösung

ZURÜCK

Dieser Artikel verwendet die Open Source Projekte Ulogger, Easer, LineageOS (oder Android), AFWall+ und OpenVPN.

Wie schon in einem früheren Artikel beschrieben, wurde eine Tracking Lösung für die mobilen Geräte gesucht und 2018 ein Start mit Traccar gemacht. Diese Lösung, die für eine Fahrzeugflotte sicher ziemlich gut ist, hat nie ganz meine Anforderungen inklusive dem Tracking von Trips mit dem Fahrrad und zu Fuß erfüllt. Ich wollte die Möglichkeit einzelne Trips aufzeichenen und auch zu exportieren, damit Fahrradrouten ablegen zu können u.v.m.

Wie schon im Artikel “Am Android Tablet oder Smartphone mit LineageOS für Sicherheit und Privatsphäre sorgen” beschrieben, sind Mobiltelefon und Tablet bereits so eingerichtet, dass weder Google’s (gapps) Services verwendet, noch Daten an Dritte übermittelt werden. Natürlich funktioniert die nun beschriebene Lösung auch unter Android.

Zusätzlich wurde die Automatisierung am Handy mit Easer im Artikel “Professionelle Enterprise-Grade VoIP Telefonie mit Home-Office und Mobiltelefon Support” beschrieben. Mit Easer wird auf den Geräten OpenVPN beim Verlassen des HOME WLAN’s automatisch gestartet und beim der Rückkehr wieder beendet. In diesem Beitrag wird der automatische Start und Stop des Trackings in die Easer Profile integriert, denn nur so wird nicht vergessen, das Tracking zu starten. Jeder Start des Trackings erzeugt eine neue Tour.

Die Ulogger Komponenten findet sich hier:

und Easer findet man bevorzugt auf F-Droid hier https://f-droid.org/en/packages/ryey.easer/ . Sollte Android mit Google Play verwendet werden ist Easer auch dort zu finden. Ich empfehle generell bevorzugt den F-Droid Store ( https://f-droid.org/ ) einzurichten.

Server Setup

Zuerst richtet man den Ulogger Server auf einem Webserver ein. Das Setup kann in einem Unterverzeichnis, oder einem virtual Host erfolgen. Die Verwendung eines abweichenden Ports, z.B. 88443, anstatt 443 für SSL ist kein Problem und im Sinne von Angriffen durch Bots auch sinnvoll. Ulogger unterstützt SQLite, MySQL und Postgres als Datenbank und für die reine private Verwendung reicht SQLite vollkommen aus. Dadurch benötigt der Server kein extra Datenbank Setup. Ab 10 Geräten sollte auf MySQL oder Postgres gesetzt werden. Die Setup Schritte auf der Projekt Seite sind sehr einfach zu vollziehen und nach wenigen Minuten ist der Ulogger-Server in einem Unterverzeichnis betriebsbereit. Die Anzeige sieht mit Daten dann in etwas so aus:

Als Administrator können Sie beliebig viele Benutzer einrichten um auf jedem mobilen Gerät einen Account einrichten zu können. Am besten mit einem Account und Gerät starten, testen und dann alle Geräte nachziehen.

Setup Client

Nun laden wir die Software am besten über F-Droid am LineageOS oder Android Endgerät. Danach stellt man die gewünschte Art des Trackings, sowie den Server URL und den Benutzernamen, ein. Die Art des Trackings kann je nach Anwendung variieren, einfach ausprobieren, welche Einstellung am besten zu den eigenen Gewohnheiten passt.

Einrichten der Automatisierung

Die generelle Einrichtung der Automatisierung mit Easer wurde im oben genannten Artikel bereits beschrieben. Hier nun der angepasste Vorgang für OpenVPN und Ulogger um das Tracking automatisch zu starten. Die Profile wurde umbenannt auf Profile Leaving Home und Profile Coming Home:

Aufgrund der Internationalität sind die Details in Englisch (Die Sprache kann auch im Easer auf Englisch umgestellt werden):

Open settings

  • enable ‚Use root features‘

  • Check ‚Activated skills‘, where the minimum is: Wi-Fi, Connectivity Type, Wi-Fi Connection

Open Data

  • Create Condition -> Choose a Condition – > WiFi Connection

Condition Title: At-Home

Match SSID: Your Home SSID

  • Create Event -> Choose an Event -> Connection Type

Event Title: HaveConnection

Selected Types: Wi-Fi and Mobile

  • Create Profile:

Profile Title: Profile Leaving Home

From plus(+) icon select ‚Run Command‘

command:

am start -a android.intent.action.MAIN -n de.blinkt.openvpn/.LaunchVPN -e de.blinkt.openvpn.shortcutProfileName PROFILENAME

From plus(+) icon select ‚Run Command‘

command:

am broadcast -a net.fabiszewski.ulogger.intent.action.COMMAND -e "command" "start new logger" net.fabiszewski.ulogger net.fabiszewski.ulogger.ExternalCommandReceiver
  • Create Profile

Profile Title: Profile Coming Home

From plus(+) icon select ‚Run Command‘

command: am broadcast -a net.fabiszewski.ulogger.intent.action.COMMAND -e "command" "stop logger" net.fabiszewski.ulogger net.fabiszewski.ulogger.ExternalCommandReceiver

From plus(+) icon select ‚Run Command‘

command:

am start –user 0 -n de.blinkt.openvpn/.api.DisconnectVPN

————————————————-

  • Create Pivot

Script Title: Online

Profile:

Event: HaveConnection

  • Online->Add child

Script title: Home WLAN

Profile: Profile Coming Home

Condition: At-Home

Reverse Scenario: disabled

  • Online->Add child

Script title: Insecure Network

Profile: Profile Leaving Home

Condition: At-Home

Reverse Scenario: enabled

  • Finally

Start Rules

Wenn alles richtig gemacht wurde dann startet sich OpenVPN automatisch und Ulogger startet einen neuen Track, sobald das Home WLAN nicht mehr verfügbar ist. Bei der Rückkehr wird Ulogger und das VPN deaktiviert und der Track ist sofort im Web Interface abrufbar. Wenn LinPhon in Verbindung mit Asterisk verwendet wird, meldet sich LinPhone sofort nach dem Wechsel neu an und somit ist die Funktionalität, ohne jeden manuellen Eingriff immer gegeben. Eine wirklich coole Lösung die dann so aussehen sollte:

EURAFRI Gruppenchat in der Matrix

Wir freuen uns über ein rege Teilnahme am EURAFRI Projekt und ersuchen auch die EURAFRI Rezeption in der Matrix zu besuchen.

https://matrix.to/#/#eurafri-reception:matrix.ctseuro.com

Euer EURAFRI TEAM

Autor: Karl M. Joch

ZURÜCK