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:
- Server https://github.com/bfabiszewski/ulogger-server
- Android Client https://github.com/bfabiszewski/ulogger-android
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