Gastbeitrag: ULogger: Selbst gehostete datenschutzfreundliche Open Source Tracking Lösung

Ein Gastbeitrag von Karl M. Joch in Zusammenarbeit mit https://kmj.at und https://cts-solutions.at.

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 (https://kmj.at/2018-09-15-self-hosted-open-source-car-tracking-enterprise-ready/) 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 https://cpv.agency/kmjblog/2020/12/07/am-android-tablet-oder-smartphone-mit-lineageos-fuer-sicherheit-und-privatsphaere-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 https://cpv.agency/kmjblog/2020/12/14/professionelle-enterprise-grade-voip-telefonie-mit-home-office-und-mobiltelefon-support-kostenlos-open-source/ 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 Artikel https://cpv.agency/kmjblog/2020/12/14/professionelle-enterprise-grade-voip-telefonie-mit-home-office-und-mobiltelefon-support-kostenlos-open-source/ 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:

 

 

Join my public room in the Matrix

If you like this blog entry feel free to join my public room by entering

/join #kmj:matrix.ctseuro.com

anywhere in the Element Messenger (https://element.io) box to send a message!

Or follow this Link: https://matrix.to/#/#kmj:matrix.ctseuro.com

Help or answering questions ONLY in this room!

Hinweis

Ein Hinweis für die vielen Besucher des alten und neuen KMJ.at Blogs:

Aktuell ist im Silber und Gold Bereich noch nichts eingetragen und alle Beiträge sind aktuell öffentlich. Gerne aber kann ein Silber- oder Gold Abo gelöst werden, um das Blog zu unterstützen. Alle eingehenden Beträge werden einer ausgesuchten non-profit Organisation zur Verfügung gestellt.

Enterprise Support and Setup

- https://cts-solutions.at Wir arbeiten auch als Level2 und Level 3 Remote Support!

 Werbung