2 min read

LineageOS 17.1 googlefrei und datenschutzfreundlich konfigurieren

LineageOS ist zwar quell offen, dass bedeutet aber nicht, das die Standardinstallation weitgehend google frei ist. Daher führe ich noch weitere Anpassungen durch und beschreibe mein Vorgehen.

DNS

Standardmäßig ist der Private DNS Modus auf Automatisch eingestellt, welches Googles DNS Server sind. Ich verwende den DNS Server von dismal, weitere Empfehlungen gibt es im Kuketz-Blog oder auf privacytools.io. Die Einstellung befindet sich unter Netzwerk & Internet -> Erweitert -> Privates DNS, hier habe ich fdns1.dismail.de eingetragen.

Captive Portal


Standardmäßig überprüft das Betriebssystem beim Verbinden mit einem WLAN oder Mobilfunk Netz anhand eines Connectivity Checks (connectivitycheck.gstatic.com) über einen HTTP 204 Code ob eine Internetverbindung besteht. Mit den folgenden ADB Befehlen kann diese URL angepasst werden:
adb shell 'settings put global captive_portal_http_url "###CAPTIVE_PORTAL_HTTP_URL###"'
adb shell 'settings put global captive_portal_https_url "###CAPTIVE_PORTAL_HTTPS_URL###"'
adb shell 'settings put global captive_portal_fallback_url "###CAPTIVE_PORTAL_HTTP_URL###"'
adb shell 'settings put global captive_portal_other_fallback_urls "###CAPTIVE_PORTAL_HTTP_URL###"'

Diese kann auf eine der Folgenden Kombinationen angepasst werden:
Captive Portal von Kuketz:
http://captiveportal.kuketz.de
https://captiveportal.kuketz.de

Captive Portal von /e/:
https://e.foundation/net_204/
http://204.ecloud.global

Captive Portal von ElementaryOS:
http://elementary.io/generate_204
https://elementary.io/generate_204

A-GPS

Normalerweise werden beim orten des Gerätes zur schnelleren Standortbestimmung mittels A-GPS die SUPL Server von Google kontaktiert. Um dies zu deaktivieren, muss die URL supl.google.com entweder in der Datei /vendor/etc/gps.conf verändert werden. Am besten leitet man die Anfrage einfach gegen localhost und verhindert diese somit komplett. Jedoch ist es nicht ganz einfach diese Datei zu bearbeiten, selbst mit Root. Das liegt daran das Vender-Dateien von einem Image eingebunden werden. Jedoch ist es über einen Umweg diese mit TWRP zu überschreiben. Dazu holt man mit ADB die vorhandene Datei auf den Rechner:
adb pull /vendor/etc/gps.conf

Dort editiert man dann die Zeilen:
SUPL_HOST=supl.google.com
SUPL_PORT=7275

Zu:
SUPL_HOST=localhost
SUPL_PORT=7275

und speichert die Datei in Gerätespeicher des Handy ab und wechselt nach TWRP. (Falls das Gerät verschlüsselt ist, ist das Passwort die Geräte Pin, bzw bei einem Muster ist der obere, linke Punkt eine 1, oben Mitte 2, usw. Quelle)
Nun wählt man unter Mount Vender und Data. Dann wechselt man nach Advanced -> File Manager und kopiert die bearbeitete gps.conf von /sdcard nach /vendor/etc (die gps.conf per langem Klick auswählen)

Detailliertere Informationen gibt es im Kuketz Blog, und zum gerade beschriebenen Vorgang im Kuketz Forum (Beitrag vom 01.01.2020).

Webview

Standardmäßig ist der Webview Provider auf Chromium eingestellt. Dies ist immerhin die quell offene Variante des standardmäßigen Chromes, es geht aber besser: Bromite, ein Chromium Fork mit einigen Privatsphäre Verbesserungen von u.a. Iridium, Inox patchset, Brave und ungoogled-chromium der auch eine WebView Implementierung bereitstellt.
Für dessen Installation gibt es ein Magisk Modul, welches sich in der neusten Version (v5.0.1) unter LOS 17 flashen lässt. Dazu lädt man einfach die bwv-5.0.1.zip Datei herunter und installiert diese mit Magisk (Module -> + -> Datei auswählen). Nach einem Reboot sollte in den Einstellungen unter System -> Entwickleroptionen -> WebView-Implementierung  Bromite System WebView auftauchen. Die Funktionalität kann mit Apps die auf WebView basieren getestet werden (Bspw. die Tutanota App startet nicht ohne einen korrekt installiertes WebView).

Quelle: Reddit - r/LineageOS

Changelog:
- Link für das Magisk Bromite Modul auf die Release Seite des Github Repos angepasst

Author: peterge