ubuntuusers.de

Neueste Artikel

gestern

Erst im Februar hatte Mozilla in Zusammenarbeit mit Onerep Mozilla Monitor Plus in den USA gestartet. Diese Zusammenarbeit kommt nun zu einem unerwarteten Ende.

Das ist Mozilla Monitor (Plus)

Mozillas kostenfreier Dienst Mozilla Monitor zeigt nach Eingabe einer E-Mail-Adresse an, ob diese Teil eines bekannten Datendiebstahls in der Vergangenheit war. Neben dem Zeitpunkt des Diebstahls und dem Zeitpunkt des Bekanntwerdens wird auch angegeben, welche Daten gestohlen worden sind, zum Beispiel E-Mail-Adressen, Benutzernamen oder Passwörter. Darüber hinaus nennt Mozilla Monitor allgemeine Tipps, welche man in Betracht ziehen sollte, wenn man von einem Datendiebstahl betroffen ist.

Anfang Februar dieses Jahres ist Mozilla Monitor Plus gestartet, bisher nur in den USA. Damit können persönliche Informationen von über 190 Personen-Suchmaschinen entfernt werden – einer laut Mozilla 240 Milliarden Dollar schweren Industrie, welche mit der Bildung von Profilen und dem Verkauf dieser Daten Profit generiert. Hierfür arbeitet Mozilla mit dem Dienstleister Onerep zusammen.

Ende der Zusammenarbeit mit Onerep

Nach einem Bericht von Brian Krebs, Journalist und Betreiber des Sicherheits-Blogs Krebs on Security, hat der Gründer und CEO von Onerep, Dimitiri Shelest, seit 2010 selbst zahlreiche solcher Personen-Suchmaschinen ins Leben gerufen. In diese ist er größtenteils nicht mehr involviert, ist mit Nuwber allerdings nach wie vor an einer beteiligt.

Auch wenn für Nutzer von Mozilla Monitor Plus durch die Verbindung keine direkte Problematik entstand, hat Mozilla das Thema damit kommentiert, dass die finanziellen Interessen und Aktivitäten des CEOs von Onerep nicht den Werten von Mozilla entsprechen. Mozilla Monitor Plus wird es weiterhin geben, aber Mozilla soll an einem „Übergangsplan“ arbeiten, welcher „den Kunden eine nahtlose Erfahrung bietet und ihre Interessen weiterhin an die erste Stelle setzt“. Weitere Details wurden keine genannt. Denkbar wäre, dass Mozilla die gleiche Dienstleistung in Zukunft über einen anderen Anbieter abwickeln wird.

Der Beitrag Mozilla Monitor Plus: Mozilla beendet Zusammenarbeit mit Onerep erschien zuerst auf soeren-hentzschel.at.

26. März 2024

Unter Linux kommt es immer öfter vor, dass bestimmte Spiele, wie zum Beispiel CS:GO 2, Star Citizen oder The Finals abstürzen. Die Fehlermeldung könnte wie folgt aussehen.

1err:virtual:try_map_free_area mmap() error cannot allocate memory, range 0xf4f60000-0x8ad0000, unix_prot 0x3

Meist liegt es daran, dass vm.max_map_count einen zu niedrigen Wert hat.

Der Standardwert, welches fest im Kernel eingetragen ist, ist derzeit 65530. Was heutzutage für viele Spiele, aber auch für andere Anwendungen wie Elasticsearch oft zu wenig ist.

Valve hat auf dem Steam Deck den Wert bereits auf 2147483642 erhöht. Einige Distributionen wie Fedora oder Ubuntu haben den Wert ebenfalls erhöht. Allerdings hat man sich für einen deutlich geringeren Wert von 1048576 entschieden. Dieser sollte aber aktuell ausreichend sein.

Arch Linux ist aktuell noch eine der Distributionen die den Standardwert nutzen, sodass es zu besagten Abstürzen kommen kann. Die Entwickler von Arch besprechen aber aktuell eine Erhöhung. Eine manuelle Anpassung (nicht nur unter Arch Linux) ist aber auch kein Problem.

Hierfür erstellt man die Datei /etc/sysctl.d/10-map-count.conf. Wie man die Datei nennt, ist im Grunde egal, solange die mit 10 beginnt und mit .conf endet. Die 10 ist wichtig, da umso niedriger die Zahl ist umso früher werden die Konfigurationsdateien vom Betriebssystem berücksichtigt.

In dieser Datei trägt man nun zum Beispiel vm.max_map_count=1048576 ein und speichert die Datei. Nach einem Neustart oder nach dem Ausführen von sysctl -p sollte der neue Wert gültig sein. Prüfen kann man dies mit dem Befehl sysctl vm.max_map_count. Betroffene Spiele bzw. Programme sollten sich nun normal starten und nutzen lassen.

Aufgrund der aktuellen Diskussion wegen vm.max_map_count unter Arch Linux wurde den Kernel-Entwicklern vorgeschlagen den Wert offiziell zu erhöhen (https://lore.kernel.org/lkml/566168554.272637693.1710968734203.JavaMail.root@zimbra54-e10.priv.proxad.net/T/#u). Ob diese zustimmen steht derzeit noch nicht fest.

25. März 2024

Wer Projekte per git auf dem aktuellen Stand halten will, aber sonst nicht viel mit git macht, braucht immer mal wieder dieselben Befehle, um die notwendigen Aktualisierungen durchzuführen. Da sind dann immer wieder diese Leute, die dann ein paar Befehle rüber werfen, aber nicht wirklich zwei klärende Worte zum Zusammenhang hinzufügen. Das Problem ist zwar damit vielleicht aus der Welt, aber es ist nichts damit gewonnen. Konfuzius rotierte im Grabe!

Gib einem Mensch einen Fisch und du ernährst ihn für einen Tag. Lehre einen Menschen zu fischen und du ernährst ihn für sein Leben.

Konfuzius

Wenn die Mehrzahl der EmpfehlerInnen nach dieser Maxime handeln würden, wäre das Frustrationspotential auf Myriaden von Webseiten und Foren nicht so hoch. Das musste ich mal los werden.

Ich gehe am praktischen Beispiel des Fediverse Servers Friendica vor. Den geübten Umgang mit z.B. Linux und der Konsole bzw der Shell Bash setze ich voraus. Ebenso ein installiertes git .

Git und das Repo

Das Software Repository, oft auch nur Repository oder Repo genannt, von Friendica liegt z.B. auf https://github.com/friendica/friendica . Das ist der Speicherort, auf dem die Software liegt und von Entwicklern gepflegt, programmiert und aktualisiert wird. Git ist eine Software, die gleichzeitig verschiedene Versionen von Dateien verwalten kann und für die Softwareentwicklung entwickelt wurde. Kurz gesagt ermöglicht sie es sehr einfach recht komplexe Version- Upgrades oder Downgrades absolut korrekt durchzuführen, so dass als Ergebnis immer eine saubere und lauffähige Version der Software bzw des Quellcodes herauskommt.
Mehr zum Thema git

Schritt 1: Die Software installieren – Das Repo clonen

Ich nehme mal an, du willst Friendica auf deinem Server installieren und hast das Webverzeichnis für deine Domain www.MeineDomain.de eingerichtet, das sich z.B. unter /var/web/MeineDomain/htdocs befindet. Und genau hier willst du Friendica installieren, daher wechselst du in dieses Verzeichnis. Das Verzeichnis muss komplett leer sein, sonst weigert sich git die Dateien hier abzulegen.

Der Befehl der dafür vorgeschlagen wird, ist oft

git clone https://github.com/friendica/friendica

ABER! Dieser würde dir in deinem /var/web/MeineDomain/htdocs/ Verzeichnis ein Unterverzeichnis friendica /var/web/MeineDomain/htdocs/friendica/anlegen und dort alle Dateien und Verzeichnisse ablegen. Und dein Server wäre dann nur unter www.MeineDomain.de/friendica/ erreichbar. Aber du möchtest, dass der Friendica Server unter www.MeineDomain.de erreichbar ist.

Daher musst du dem vorgeschlagenen Befehl noch ein Leerzeichen (Trenner) und einen Punkt (repräsentiert immer das aktuelle Verzeichnis) mitgeben, mit dem du angibst, dass die Dateien im aktuellen Verzeichnis abgelegt werden. Und dann sieht das so aus:

git clone https://github.com/friendica/friendica .

Damit liegt nun die Software, genauer gesagt die stable (früher master) Version, auf deinem Server und du kannst mit der Konfiguration und Einrichtung beginnen. Die Dokumentation dazu findest du unter https://wiki.friendi.ca/ .

Da die Addons für Friendica ein einem extra Repo https://github.com/friendica/friendica-addons liegen, müssen diese natürlich mit den gleichen Schritten eingerichtet und später dann auch aktualisiert werden.

Schritt 2: Aktualisierungen

In so einem Software Repo wird in den meisten Fällen nicht nur eine Software Version gepflegt, sondern meist mehrere. Eigentlich sind immer stable und develop bzw origin/stable und origin/develop verfügbar. Wie oben schon erwähnt hieß stable früher standardmäßig master, aber in modernen Repos gibt es nur noch den Namen stable oder öfter main. Hintergründe Bei Friendica heisst die aktuelle stabile Version stable.

Info: Für Friendica ist ein wenig mehr erforderlich. Die kompletten Befehle führe ich weiter unten auf. Aus Gründen der Verständlichkeit vereinfache ich die Vorgehensweise hier.

Ganz allgemein: Um deine Software zu aktualisieren wechselst du zukünftig in dein Verzeichnis /var/web/MeineDomain/htdocs/ und gibst den Befehl ein

git pull

und dein Friendica wird auf den neusten Stand gebracht. (Addons nicht vergessen)

Schritt 3: Versionen und branches

Nun gibt es wie oben schon geschrieben meist mindestens 2 Versionen. Die stable und die development Version. Die Versionen in git werden branches genannt. Welche branches du hast, kannst du ganz einfach herausfinden mit den Befehlen

Welche Branches liegen (remote) auf dem Software Repo
git branch -r

ergibt z.B. so eine Ausgabe

 origin/2022.09-rc
 origin/2022.12-rc
 origin/2023.03-rc
 origin/2023.05-rc
 origin/2023.09-rc
 origin/2024.03-rc
 origin/HEAD -> origin/develop
 origin/develop
 origin/stable

Welche Branches liegen (lokal) deinem Server
git branch -a

Um zu einem anderen branch bzw Version zu wechseln, gibst du einfach z.B. ein

git checkout develop um auf die Entwicklerversion zu wechseln
git checkout stable um auf die stabile Hauptversion zu wechseln.

Allerdings sollte so ein Wechsel immer gut durchdacht sein, denn oftmals kann das weitere Abhängigkeiten haben, wie zum Beispiel bei Friendica irgendwelche Updates von Datenstrukturen in der Datenbank. Älter Versionen kennen neuere Datenbankstrukturen nicht und das wird dann vermutlich zu Fehlern führen. Prüfe stehts!

Schritt 4: Updates und Versionen – development, stable & RC

Es gibt also die development Version, die immer die neusten Funktionen und Features hat, die aktiv entwickelt werden und daher mit einer hohen Wahrscheinlichkeit Fehler enthalten, die noch korrigiert (gefixt) werden müssen. Und die stabile stable Version, die zum produktiven Einsatz freigegeben wurde.

Dann gibt es oft noch RC (Release Candiates) Versionen. Zum Beispiel eine 2024.04-RC . Das ist eine aktuelle development Version, zu der keine neuen Features dazu kommen (Feature Freeze) und die zur nächsten stabilen Version werden soll. Diese Version ist mit einer öffentlichen Beta Version vergleichbar, die zur Verfügung gestellt wird, damit sie von vielen getestet und eventuelle Fehler behoben werden können. Wenn dann alle Fehler behoben sind, dann wird diese 2024.04-RC Version in die stable Version überführt.

Das heißt, wenn die Aktualisierung des eigenen Friendica Servers immer auf das branch stable eingestellt ist, dann wird beim nächsten git pull der Server automatisch auf die neuste Version aktualisiert. Wurde zuvor auf z.B. auf das RC 2024.04-RC branch gewechselt, muss natürlich dann aktiv auf das stable branch wieder zurück gewechselt werden. git checkout stable & git pull

Friendica per Git aktualisieren

Bei Friendica gibt es wie beschrieben noch das addon Verzeichnis und zusätzlich noch den Composer, der Abhängigkeiten von bestimmten Softwarebibliotheken verwaltet und sicherstellt, dass die richtigen Versionen auf deinem Server liegen. Daher müssen bei einer Aktualisierung mindestens folgende Befehle eingegeben werden.

Ausgehend dass du dich in deinem deinem Verzeichnis /var/web/MeineDomain/htdocs befindest:

git pull https://github.com/friendica/friendica.git
bin/composer.phar install --no-dev 
cd addon 
git pull https://github.com/friendica/friendica-addons.git 

weitere nützliche Git Befehle

git fetch – Die Liste der Branches vom Repo holen
git checkout <branch name> – Den Branch wechseln
git stash – Local commits „verwerfen“
git checkout -b <NAME> – Lokal einen neuen Branch <NAME> erstellen
git branch -D <NAME> – Lokalen Branch <NAME> löschen
git push origin --delete <NAME> – Den remote Branch <NAME> löschen
git branch -r – Remote Branches anzeigen lassen
git branch -a – Lokale Branches anzeigen lassen
git remote prune origin – Löscht alle lokalen Branches, die auch nicht mehr auf dem remote Repo sind
git gc --auto – Garbage Collection. führt Aufräumarbeiten durch (komprimiert Revisionen, entfernt lose/unzugängliche Objekte). Mit der Option –auto wird zunächst festgestellt, ob Maßnahmen erforderlich sind, und wenn dies nicht der Fall ist, wird das Programm beendet, ohne etwas zu tun.

Falls es zu Fehlermeldungen und größeren Problemen kommt, dann sind folgende Befehle hilfreich. ABER bitte vorher das Handbuch dazu lesen !!! Nicht einfach per Copy n Paste von hier benutzen! Sonst selber schuld!
git reset --hard
git clean -df -x

The post Git Leitfaden für Beginner first appeared on Dem hoergen Blog.

Dies ist mein Erfahrungsbericht der Chemnitzer Linux-Tage 2024. Es war mal wieder eine sehr schöne Veranstaltung.

Die Anreise

Im vergangenen Jahr hatte mich die Deutsche Bahn in Chemnitz sitzengelassen und ich musste mit einem kurzfristig angemieteten Leihwagen heimfahren.

Da die Deutsche Bahn und die Gewerkschaft Deutscher Lokomotivführer sich noch immer nicht auf einen neuen Tarifvertrag einigen können und ich mich nicht erneut über eine schlechte Verbindung ärgern wollte, bin ich dieses Jahr mit dem eigenen Pkw gefahren.

Am Freitag um 13:30 Uhr ging die Reise los. Mit viel Verkehr, Baustellen und Stau waren ich etwa 4,5 Stunden später im Hotel, wo ich direkt über Stoeps gestolpert bin.

Wir spazierten vom Residenz Hotel Chemnitz zum Veranstaltungsgebäude, um uns anzumelden und unsere Badges zu empfangen. Damit ersparten wir uns das Warten in der Schlange am Samstagmorgen.

Am Hörsaalgebäude traf ich schon erste vertraute Gesichter, wie z.B. Andreas, welcher fleißig beim Aufbau geholfen hat. Hier haben wir uns auch mit Michael von der Aspicon GmbH getroffen, mit dem ich für Sonntag einen Vortrag geplant hatte. Wir sind gemeinsam in die Stadt gegangen, um uns bei Speis und Trank kennenzulernen und den Abend zu verplaudern.

Der Samstag

Um 07:00 Uhr begann ich den Tag mit dem Frühstück. So war der erste Hunger bereits gestillt, als der Frühstücksraum sich zu füllen begann. Bekannte Gesichter und nerdige T-Shirts verrieten, dass es sich bei sehr vielen der Gäste um Besucher der Chemnitzer Linux-Tage handelte.

Die 20 Minuten zum Veranstaltungsort wurden auch diesmal wieder zu Fuß zurückgelegt. Und der erste Konferenztag konnte beginnen.

Um 10:00 Uhr war ich an der Reihe und durfte in einem rappelvollen Raum V6 meinen „::1“-Vortrag halten. An dieser Stelle euch allen nochmal vielen Dank für eure Teilnahme. Ich hoffe, ihr hattet so viel Spaß wie ich und konntet ein paar neue Eindrücke gewinnen.

Es hat mich gefreut, auch nach dem Vortrag noch einige Fragen beantworten zu können und über IPv6 zu fachsimpeln. Ganz nebenbei konnte ich auch noch die Frage eines Red Hat-Kunden beantworten. Darüber freute sich dieser sehr, bleibt ihm der Support eine zufriedenstellende Antwort doch seit langer Zeit schuldig. Es ist halt stets eine gute Erfahrung, einen TAM zu treffen.

Die Chemnitzer Linux-Tage gibt es übrigens schon seit 25 Jahren. Da eine Veranstaltung aufgrund der Pandemie ausfallen musste, findet die 25. Veranstaltung allerdings erst im nächsten Jahr am 22. und 23. März statt.

20-jähriges Jubiläum feiert in diesem Jahr Ubuntu, weshalb der Community-Stand dieses Jahr besonders schön geschmückt war und toddy mehrfach mit Luftschlangen gefesselt wurde.

Ich genieße die Zeit unter gleichgesinnten Nerds oder wie Stoeps es ausdrückte: „Endlich wieder unter normalen Menschen“. Mich hat es dieses Jahr sehr gefreut, auch viele jüngere Gesichter zu sehen. So sehr ich mich freue, auch die gleichen alten Nasen immer wiederzutreffen ist es doch schön, dass die Gemeinschaft nicht einfach alt wird, sondern auch junge Menschen mit Interesse, Motivation und Freude an Open Source nachwachsen.

Da die Hörsäle hier bei den Vorträgen meist aus allen Nähten platzen, hatte ich mich im Vorfeld als Sessionleitung für die drei Vorträge

  1. Never ever break userspace – was das in der Praxis bedeutet von Wolfram Sang
  2. DIY Verified Boot in 2024 von Marco Felsch und
  3. VirtualBox Meets KVM von Julian Stecklina

gemeldet. So war mir ein guter Platz im Raum sicher. Ich danke den drei Referenten für ihre interessanten Vorträge.

Am Abend waren alle Aussteller, Helfer und Referenten zum gemütlichen Beisammensein in die Mensa eingeladen, welche schräg gegenüber dem Veranstaltungsgebäude liegt. Hier gab es ein reichhaltiges Angebot an warmem und kaltem Essen sowie eine Auswahl verschiedenster Getränke. Vielleicht ist es in der Zukunft möglich, die Getränke zu kühlen. Dann wird das Bier nicht so schnell warm und schmeckt länger gut.

Ich schätze es sehr, mich auf Konferenzen mit alten und neuen Bekannten auszutauschen, zu fachsimpeln und ganz allgemein angeregte Gespräche zu führen. Das musikalische Rahmenprogramm traf auch in diesem Jahr nicht meinen Geschmack. Ich würde mir etwas Hintergrundberieselung wünschen, um sich gut unterhalten zu können. Doch sind Geschmäcker verschieden und ich erkenne durchaus an, was das Organisations-Team der Chemnitzer Linux-Tage hier Jahr für Jahr auf die Beine stellt. Euch allen vielen Dank für euren unermüdlichen Einsatz.

Der Sonntag

Nach einem frühen Frühstück und Check-out ging es heute mit dem Auto zum Veranstaltungsgelände. Noch vor dem zweiten Kaffee wurden hier die Folien für den nächsten Vortrag nochmal geprüft. Um 10:00 Uhr war es wieder soweit. Diesmal durfte ich zusammen mit Michael den Vortrag „Mit Ansible Collections & Workflows gegen das Playbook-Chaos“ halten.

@Michael: „Es hat mir gut gefallen, mit dir einen Vortrag zu halten. Das können wir gerne wiederholen.“

Beim Mittagessen habe ich dann auch noch Christian getroffen. Für ihn waren es die ersten Chemnitzer Linux-Tage und auch ihm haben sie sehr gut gefallen.

Und wie immer war die Zeit auch viel zu schnell wieder vorbei. So habe ich Henning zwar kurz gesehen, doch für mehr als ein kurzes „Hi und Tschüss, bis zum nächsten Mal“ reichte es diesmal leider nicht.

Die Heimreise

Auch die schönsten Chemnitzer Linux-Tage gehen vorbei. Doch im Auto sitzend freute ich mich auch schon darauf, meine Familie wiederzusehen. Die Straße war frei und nach nur 3 Stunden 20 Minuten war ich wieder daheim. Zum Vergleich, mit der Bahn wäre ich je nach Verbindung erst nach 5,5-6,5 Stunden daheim gewesen, wenn alles nach Plan fährt.

So konnte ich mehr Zeit vor Ort verbringen und war rechtzeitig daheim, um noch etwas Zeit mit meinem Sohn zu verbringen, bevor dieser ins Bett ging.

Fazit

Es war schön. Ich hoffe, ihr seid alle wieder gut heimgekommen und behaltet auch diese Chemnitzer Linux-Tage in guter Erinnerung.

Weitere Berichte über die CLT 2024

24. März 2024

Anfang März wurde eine neue Postfix Version 3.9 veröffentlicht. Nach fast einem Jahr Entwicklungszeit löst diese Version gleichzeitig den alten stabilen Zweig 3.5 ab, welcher aus dem Jahr 2020 stammt.

Postfix

Abschaltungen

Mit dieser neuen Major Version wurden alte Zöpfe abgeschnitten und alte, wirklich alte, MySQL Versionen < 4.0. MySQL werden nicht mehr unterstützt.

Auch Features wie "permit_naked_ip_address", "check_relay_domains" und "reject_maps_rbl" wurden entfernt. Die Funktionen "disable_dns_lookups" und "permit_mx_backup" wurden als überholt markiert und werden entfernt.

Änderungen

Daneben wurden die angekündigten Sicherheitsfeatures implementiert, um unter anderem gegen SMTP Smuggling vorzugehen.
So müssen SMTP Clients nun <CR><LF>.<CR><LF> senden, um das Ende eines Datenstroms zu signalisieren.
Die Funktion "smtpd_forbid_unauth_pipelining" trennt ab sofort SMTP-Clients, die gegen RFC 2920 (oder 5321) Befehlspipelining-Beschränkungen verstoßen.
Zusätzlich gab es Formatierungsänderungen im Mailheader. Postfix verwendet jetzt zweistellige Tagesformate. Heißt, einstelligen Nummern wird eine Null vorgestellt.

Neuerungen

Natürlich gab es auch einige Neuerungen in Postfix 3.9, die dich sicher interessieren werden.

  1. MongoDB: Postfix spricht MongoDB, was es dir erlaubt, Daten wie aliases oder canonical dort abzulegen
  2. ID Weiterleitung: IDs können nun via ENVID (Envelope ID) weitergeleitet werden
  3. MySQL and PostgreSQL Verbesserungen: Solltest du MySQL oder PSQL einsetzen, werden die Parameter "idle_interval" und "retry_interval" ab sofort unterstützt. Das erleichtert dir das Verbindungsmanagement
  4. Raw Public Key Support: Erlaubt dir die Verwendung eines selbst signierten Zertifikats anstatt eines x509.
  5. OpenSSL Konfiguration: Postfix unterstützt jetzt eigene OpenSSL Konfigurationsdateien "tls_config_file" und "tls_config_name"

Security

Auf Seiten der Sicherheit gab es ebenfalls Neuerungen.
Das weiter oben bereits erwähnte "smtpd_forbid_unauth_pipelining = yes" gegen Blind Angriffe (SSRF Angriffe) und das ebenfalls genannte Signaling zum Ende des Datenstroms (SMTP Smuggling) zählen hier mit rein. Letzteres hat mit "smtpd_forbid_bare_newline = normalize" eine weitere Sicherheitsfunktion erhalten. Gleiches gilt für das neue "cleanup_replace_stray_cr_lf = yes"
Als Maßnahme gegen Amplification Angriffe wurden die Abfragen des DNS Clients auf 100 reduziert, gewissermaßen ein Rate Limiter am oberen Ende.

Vollständige Release Notes

23. März 2024

Bei KDE wurde kürzlich eine Sicherheitslücke bekannt, die wohl erstmal offen bleiben wird. Komponenten aus dem KDE-Store, der sich an verschiedenen Stellen hinter der Schaltfläche “Neue holen…” in verschiedenen KDE-Komponenten verbirgt, können Schadcode enthalten und in den Benutzerdaten wüten.

Im konkreten Fall handelte es sich nicht um einen absichtlichen Angriff. Es handelte sich lediglich um einen Fehler. Die Ursache liegt in einer KDE-Funktionalität. Benutzer von Plasma können über den KDE-Store Themes, Widgets und Miniprogramme beziehen. Diese werden zwar nur mit Benutzerrechten installiert, können aber funktionsbedingt ziemlich uneingeschränkt Skripte etc. im jeweiligen Home-Verzeichnis ausführen. KDE benötigt dies, da nicht alle Themes und Miniprogramme über die Distributionen paketiert werden können.

Der Vorfall zeigt einmal mehr, dass Linux auf dem Desktop ein ziemlicher Ponyhof ist. Wenn man es schonungslos auf den Punkt bringt, sieht es so aus: Die KDE-Entwickler bauen eine Sideload-Option für bösartigen Code ein, es fällt jahrelang niemandem auf und nachdem es dann doch auffällt, ist die erste Reaktion im Tenor: “Da kann man nichts machen, ohne die Funktionalität einzuschränken”. Die Nutzer müssen einfach aufpassen und vielleicht kann es eine Warnung geben. Eine Kuratierung wäre wünschenswert, ist aber nicht so schnell umsetzbar und bindet Ressourcen.

Die Nachlässigkeit bei KDE ist die eine Seite der Medaille. Sie ist vermutlich auch deshalb nicht so schlimm, weil diese KDE-Funktion nie besonders exzessiv genutzt wurde und die meisten Anwender mit dem arbeiten, was standardmäßig mitgeleifert wird, weil das bei KDE schon sehr viel ist. Kombiniert wird diese Nachlässigkeit bei KDE mit der immer noch völlig unterschätzten Gefahr fehlender Rechtebeschränkungen innerhalb des Benutzerverzeichnisses. Immer noch geben sich zu viele Linux-Anwender der Illusion hin, dass Schadcode nur dann gefährlich ist, wenn er mit Administratorrechten ausgeführt wird. Ein massiver Datenverlust im Home-Verzeichnis reicht bei nachlässigen Backups aus (und die meisten Anwender sind nachlässig bei Backups). Programme werden unter Linux traditionell kaum eingehegt, sondern können im Home-Verzeichnis nach Belieben schalten und walten.

Machen wir uns nichts vor. Im Falle eines größeren Malware-Drucks wären solche Funktionen fatal und würden massiv ausgenutzt.

Der Artikel Kommentar: Sicherheitsprobleme bei KDE erschien zuerst auf Curius

22. März 2024

In den letzten Blogposts habe ich gezeigt, wie ich mein privates VPN mit openVPN aufsetze. In diesem Post wiederhole ich das - nur eben mit Wireguard.

OpenVPN und Wireguard können auch problemlos nebeneinander laufen, wenn sie verschiedene Netzmasken benutzen. So hat man jeweils ein Fall-Back-Netz, mit dem man die Clients noch erreichen kann.

Auf dem Handy verbraucht openVPN mehr Strom, weil die Kryptosachen stärker sind. Wireguard ist da schlanker bei ausreichender Verschlüsselung.

VPN

Mein Wireguard-VPN soll unter den Netzen 10.3.3.0/24 und fd04:bab0:3::/64 laufen. Alle Clients sollen sich gegenseitig sehen und anpingen können. Auf Wunsch soll der gesamte Traffic über das VPN geroutet werden.

Installation

Unter Ubuntu lässt sich Wireguard auf Server und Clients wie folgt installieren:

#Ubuntu
apt install wireguard
 
#Arch, btw
pacman -S wireguard-tools

Schlüssel erzeugen

Auf meiner Zertifikationsinstanz (oder auf jedem anderen Rechner) erstelle ich mir einen neuen Ordner und erzeuge für den Server sowie für jeden Client ein Paar aus privatem und öffentlichem Schlüssel.

sudo bash
umask 077 && wg genkey | tee server-private.key | wg pubkey > server-public.key
umask 077 && wg genkey | tee client1-private.key | wg pubkey > client1-public.key
umask 077 && wg genkey | tee client2-private.key | wg pubkey > client2-public.key
umask 077 && wg genkey | tee client3-private.key | wg pubkey > client3-public.key

Die Inhalte der Schlüsseldateien werden gleich plaintext in die Configdateien geschrieben.

Server aufsetzen

Nach der Installation existiert das Verzeichnis /etc/wireguard. In diesem Verzeichnis liegen die .conf-Dateien der VPNs, egal ob Server oder Client. Der Name der .conf-Datei entscheidet über den Namen der Interfaceschnittstelle. Benenne ich die Datei foobar.conf, so wird ein Tunneldevice mit dem Namen foobar erzeugt. Die Datei tun0.conf erzeugt ein Interface mit dem Namen tun0. Standardmäßig (also in den Manuals im Netz) werden für Wireguard wg0-Interfaces erzeugt.

Wir erzeugen also die Datei wg0.conf und geben ihr folgenden Inhalt:

# ---------- Server Config ----------
[Interface]
## welche IP4-Adresse hat der Server im Tunnel?
Address = 10.3.3.1/24

## welche IPv6-Adresse hat der Server im Tunnel?
Address = fd04:bab0:3::1/64 

# Wenn ihr iptables nutzt, dann wird hier das NAT zum Internet klargemacht
# Mein Device heisst eth0, eures auch? ansonsten ändern!
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -s 10.3.3.0/24 -o eth0 -j MASQUERADE; ip6tables -A FORWARD -i wg0 -j ACCEPT; ip6tables -t nat -A POSTROUTING -s fd04:bab0:3::/64 -o eth0 -j MASQUERADE 
# Sobald der VPN beendet wird, werden die iptables Regeln rückgängig gemacht
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -s 10.3.3.0/24 -o eth0 -j MASQUERADE; ip6tables -D FORWARD -i wg0 -j ACCEPT; ip6tables -t nat -D POSTROUTING -s fd04:bab0:3::/64 -o eth0 -j MASQUERADE

# Hier kommt der private Key des Servers hin, in Plaintext
PrivateKey = OHUJätschibätschifasfdeg92wz4CvFqlWWUW74dfgM5+zPfuEU=
# Auf welchem Port soll der Server lauschen?
# Diesen Port in der Firewall freigeben!
ListenPort = 45881 

## Für jeden Client kommt hier eine eigene Identifikation
[Peer] # Client1
# Schreibe hier den öffentlichen Schlüssel des Client1 hinein
PublicKey = AfuckAfDfejoqfooobaaarmHILbtoxReB6ZjzNuMtyYNxlM= 
# Mit welchen IP4 und IPv6-Adressen soll sich der Client verbinden?
# Hier müssen ein /32  und /128 verwendet werden (= genau 1 IP-Adresse erlaubt)
AllowedIPs = 10.3.3.2/32, fd04:bab0:3::2/128 


# Hier wiederholt sich das Ganze für Client2
[Peer] # CLient2
# Client public key
PublicKey = 1xejE9Z2OnkqkuckuckFcOsoLA623M1yRr+7/v7SmAtP36UmG8=  
# IPs client can connect as (IPv4 /32  and IPv6 /128)
AllowedIPs = 10.3.3.3/32, fd04:bab0:3::3/128 

[Peer] # Client3
# Client public key
PublicKey = sCid523sdfXwQHoErOyXyIk8UNEz36aff7+R9MIU8Xm4wc=  
# IPs client can connect as (IPv4 /32  and IPv6 /128)
AllowedIPs = 10.3.3.4/32, fd04:bab0:3::4/128 
  • Der Server lauscht unter IP4 und IPv6 auf Port 45881. Ihr könnt auch irgendeinen anderen Port auswählen.
  • Der Server wird unter den Adressen 10.3.3.1/24 und fd04:bab0:3::1/64 über den Tunnel ereichbar sein. Ebenso haben derzeit 3 Clients Zugriff, wobei jeder Client eine fixe IP4 und IPv6 im Tunnelnetz erhält.
  • Bei den AllowedIPs ist euch sicherlich aufgefallen, dass bei IP4 ein /32 und bei IPv6 ein /128 hinter die Adresse geschrieben werden muss.
    • Auf dem Server fungiert AllowedIPs ähnlich wie ein Router und gibt an, wohin der Datenverkehr geroutet werden soll. Daher genügt die Angabe von /32 oder eben /128 (genau eine IP-Adresse).
    • In der gleich folgenden Client-Config fungiert AllowedIPs wie eine Access-Controll-List. Daher muss in der Client-Config ein /24 bzw. /64 definiert werden, um alles von 10.3.3.* bzw. fd04:bab0:3:: zu akzeptieren.
  • Soll ein weiterer Client hinzugefügt werden, muss in der Server-Config ein neuer [Peer]-Block mit dem puplic key des neuen Clients hinzugefügt werden.

Server starten

Ähnlich wie bei openVPN liest systemd das Verzeichnis /etc/wireguard aus und macht alle dort befindlichen MY-VPN.conf-Dateien verfügbar über den Service wg-quick@MY-VPN.service.

Wir können unseren wg0-Server starten mittels:

# Starten
systemctl start wg-quick@wg0.service
# Logs ansehen
journalctl -u wg-quick@wg0.service -f

Firewall anpassen

Falls ihr eine Firewall benutzt (und ich hoffe doch sehr, dass dies der Fall ist), muss diese für Wireguard angepasst werden. Einerseits muss der Server-Port freigegeben werden (ich habe da ja 45881), anderseits müssen wir intern NAT einrichten, wenn der Internetverkehr über den Tunnel geroutet werden soll.

iptables

Die iptables-Firewall muss auf dem Server und auf den Clients angepasst werden, damit openVPN funktioniert:

## Akzeptiere Pakete von den wg+ Interfaces
iptables -A INPUT -i wg+ -j ACCEPT
iptables -A FORWARD -i wg+ -j ACCEPT

## auf dem Server muss Port 45881 tcp/udp geöffnet werden
iptables -A INPUT -i eth0 -p tcp --dport 45881 -j ACCEPT
iptables -A INPUT -i eth0 -p udp --dport 45881 -j ACCEPT

Wenn euer Device nicht eth0 heisst, müsst ihr den Befehl entsprechend anpassen.

ufw

Die ufw-Firewall muss auf dem Server angepasst werden, damit Wireguard funktioniert. Zunächst muss der Serverport freigegeben werden:

sudo ufw allow 45881

Anschließend müssen drei weitere Dateien editiert werden, damit das Netz funktioniert.

  1. /etc/default/ufw
nano /etc/default/ufw 

DEFAULT_FORWARD_POLICY="ACCEPT"

2a. /etc/ufw/before.rules, füge die folgenden Zeilen vor der *filter-Sektion ein, um das NAT für IPv4 zu aktivieren:

nano /etc/ufw/before.rules

# NAT-Tabelle hinzufügen
*nat
:POSTROUTING ACCEPT [0:0]
# OpenVPN-Regeln hinzufügen
-A POSTROUTING -s 10.3.3.0/24 -o eth0 -j MASQUERADE
COMMIT

2b. /etc/ufw/before6.rules, füge die folgenden Zeilen vor der *filter-Sektion ein, um das NAT für IPv6 zu aktivieren:

nano /etc/ufw/before6.rules

# NAT-Tabelle hinzufügen
*nat
:POSTROUTING ACCEPT [0:0]
# OpenVPN-Regeln hinzufügen
-A POSTROUTING -s fd04:bab0:3::/64 -o eth0 -j MASQUERADE
COMMIT

Wenn euer Device nicht eth0 heisst, müsst ihr den Befehl entsprechend anpassen. Und falls ihr diese Einstellung gerade getroffen habt, könnt ihr in der wg0.conf des Servers die Parameter PostUp und PostUp wieder auskommentieren.

  1. /etc/ufw/sysctl.conf
nano /etc/ufw/sysctl.conf

net/ipv4/ip_forward=1
net/ipv6/conf/default/forwarding=1
net/ipv6/conf/all/forwarding=1

Client einrichten

Auf den Clients erzeugen wir ebenfalls die Datei /etc/wireguard/wg0.conf und geben ihr diesen Inhalt:

# -------- Client Config ------------------
[Interface]
# IP4 Adresse des Clients, so wie in der Server-Config angegeben (/32!)
# Dieser Client bekommt 10.3.3.2
Address = 10.3.3.2/32 
# IPv6 Adresse des Clients (use /128!)
# Dieser Client bekommt fd04:bab0:3::2
Address = fd04:bab0:3::2/128 
# Der Private Key von Client1 im Plaintext
PrivateKey = GNJJAJT0MQnxRHga8Rzp/hLGoCtsefljhelahDks6EMD8Vw= 


[Peer]
# Wie ist der Server erreichbar? Adresse und Port
#Endpoint = [2a02:08:15:4500:fckafd:4]:45881
#Endpoint = 192.168.0.1:45881
Endpoint = vpn.myserver.org:45881

# Der öffentliche Schlüssel des Servers im Plaintext
PublicKey = emV/wFCKAFD4WIyakB/JEi7jp9wH7zBCi81W+qjuMkWc= 

# Sende alle x Sekunden einen Ping an das Netz 
# um den Tunnel aufrecht zu erhalten. 
# Sollte NIE auf dem Server gesetzt werden, 
# sondern nur dort, wo auch "Endpoint" definiert ist. 
# Also hier im Client...
PersistentKeepalive = 5

# Was soll durch den Tunnel geroutet werden?
## Option 1: nur Tunnelkrams durch den Tunnel routen
AllowedIPs = 10.3.3.0/24, fd04:3::/64 
## Option 2: ALLES durch den Tunnel routen
#AllowedIPs = 0.0.0.0/0, ::/0 
  • Diese Datei muss ich nun bei jedem Client nach dem selben Muster anlegen.
  • Der Client erhält seine fest IP4 und IPv6 über den Tunnel
  • Dieses Mal müssen unter Address jeweils ein /32 bzw /128 vergeben werden (= 1 IP Adresse).
    • Der Parameter AllowedIPs fungiert im Clientmodus wie eine Access-Controll-List. Daher wird an dieser Stelle wieder ein /24 bzw. /64 definiert, um alles von 10.3.3.* bzw. fd04:bab0:3:: über den Tunnel zu routen.
  • Soll der gesamte Datenverkehr über den VPN-Tunnel geroutet werden, muss die zweite AllowedIPs-Zeile aktiviert (und die darüberstehende auskommentiert) werden.

Android

Für mein Handy erstelle mich mir wie oben beschrieben ein Schlüsselpaar und generiere mir eine Clientconfig wie oben, wobei ich die zweite AllowedIPs-Option wähle (alles übers VPN routen). Diese wg0.conf übertrage ich per KDE Connect auf mein Handy.

Als App installiere ich mittels F-Droid WG Tunnel von Zane Schepke, da die Original-Wireguard-App Ende 2023 aus dem F-Droid-Repository geflogen ist (weil sie einen integrierten Aktualisierer bekommen hat, der standardmäßig aktiviert ist und nicht transparent angibt, von wo aus er Aktualisierungen herunterlädt; noch fragt er um Zustimmung).

Jetzt kann ich einfach die übertragene wg0.conf-Datei in der App importieren, und alles funktioniert bestens. Ok, in den App-Einstellungen musste ich noch “Tunnel on untrusted wifi” und “Tunnel on mobile data” aktivieren, dann hat es aber sofort funktioniert.

“Tunnel on untrusted wifi” und “Tunnel on mobile data” aktivieren

Weblinks


Diskussion per Matrix unter https://matrix.to/#/#produnis-blog:tchncs.de

 

Mozilla hat Firefox 124.0.1 veröffentlicht und behebt damit zwei kritische Sicherheitslücken, welche im Rahmen des Hacking-Wettbewerbs Pwn2Own demonstriert worden sind.

Download Mozilla Firefox 124.0.1

Wieder einmal fand ein Pwn2Own-Wettbewerb im Rahmen der CanSecWest Sicherheitskonferenz in Vancouver statt. Und wie bereits im Vorfeld erwartet, hat Mozilla in Form eines schnellen Updates (weniger als 24 Stunden) auf die Firefox betreffenden Ergebnisse reagiert. Firefox 124.0.1 behebt zwei Sicherheitslücken, welche Mozilla beide als kritisch einstuft. Ebenfalls in diesem Zusammenhang veröffentlicht wurde Firefox ESR 115.9.1.

Der Beitrag Sicherheits-Update Firefox 124.0.1 veröffentlicht erschien zuerst auf soeren-hentzschel.at.

20. März 2024

Mozilla hat Firefox 124 für Windows, Apple macOS und Linux veröffentlicht. Dieser Artikel fasst die wichtigsten Neuerungen zusammen – wie immer auf diesem Blog weit ausführlicher als auf anderen Websites.

Download Mozilla Firefox für Microsoft Windows, Apple macOS und Linux

Offene Tabs in Firefox View sortieren

Die mit Firefox 106 eingeführte und mit Firefox 119 stark verbesserte Funktion Firefox View hatte mit Firefox 123 eine Suchfunktion sowie verbesserte Performance erhalten. Firefox 124 bringt eine weitere Verbesserung: Im Reiter der offenen Tabs ist es ab sofort möglich, diese wahlweise nach der neuesten Aktivität oder nach der Tab-Reihenfolge zu sortieren.

Plattform-Verbesserungen auf Apple macOS

Firefox auf macOS nutzt nun endlich auch die native Vollbild-Schnittstelle des Apple-Betriebssystems, womit sich Firefox in bestimmten Aspekten mehr so verhält, wie man es unter macOS erwartet.

Seit macOS 14 zeigt das Apple-Betriebssystem ein Kamera-Symbol in der Menüleiste an, wenn der Kamera-Zugriff für eine Website aktiviert ist. Firefox selbst zeigt ebenfalls ein Kamera-Symbol in der Menüleiste an. Über die neue Option privacy.webrtc.showIndicatorsOnMacos14AndAbove in about:config auf false kann der Indikator, der von Firefox kommt, auf macOS 14 und höher deaktiviert werden.

Die Schriftgröße in Dialogen auf macOS war bisher sehr klein. Hier verwendet Firefox ab sofort eine etwas größere Schrift.

Sonstige Endnutzer-Neuerungen von Firefox 124

Die Textcursor-Steuerung, welche durch Drücken der Taste F7 aktiviert werden kann, funktioniert jetzt auch in PDF-Dateien.

Die Suchmaschine Qwant steht nicht mehr nur bei Verwendung der französischen Sprache, sondern ab sofort auch für Nutzer anderer Sprachen in Frankreich sowie für Nutzer in der Schweiz, Belgien, Italien, den Niederlanden sowie Spanien standardmäßig zur Verfügung.

Für Nutzer, welche die separate Suchleiste aktiviert, aber seit mindestens 120 Tagen nicht genutzt haben, wird diese automatisch aus der Oberfläche entfernt.

Firefox geht jetzt besser mit Änderungen der Netzverbindung um, zum Beispiel bei Aktivierung respektive Deaktivierung eines VPNs oder DNS-over-HTTPS, sodass Firefox bei einem Wechsel nicht mehr erst einmal eine Zeit lang benötigt, um wieder erfolgreich Verbindungen zu Websites aufbauen zu können.

Die Jump List in der Taskleiste von Windows wird nun effizienter befüllt, was die Performance verbessern sollte.

Für Nutzer in den USA gibt es, sofern gesponserte Vorschläge in der Adressleiste aktiviert sind, jetzt auch Suchvorschläge von Yelp.

Mehr Sicherheit für Firefox-Nutzer

Auch in Firefox 124 wurden wieder mehrere Sicherheitslücken geschlossen. Alleine aus Gründen der Sicherheit ist ein Update auf Firefox 124 daher für alle Nutzer dringend empfohlen.

Verbesserungen der Entwicklerwerkzeuge

Mit Firefox 122 hatte Mozilla die Tastatur-Steuerung des Regeln-Panels im Inspektor-Werkzeug überarbeitet. Diese Änderung wurde in Firefox 122.0.1 aufgrund von Nutzer-Feedback standardmäßig wieder rückgängig gemacht und eine Option in about:config implementiert, über welche man das gewünschte Verhalten steuern kann. Firefox 124 ergänzt eine sichtbare Option in den Einstellungen der Entwicklerwerkzeuge.

Das Netzwerkanalyse-Werkzeug zeigt jetzt auch Ressourcen an, welche über das file://-Protokoll geladen werden.

Performance-Verbesserungen gab es für das Regeln-Panel des Inspektors bei vielen zutreffenden CSS-Regeln sowie für die Darstellung von Objekten in der Konsole.

Verbesserungen der Webplattform

Auf CSS-Seite neu ist die Unterstützung von text-wrap: wrap und text-wrap: nowrap. Die Pseudo-Elemente ::first-letter und ::first-line können außerdem jetzt auch für das <text>-Element in SVG-Grafiken verwendet werden.

Firefox unterstützt jetzt AbortSignal.any. Außerdem können jetzt HTTP(S) sowie relative URLs für die Erstellung von WebSockets genutzt werden.

Für Entwickler von Firefox-Erweiterungen wurde ein neues WebExtension-Event hinzugefügt, worüber Erweiterungen Informationen erhalten können, wenn eine Performance-Warnung ausgegeben wird.

Weitere Neuerungen für Entwickler von Websites lassen sich in den MDN Web Docs nachlesen.

Der Beitrag Mozilla veröffentlicht Firefox 124 erschien zuerst auf soeren-hentzschel.at.

19. März 2024

Die MZLA Technologies Corporation hat mit Thunderbird 115.9 ein planmäßiges Update für seinen Open Source E-Mail-Client veröffentlicht.

Neuerungen von Thunderbird 115.9

Mit dem Update auf Thunderbird 115.9 hat die MZLA Technologies Corporation ein planmäßiges Update für seinen Open Source E-Mail-Client veröffentlicht. Das Update bringt diverse Fehlerbehebungen und Verbesserungen unter der Haube, welche sich in den Release Notes (engl.) nachlesen lassen. Auch wurden diverse Sicherheitslücken geschlossen.

Der Beitrag Thunderbird 115.9 veröffentlicht erschien zuerst auf soeren-hentzschel.at.

Im letzten Blogpost habe ich beschrieben, wie ich mein privates Netz mit openVPN aufbaue. In diesem Post möchte ich zeigen, wie man Android-Geräte dem Netz hinzufügen kann, und was ich tun musste, damit der Server korrekt auf IPv4 und IPv6-Anfragen lauscht.

IPv6

Mein Heimserver, der die VPNs aufbaut, ist sowohl per IPv4 als auch per IPv6 erreichbar. Da das Mobilnetz an Handy und Tablet fast ausschließlich IPv6 nutzt, ist es eine gute Idee, auf beiden Netzen zu lauschen. Damit der openVPN-Server sowohl per IPv4 als auch per IPv6 auf Anfragen antwortet, ändere ich in der Server-Config die Stelle

proto udp

auf

proto udp6

UDP6 antwortet mit anderer Adresse

Bei mir gab es das Problem, dass udp6 nicht mit der IP-Adresse auf Anfragen antwortet, an welche die Anfrage abgeschickt wurde. Mein Server hat beispielsweise die feste IPv6 2002:bla:fasel::4/64. Mein Handy sendet nun aus dem Mobilnetz (da gibt es nur IPv6) an diese Adresse seine Anfrage, aber der Server antwortet mit einer neuen IPv6, z.B. 2002:bla:fasel:ätschi:bätsch:4/64. In diesem Falle kommt keine Verbindung zu Stande (das scheint schon länger und immer wieder ein Problem mit UDP zu sein).

Die Lösung besteht darin, in der Server-Config die Zeile multihome zu ergänzen.

proto udp6
multihome

Die Option stellt sicher, dass die UDP-Antwortpakete immer von der Adresse gesendet werden, an welche der Client seine Anfragen gestellt hat.

IPv6-ULA einrichten.

Bislang bekommen alle Clients eine IP4 aus dem 10.5.5.0/24 Bereich, wobei ich über das ccd-Verzeichnis jedem Client eine feste IP gegeben habe. Da ich den Server nun auch aus dem IPv6-Netz heraus erreichbar gemacht habe, verteile ich über mein VPN zusätzlich IPv6-ULA-Adressen aus dem Bereich fd04:bab0::/64, so dass alle Clients auch per IPv6 ansprechbar sind.

Hierfür ergänze ich die Server-Config um folgende Zeilen:

server-ipv6 fd04:bab0::/64        # ULA IPv6 Subnetz für OpenVPN-Clients
push "route-ipv6 fd04:bab0::/64"  # ULA IPv6 Subnetz an die Clients weitergeben

Ebenfalls ergänze ich im ccd-Verzeichnis die Dateien aller Clients um folgende Zeile:

ifconfig-ipv6-push fd04:bab0::xyz/64

wobei ich für xyz jeweils die selbe Ziffer nehme wie im IPv4 Netz.

Nach einem Neustart des VPN-Servers erhalten alle Clients automatisch eine 10.5.5.0/24 sowie eine fd04:bab0::/64-Adresse und können sich gegenseitig über IPv4 oder IPv6 anpingen. An den Client-Configs muss nichts geändert werden.

IPv6 Internet durch den Tunnel routen

Damit auch das globale IPv6-Internet durch den Tunnel geroutet werden kann, müssen die Firewallregeln angepasst werden.

iptables

# iptables
ip6tables -t nat -D POSTROUTING -s fd04:bab0::/64 -o eth0 -j MASQUERADE

ufw

Für IPv6 muss die Datei /etc/ufw/before6.rules angepasst werden. Füge die folgenden Zeilen vor der *filter-Sektion ein, um das NAT für IPv6 zu aktivieren:

nano /etc/ufw/before6.rules

# NAT-Tabelle hinzufügen
*nat
:POSTROUTING ACCEPT [0:0]
# OpenVPN-Regeln hinzufügen
-A POSTROUTING -s fd04:bab0::/64 -o eth0 -j MASQUERADE
COMMIT

Zertifikate erstellen

Damit Handy und Tablet das VPN nutzen können, benötigen sie wieder gültige Zertifikate und den ta.key des VPNs (siehe letzter Blogpost).

Dazu wechsle ich auf meine Zertifikationsinstanz und erstelle wie gewohnt Zertifiakte für Handy und Tablet, z.B. so:

sudo bash
cd /etc/easy-rsa
easyrsa gen-req handy nopass
easyrsa sign-req client handy

easyrsa gen-req tablet nopass
easyrsa sign-req client tablet

Zertifikat für Android umwandeln

Wir können Androids Zertifikateverwaltung nutzen, um die Zertifikate halbwegs “sicher” auf den Geräten zu verwalten. Hierfür bündeln wir

  • /etc/easy-rsa/pki/private/handy.key
  • /etc/easy-rsa/pki/issued/handy.crt
  • /etc/easy-rsa/pki/ca.crt

in einer PKCS-Datei mit dem Namen handy.p12, die wir dann später am Handy importieren können. Der dazugeöhrige Befehl lautet:

openssl pkcs12 -export -in CERT -inkey KEY -certfile CA -name CLIENTNAME -out OUTPUT.p12

In meinem Fall also

openssl pkcs12 -export -in pki/issued/handy.crt -inkey pki/private/handy.key -certfile pki/ca.crt -name handy -out handy.p12

Ihr werdet nach einem Export-Passwort gefragt. Denkt euch irgendetwas halbwegs sicheres aus. Am Handy muss später dieses Passwort beim Import eingegeben werden.

Die erzeugte PKCS-Datei handy.p12 sowie der ta.key des VPN müssen nun auf das Handy kopiert werden. Ich nutze hierfür meine Nextcloud, KDE Connect oder eine E-Mail an mich selbst.

  • Ist die Datei handy.p12 auf das Handy kopiert, klicke ich am Handy auf eben diese Datei, um die Zertifikate in den Android-Zertifikatespeicher aufzunehmen. Hierbei muss das oben erwähnte Passwort eingegeben werden.
  • Die Datei ta.key kopiere ich an eine Stelle meines Handys, die ich mir merken kann, z.B. “Dokumente/OpenVPN”

openVPN for Android

Für Android steht z.B. über F-Droid das Paket von blinkt zur Verfügung, siehe https://f-droid.org/packages/de.blinkt.openvpn/

  • In der Client-App erstelle ich ein neues Profil mit dem Namen “test” (Name ist ja egal).
  • Im Reiter “Basic” klicke ich bei “Client Certificate” auf den Select-Button. So kann ich das eben in Android importierte Zertifikat auswählen.

importierte Zertifikate im Androidspeicher
  • Im Reiter “Server List” trage ich meinen Server ein und wähle unter “Protocol” UDP.

Serveradresse und Protocol “UDP”
  • Unter dem Reiter “Authentication/Encryption” müssen folgende Einstellungen getroffen werden:
    • bei TLS-Settings entferne ich den Haken bei “Certificate Hostname Check”

kein “Certificate Hostname Check”
  • dafür setze ich den Haken bei “Use Control Channel Authentication/Encryption”
    • als “TLS Auth/TLS Encrpytion File” wähle ich den auf das Handy kopierten ta.key
    • als “Authentication/encryption method” wähle ich Encryption (--tls-crypt)

TLS Auth/TLS Encrpytion File ist ta.key und Encryption --tls-crypt
  • bei “Encryption ciphers” trage ich (gemäß meiner Server-Config) AES-256-CBC:AES-256-GCM ein.

Encryption ciphers auf AES-256-CBC:AES-256-GCM

Das funktioniert wunderbar, und mein Handy kann sich mit meinem VPN verbinden.

erfolgreich verbunden

Jetzt können sich alle Clients (auch die Mobilgeräte über IPv6) mit dem Server verbinden und sich gegenseitig anpingen.

gesamten Verkehr der Mobilgeräte über das VPN routen

Im Reiter “Routing” können bei Bedarf die Haken bei “Use default Route” für IPv4 und IPv6 gesetzt werden. Dann wird der gesamte Datenverkehr des Handys über das VPN geroutet. Die Server-Config muss dafür nicht angefasst werden.

alles übers VPN routen

Das ist sehr vorteilhaft, z.B. wenn man in einem ranzigen WLAN unterwegs ist (McDoof, Bahn, etc.) oder im Ausland dennoch “Sportschau” übers Netz schauen möchte. Auch funktioniert KDE Connect bestens über das VPN, was für meinen Büro-PC sehr gut ist.

Möchtet ihr auch bei anderen Clients (z.B. beim Laptop) den gesamten Datenverkehr durch das VPN routen, müsst ihr in dessen Client-Config folgende Zeile ergänzen:

redirect-gateway def1 # leitet gesamten Datenverkehr über das VPN

Das def1 steht für “default route” und muss nicht weiter angepasst werden. Nun läuft auch am Laptop alles über das VPN.

Weblinks


Diskussion per Matrix unter https://matrix.to/#/#produnis-blog:tchncs.de

 

Nutzer von Firefox auf openSUSE sehen derzeit sämtliche Erweiterungen deaktiviert. Schuld ist eine Änderung seitens der Linux-Distribution.

Firefox-Nutzer, welche die Linux-Distribution openSUSE nutzen, können derzeit nicht ihre Firefox-Erweiterungen verwenden. Die Ursache hierfür ist eine Änderung des crypto-policies-Paketes, welche openSUSE ausgerollt hat und nicht kompatibel mit Firefox ist. Betroffene Nutzer sollten auf ein Update warten, welche diese Änderung wieder rückgängig macht. Vom Entfernen und erneuten Installieren der Firefox-Erweiterungen wird abgeraten, da hierdurch die Konfigurationen der jeweiligen Erweiterungen verloren gehen.

Update 14.50 Uhr: Mittlerweile hat openSUSE auf das Problem reagiert und das betroffene Paket erneut aktualisiert. Damit tritt das Problem nicht länger auf.

Der Beitrag openSUSE-Update sorgt für deaktivierte Erweiterungen in Firefox erschien zuerst auf soeren-hentzschel.at.

18. März 2024

Wenn ich über Rolling-Release-Distributionen und den Wartungsaufwand von Linux schreibe, kommen zuverlässig Kommentare, dass das alles kein Problem sei und man selbst seit x Jahren mit der Distribution y ohne Neuinstallation arbeitet. Kann sein. Muss es nicht. Vor allem aber fehlt es an Planbarkeit.

Ende Februar hat KDE das lange angekündigte Mega Release veröffentlicht. Dabei handelt es sich um die gleichzeitige Aktualisierung des Plasma-Desktops auf Version 6 und der nun auf Qt 6 basierenden Applikationssammlung. Im Gegensatz zu früheren Versionssprüngen ist KDE hier ein grundsolides Release gelungen. Es gibt sinnvolle Verbesserungen, keine großen Brüche, keine signifikanten Funktionseinbußen und vor allem keine riesigen Buglisten. Hier hat KDE definitiv dazugelernt.

Für ein paar Tage war dann Ruhe. Schließlich mussten die Entwickler erst testen, dann bauen und die QA musste auch noch drüber laufen. Aber letzte Woche wurde Plasma 6 und alles was dazu gehört in openSUSE Tumbleweed verteilt. Das geschah ohne Zeitplan und ohne große Ankündigung. Wem das gerade nicht in den Kram passte, weil er das System gerade dringend für einen Arbeitsprozess oder ähnliches benötigte, der konnte ab diesem Tag nur noch das Aktualisieren und Neuinstallieren von Paketen einstellen. Sicherheitsupdates kommen dann natürlich auch nicht mehr. Rolling Release heißt eben auch unweigerlich mitrollen.

Das Update selbst ruckelte sehr stark. Das berichten viele Nutzer. Die Probleme – das möchte ich ausdrücklich betonen – lagen nicht bei KDE, sondern bei der Update-Routine von openSUSE. Der eigentliche Vorgang über zypper brach bei Anwendern mit laufender Wayland-Session mittendrin ab. Wer dann nicht auf TTY wechselte und dort das Update beendete, hatte ein inkonsistentes System und landete bestenfalls nach einem Neustart wieder bei Plasma 5. Größere Probleme waren dann noch fehlende Übergänge bei SDDM, weshalb hier entweder die Konfigurationsmöglichkeit verloren ging oder gleich alle Pakete. Die automatische Entsperrung von KWallet über PAM funktionierte nicht mehr und die Desktopsuche Baloo hing in einem Mix aus 5 und 6 fest. Hinzu kamen kleinere und größere Probleme mit einzelnen Programmen. Je nach Einschätzung des Aufwandes konnte man sich dann entweder einzeln auf Fehlersuche begeben (wobei ein Unfallauto immer ein Unfallauto bleibt) oder neu installieren. Das Zurückspringen über Snapper und ein erneuter Versuch brachte letztlich meist ein ähnliches Ergebnis, ist also nicht die Lösung.

Jetzt wird natürlich wieder jemand schreiben, mit der Distribution xyz wäre das nicht passiert, man hätte nur dies und jenes beachten müssen usw. usf.

Aber meiner Ansicht nach zeigt diese fehlerhaften Aktualisierung wieder verschiedene Punkte:

  • RR-Verteilungen sind nur für den unkritischen privaten Gebrauch geeignet. Solche Großupdates sind nicht planbar, nicht vorhersehbar und nicht verschiebbar. Das macht RR-Distributionen für den produktiven Einsatz ungeeignet.
  • Die klassische Paketverwaltung mit ihren systemimmanenten Problemen ist am Ende ihres Entwicklungszyklus angelangt. Bessere Übergänge bei openSUSE hätten manches verhindert, aber das System aus tausenden Paketen mit fein definierten Abhängigkeiten und Überleitungen ist ein fehleranfälliges Konstrukt. Ein festes Image aus Basissystem und Desktop plus Anwendungsprogrammen hätte diese Probleme beim Update nicht verursacht.
  • Linux ist und bleibt wartungsintensiver als vergleichbare Systeme.

Der Artikel Kommentar: Die Tücken von Rolling-Release-Distributionen erschien zuerst auf Curius

16. März 2024

In diesem Blogpost zeige ich Schritt für Schritt, wie ich mein privates openVPN-Netzwerk aufgebaut habe. Zu dem Thema gibt es übrigens eine sehr empfehlenswerte Podcastfolge von Request for Comments, in welcher Clemens Schrimpe ausführlich über VPN spricht.

Mein VPN soll die IPs 10.5.5.0/24 verwenden und eigentlich “nur” dazu dienen, die Clients miteinander zu verbinden. Es kann aber auch easy der gesamte Internettraffic über dass VPN geleitet werden.

Hardware

Folgende Geräte kommen zum Einsatz:

  • Master-CA- ist die Zertifikationsinstanz, welche die Zertifikate ausstellt und signiert. Dies übernimmt mein Desktoprechner zuhause
  • openVPN-Server - das übernimmit mein Homeserver
  • Clients - mein Desktoprechner, mein Laptop sowie mein Büro-PC

Installieren

Zunächst installiere ich die benötigten Pakete:

sudo apt install openvpn easy-rasa

Ich nutze Arch, btw, daher nutze ich Pacman:

pacman -S openvpn easy-rsa 

Zertifikate anlegen

Bevor es wirklich los gehen kann, müssen die grundlegenden Zertifikate erstellt werden.

Master CA

Wir sind unsere eigene Zertifikationsinstanz, die alle weiteren Zertifikate für Server und Clients signiert. Diese Zertifikationsinstanz sollte auf einer anderen Maschine laufen als dem openVPN Server. Daher nutze ich meinen Desktop-PC zu hause dafür.

Wir erstellen zunächst das passende Verzeichnis unter /etc/easy-rsa

sudo bash
mkdir /etc/easy-rsa
cd /etc/easy-rsa

… und erzeugen hier das Master-CA ca.crt:

export EASYRSA=$(pwd)
easyrsa init-pki
easyrsa build-ca

Denke dir ein starkes Passwort für das Master-CA aus, und gib dir einen Common Name, ich habe da “Produnis” gewählt.

Die Datei ca.crt liegt nun im Unterordner pki/

Serverzertifikat

Jetzt legen wir die Zertifikate für unseren openVPN-Server an und signieren sie mit unserem Master-CA:

easyrsa gen-req SERVERNAME nopass
easyrsa sign-req server SERVERNAME

Wir müssen die Aktion mit yes bestätigen und das eben erzeugte Passwort des Master-CA eingeben.

Das erzeugte und signierte Zertifikat für den openVPN-Server liegt nun in pki/private/SERVERNAME.key bereit. Ebenfalls liegt dort die Datei pki/private/ca.key. Diese benötigen wir später noch, um weitere Zertifikate zu signieren.

Der openVPN-Server benötigt noch weitere Dateien für die Verschlüsslung des Netzwerks. Da diese Dateien auch von den Clients benötigt werden, erzeuge ich mir ein eigenes Verzeichnis hierfür, welches so heisst, wie das VPN-Netz, das ich erzeugen möchte. In meinem Fall soll das Netzwerk “produnis” heissen. Der Name ist egal, aber so verliert man nicht die Übersicht.

mkdir /etc/easy-rsa/produnis

# diffie hellman für Perfect Forward Secrecy (PFS)
openssl dhparam -out /etc/easy-rsa/produnis/dh.pem 2048

# HMAC key um Man-in-the-Middle-Angriffe zu unterbinden
openvpn --genkey secret /etc/easy-rsa/produnis/ta.key

Jetzt kopieren wir alles auf den openVPN-Server. Folgende Dateien werden dort benötigt:

  • /etc/easy-rsa/pki/private/SERVERNAME.key
  • /etc/easy-rsa/pki/issued/SERVERNAME.crt
  • /etc/easy-rsa/pki/ca.crt
  • /etc/easy-rsa/produnis/dh.pem
  • /etc/easy-rsa/produnis/ta.key

Ich kopiere die Dateien zunächst ins /tmp-Verzeichnis des Servers.

scp /etc/easy-rsa/pki/private/SERVERNAME.key /etc/easy-rsa/pki/issued/SERVERNAME.crt /etc/easy-rsa/pki/ca.crt /etc/easy-rsa/produnis/dh.pem /etc/easy-rsa/produnis/ta.key user@server:/tmp 

Server einrichten

Verbinde dich auf den Server und erstelle ein Unterverzeichnis in /etc/openvpn/server/, das wie das VPN-Netz heisst. Ich hatte ja produnis als Netznamen gewählt.

ssh user@server
sudo bash
mkdir /etc/openvpn/server/NETZNAME

In diesen Ordner verschiebe ich die kopierten Dateien.

mv /tmp/SERVERNAME.key /tmp/SERVERNAME.crt /tmp/ca.crt /tmp/dh.pem /tmp/ta.key /etc/openvpn/server/NETZNAME/

Im “Hauptordner” /etc/openvpn/server/ erstelle ich die Datei produnis.conf mit folgendem Inhalt:

port 1194
proto udp
dev tun
server 10.5.5.0 255.255.255.0 

# ihr müsst "produnis" durch eure Namen ersetzen
ca /etc/openvpn/server/produnis/ca.crt
cert /etc/openvpn/server/produnis/produnis.crt
key /etc/openvpn/server/produnis/produnis.key  # This file should be kept secret
dh /etc/openvpn/server/produnis/dh.pem
tls-crypt /etc/openvpn/server/produnis/ta.key

client-to-client # damit sich die clients untereinander sehen können
ifconfig-pool-persist /etc/openvpn/server/produnis/ipp.txt
keepalive 10 120
cipher AES-256-CBC
max-clients 5
persist-key
persist-tun
status /etc/openvpn/server/produnis/openvpn-status.log
verb 3
explicit-exit-notify 1

Stelle sicher, dass openVPN auf alle Dateien zugreifen kann:

chown openvpn:network -R /etc/openvpn/server

Starte den Server mittels

openvpn /etc/openvpn/server/produnis.conf

Systemd

Alle Konfigurationsdateien liegen in /etc/openvpn/server/, z.B. /etc/openvpn/server/produnis.conf. Die passende systemd-Service-Unit heisst nun genauso wie die .conf-Datei (nur ohne .conf) openvpn-server@servername.service.

In meinem Fall also

systemctl start openvpn-server@produnis.service
systemctl status openvpn-server@produnis.service

Clients hinzufügen

Auf der Master-CA-Maschine erzeugen wir nun weitere Zertifikate für jeden Client.

sudo bash
cd /etc/easy-rsa
easyrsa gen-req CLIENTNAME nopass
easyrsa sign-req client CLIENTNAME

Wir müssen die Aktion mit yes bestätigen und das oben erzeugte Passwort des Master-CA eingeben.

Jetzt können wieder alle Dateien auf den Client übertragen werden. Benötigt werden

  • /etc/easy-rsa/pki/private/CLIENTNAME.key
  • /etc/easy-rsa/pki/issued/CLIENTNAME.crt
  • /etc/easy-rsa/pki/ca.crt
  • /etc/easy-rsa/produnis/ta.key

Ich kopiere diese Dateien zunächst ins /tmp-Verzeichnis auf dem Client:

scp /etc/easy-rsa/pki/issued/CLIENTNAME.crt /etc/easy-rsa/pki/private/CLIENTNAME.key /etc/easy-rsa/pki/ca.crt /etc/easy-rsa/produnis/ta.key user@client:/tmp

Konfiguration der Clients

Auf dem Client erstelle ich im Ordner /etc/openvpn/client/ einen Unterordner produnis. In diesen lege ich alle Zertifikate.

ssh user@client
sudo bash
mkdir /etc/openvpn/client/produnis
mv /tmp/ca.crt /tmp/ta.key /tmp/CLIENTNAME.key /tmp/CLIENTNAME.crt /etc/openvpn/client/produnis/

Im “Hauptordner” /etc/openvpn/client/ erstelle ich die Datei produnis.conf mit folgendem Inhalt:

client
dev tun
proto udp

remote mein.server.de 1194  # ersetze mit Adresse des openVPN-Server
ca /etc/openvpn/client/produnis/ca.crt
cert /etc/openvpn/client/produnis/CLIENTNAME.crt
key /etc/openvpn/client/produnis/CLIENTNAME.key
tls-crypt /etc/openvpn/client/produnis/ta.key
cipher AES-256-CBC
resolv-retry infinite
nobind
persist-key
persist-tun
tun-mtu 1350 # Unitymedia/Vodafone
verb 3

Stelle sicher, dass openVPN auf alle Dateien zugreifen kann:

chown openvpn:network -R /etc/openvpn/client

Starte den Client mittels

openvpn /etc/openvpn/client/produnis.conf

Mit Systemd starten

Alle Konfigurationsdateien liegen in /etc/openvpn/client/, z.B. /etc/openvpn/client/produnis.conf. Die passende systemd-Service-Unit heisst nun genauso wie die .conf-Datei (nur ohne .conf) openvpn-client@produnis.service.

In meinem Fall also wieder

sudo systemctl start openvpn-client@produnis.service
sudo systemctl status openvpn-client@produnis.service

statische IP-Adresse für die Clients festlegen

Dies ist eine Art DHCP-light, wir teilen jedem Client eine feste IP innerhalb des VPN-Netzes zu.

Erstelle auf dem Server ein Unterverzeichnis ccd (client config dir) und lege dort je eine Datei für jeden Client an.

mkdir /etc/openvpn/server/produnis/ccd
cd  /etc/openvpn/server/produnis/ccd
nano CLIENTNAME

CLIENTNAME ist dabei der Name, den du beim Erzeugen der Zertifikate verwendet hast. Anhand des Zertifikats erkennt der Server den Client.

In die Datei schreibst du:

ifconfig-push 10.5.5.x 10.5.5.1

wobei du x durch die gewünschte IP ersetzt. Die zweite IP ist die des VPN-Servers, also immer 10.5.5.1.

Damit der Server über unsere IP-Listen Bescheid weiss, muss /etc/openvpn/server/produnis.conf um folgende Zeile erweitert werden:

client-config-dir /etc/openvpn/server/produnis/ccd

Anschließend muss openVPN neu gestartet werden, z.B. mittels

systemctl restart openvpn-server@produnis.service

Firewall anpassen

Falls ihr eine Firewall benutzt (und ich hoffe doch sehr, dass dies der Fall ist), muss diese für openVPN angepasst werden. Einerseits müssen Ports freigegeben werden (standardmäßig 1194 udp), anderseits müssen wir intern NAT einrichten, wenn der Internetverkehr über den Tunnel geroutet werden soll.

iptables

Die iptables-Firewall muss auf dem Server und auf den Clients angepasst werden, damit openVPN funktioniert:

## openvpn general settings für Server und Client
iptables -A INPUT -i tun+ -j ACCEPT
iptables -A FORWARD -i tun+ -j ACCEPT

## nur auf dem Server nächste Zeile ausführen
## Dies setzt das NAT auf, damit Internet durch den Tunnel geroutet wird
#iptables -t nat -A POSTROUTING -s 10.5.5.0/24 -o eth0 -j MASQUERADE 

## auf Server und Client muss Port 1194 fuer openVPN geöffnet werden
iptables -A INPUT -i eth0 -p udp --destination-port 1194 -j ACCEPT

Wenn euer Device nicht eth0 heisst, müsst ihr den Befehl entsprechend anpassen.

ufw

Die ufw-Firewall muss auf dem Server und auf den Clients angepasst werden, damit openVPN funktioniert:

# openVPN
sudo ufw allow 1194
sudo ufw allow out 1194/udp

Auf dem Server müssen noch drei weitere Einstellungen getroffen werden, damit das Netz funktioniert.

  1. /etc/default/ufw
nano /etc/default/ufw 

DEFAULT_FORWARD_POLICY="ACCEPT"
  1. /etc/ufw/before.rules, füge die folgenden Zeilen vor der *filter-Sektion ein, um das NAT zu aktivieren:
nano /etc/ufw/before.rules

# NAT-Tabelle hinzufügen
*nat
:POSTROUTING ACCEPT [0:0]
# OpenVPN-Regeln hinzufügen
-A POSTROUTING -s 10.5.5.0/24 -o eth0 -j MASQUERADE
COMMIT

Wenn euer Device nicht eth0 heisst, müsst ihr den Befehl entsprechend anpassen.

  1. /etc/ufw/sysctl.conf
nano /etc/ufw/sysctl.conf

net/ipv4/ip_forward=1
net/ipv6/conf/default/forwarding=1
net/ipv6/conf/all/forwarding=1

Fertig

Jetzt sollten sich alle Clients mit dem Server verbinden und sich untereinander “sehen” können. Da jeder Client von mir eine fest IP-Adresse zugewiesen bekommen hat, kann ich nun easy per ssh von Client zu Client oder auf den Server verbinden. Genau so, wie ich es wollte.

gesamten Traffic über das VPN routen

Damit ein Client seinen gesamten Traffic über den VPN tunnelt, muss in der Client-Config folgende Zeile ergänzt werden:

redirect-gateway def1 # leitet gesamten Datenverkehr über das VPN

Das def1 steht für “default route” und muss nicht weiter angepasst werden.

siehe auch

  • Im nächsten Blogpost zeige ich, wie ich Handy und Tablet unter Android dem VPN hinzugefügt und IPv6 aktiviert habe.
  • Weil es so schön war, hab ich alles nochmal mit Wireguard nachgebaut.

Weblinks


Diskussion per Matrix unter https://matrix.to/#/#produnis-blog:tchncs.de

 

15. März 2024

Mozilla hat bekannt gegeben, dass der Mozilla Location Service als Alternative zum Geolocation-Service von Google eingestellt wird.

Für die Positionsbestimmung auf Websites über die Geolocation-API verwenden Browser einen sogenannten Geolokalisierungs-Dienst. Auch Mozilla hat mit dem Mozilla Location Service (MLS) einen solchen Dienst im November 2013 gestartet. Dieser wurde seit März 2015 bis zuletzt im November 2023 standardmäßig anstelle des Google-Dienstes in Nightly- und frühen Beta-Versionen von Firefox als Dienst für die Geolocation-API verwendet. Finale Firefox-Versionen hatten zu jeder Zeit standardmäßig den Google-Dienst genutzt. Auch in finalen Firefox-Versionen wird der Mozilla Location Service für die Bestimmung der Suchregion verwendet, welche unter anderem dafür verantwortlich ist, welche Suchmaschinen standardmäßig zur Verfügung stehen.

Die Daten hat Mozilla dabei von der Community erhalten. So gab es ursprünglich mit dem Mozilla Stumbler eine eigene Android-App, welche GPS-Daten auf Grundlage von Bluetooth-Beacons, Mobilfunkmasten und WLAN-Zugangspunkten für den Mozilla Location Service sammelte. Auch in Firefox 35 für Android wurde im Jahr 2015 eine entsprechende Funktion integriert. Im Jahr 2019 war Skyhook Holdings, Inc. allerdings der Meinung, Mozilla verletzte deren Patente. Mozilla einigte sich, um einen Rechtsstreit zu vermeiden, was Änderungen an den MLS-Richtlinien zur Folge hatte und weitere Investitionen und einen Ausbau erschwerten. Insbesondere eine mögliche kommerzielle Verwendung des Mozilla Location Services wurde damit erheblich eingeschränkt. Mit Veröffentlichung von Android 10 im gleichen Jahr funktionierte außerdem die Stumbler-App nicht mehr, welche 2021 schließlich offiziell eingestellt worden war. Dementsprechend ist auch die Genauigkeit des Mozilla Location Services in den letzten Jahren gesunken. Nun hat Mozilla die Einstellung des Projekts bekannt gegeben.

Neue API-Keys werden bereits keine mehr ausgestellt. Ab dem 27. März werden keine Daten mehr über die API entgegengenommen und keine neuen Exports mehr als Download bereitgestellt. Am 10. April werden die Downloads gelöscht. Ab dem 12. Juni wird der Mozilla Location Service nur noch für Mozillas Anwendungsfälle zur Verfügung stehen. Am 31. Juli wird schließlich das GitHub-Repository archiviert werden.

Der Beitrag Mozilla Location Service wird eingestellt erschien zuerst auf soeren-hentzschel.at.

14. März 2024

Mozilla hat noch einmal sein Bekenntnis erneuert, anders als Google und damit stellvertretend auch für andere Entwickler von Chromium-basierten Browsern, parallel zur Unterstützung des Manifest v3 auch Erweiterungen mit dem Manifest v2 langfristig weiter in Firefox zu unterstützen.

Entwickler von Browser-Erweiterungen nutzen die sogenannte WebExtension-Architektur. Dabei gibt es die ältere Version des Standards, das sogenannte Manifest v2, und dessen Weiterentwicklung, das Manifest v3. Firefox unterstützt seit Veröffentlichung von Firefox 109 im Januar 2023 das Manifest v3 zu großen Teilen.

Während Google seinen Plan aktiv vorantreibt, die Unterstützung für das Manifest v2 ab Sommer 2024 für Privatanwender und ab Juni 2025 für Enterprise-Nutzer einzustellen, hat Mozilla noch einmal bestätigt, keine Pläne zu haben, die Unterstützung für das Manifest v2 in Firefox in absehbarer Zukunft einzustellen. Und selbst, wenn Mozilla die Entscheidung irgendwann überdenken sollte, verspricht Mozilla, dies mit einem Vorlauf von mindestens einem Jahr anzukündigen.

Firefox wird auch weiterhin DOM-basierte Hintergrundscripte in Form von Event Pages sowie blockierende WebRequests im Manifest v3 unterstützen – zwei Features, welche Google mit dem Manifest v3 gestrichen hat und damit Entwickler von Erweiterungen für Chromium-basierte Browser einschränkt.

Der Beitrag Mozilla bekräftigt langfristige Manifest v2-Unterstützung in Firefox erschien zuerst auf soeren-hentzschel.at.

11. März 2024

Firefox besitzt eine Übersetzungsfunktion für Websites, welche im Gegensatz zu Cloud-Übersetzern wie Google Translate lokal arbeitet, die eingegebenen Texte also nicht an einen fremden Server sendet. Nun hat Mozilla weitere unterstützte Sprachen aktiviert.

Firefox wird seit Version 118 standardmäßig mit einer lokalen Funktion zur maschinellen Übersetzung von Websites für den Browser ausgeliefert. Das bedeutet, dass die Übersetzung vollständig im Browser geschieht und keine zu übersetzenden Inhalte an einen Datenriesen wie Google oder Microsoft übermittelt werden müssen. Dabei unterstützt Firefox bisher die Übersetzung aus und in die folgenden Sprachen: Deutsch, Englisch, Französisch, Italienisch, Spanisch, Portugiesisch, Niederländisch, Polnisch sowie Bulgarisch.

Ab sofort werden weitere Sprachen unterstützt. So kann Firefox nun Websites auf Estnisch in andere Sprachen und umgekehrt übersetzen. Websites in den folgenden Sprachen können außerdem jetzt in eine der anderen unterstützten Sprachen übersetzt werden, aber noch nicht umgekehrt: Finnisch, Griechisch, Russisch, Slowenisch, Türkisch, Ukrainisch sowie Ungarisch.

Da die Sprachmodelle über die Remote-Einstellungen von Firefox bereitgestellt werden, ist die Unterstützung neuer Sprachen an kein Firefox-Update gebunden und funktioniert direkt in jedem Firefox mit aktivierter Übersetzungsfunktion.

Nightly-Versionen von Firefox unterstützen noch weitere Sprachen, deren Übersetzungsqualität aber von Mozilla als noch nicht gut genug beurteilt wurde, um diese jetzt schon in Beta- oder gar finalen Firefox-Versionen zu aktivieren. Da Übersetzungen in Firefox aktuell immer den Weg über Englisch gehen, steht Englisch in dieser Liste stellvertretend für alle unterstützten Sprachen, aus denen oder in die übersetzt werden soll.

Der Beitrag Übersetzungsfunktion von Firefox spricht jetzt weitere Sprachen erschien zuerst auf soeren-hentzschel.at.

7. März 2024

Es gibt unzählige Möglichkeiten, die Web-Werbung zu minimieren. Die c’t hat kürzlich ausführlich zum Thema berichtet, aber die entsprechenden Artikel befinden sich auf heise.de hinter einer Paywall. Und heise.de ist ja mittlerweile auch eine Seite, die gefühlt mindestens so viel Werbung in ihre Texte einbaut wie spiegel.de. Das ist schon eine Leistung … Entsprechend lahm ist der Seitenaufbau im Webbrowser.

Egal, alles, was Sie wissen müssen, um zuhause einigermaßen werbefrei zu surfen, erfahren Sie auch hier — kostenlos und werbefrei :-)

Raspberry Pi 3B+ mit USB-WLAN-Adapter

Konzept

Die Idee ist simpel: Parallel zum lokalen Netzwerk zuhause richten Sie mit einem Raspberry Pi ein zweites WLAN ein. Das zweite Netz verwendet nicht nur einen anderen IP-Adressbereich, sondern hat auch einen eigenen Domain Name Server, der alle bekannten Ad-Ausliefer-Sites blockiert. Jeder Zugriff auf eine derartige Seite liefert sofort eine Null-Antwort. Sie glauben gar nicht, wie schnell die Startseite von heise.de, spiegel.de etc. dann lädt!

Alle Geräte im Haushalt haben jetzt die Wahl: sie können im vorhandenen WLAN des Internet-Routers bleiben, oder in das WLAN des Raspberry Pis wechseln. (Bei mir zuhause hat dieses WLAN den eindeutigen Namen/SSID wlan-without-ads.)

RaspAP auf dem Raspberry Pi spannt ein eigenes (beinahe) werbefreies WLAN auf

Zur Realisierung dieser Idee brauchen Sie einen Raspberry Pi — am besten nicht das neueste Modell: dessen Rechenleistung und Stromverbrauch sind zu höher als notwendig! Ich habe einen Raspberry Pi 3B+ aus dem Keller geholt. Auf dem Pi installieren Sie zuerst Raspbian OS Lite und dann RaspAP. Sie schließen den Pi mit einem Kabel an das lokale Netzwerk an. Der WLAN-Adapter des Raspberry Pis realisiert den Hotspot und spannt das werbefreie lokale Zweit-Netzwerk auf. Die Installation dauert ca. 15 Minuten.

Raspberry Pi OS Lite installieren

Zur Installation der Lite-Version von Raspberry Pi OS laden Sie sich das Programm Raspberry Pi Imager von https://www.raspberrypi.com/software/ herunter und führen es aus. Damit übertragen Sie Raspberry Pi OS Lite auf eine SD-Karte. (Eine SD-Karte mit 8 GiB reicht.) Am besten führen Sie gleich im Imager eine Vorweg-Konfiguration durch und stellen einen Login-Namen, das Passwort und einen Hostnamen ein. Sie können auch gleich den SSH-Server aktivieren — dann können Sie alle weiteren Arbeiten ohne Tastatur und Monitor durchführen. Führen Sie aber keine WLAN-Konfiguration durch!

Mit der SD-Karten nehmen Sie den Raspberry Pi in Betrieb. Der Pi muss per Netzwerkkabel mit dem lokalen Netzwerk verbunden sein. Melden Sie sich an (wahlweise mit Monitor + Tastatur oder per SSH) und führen Sie ein Update durch (sudo apt update und sudo apt full-upgrade).

RaspAP installieren

RaspAP steht für Raspberry Pi Access Point. Sein Setup-Programm installiert eine Weboberfläche, in der Sie unzählige Details und Funktionen Ihres WLAN-Routers einstellen können. Dazu zählen:

  • Verwendung als WLAN-Router oder -Repeater
  • freie Auswahl des WLAN-Adapters
  • frei konfigurierbarer DHCP-Server
  • Ad-Blocking-Funktion
  • VPN-Server (OpenVPN, WireGuard)
  • VPN-Client (ExpressVPN, Mullvad VPN, NordVPN)

An dieser Stelle geht es nur um die Ad-Blocking-Funktionen, die standardmäßig aktiv sind. Zur Installation laden Sie das Setup-Script herunter, kontrollieren kurz mit less, dass das Script wirklich so aussieht, als würde es wie versprochen RaspAP installieren, und führen es schließlich aus.

Die Rückfragen, welche Features installiert werden sollen, können Sie grundsätzlich alle mit [Return] beantworten. Das VPN-Client-Feature ist nur zweckmäßig, wenn Sie über Zugangsdaten zu einem kommerziellen VPN-Dienst verfügen und Ihr Raspberry Pi diesen VPN-Service im WLAN weitergeben soll. (Das ist ein großartiger Weg, z.B. ein TV-Gerät via VPN zu nutzen.)

Welche Funktionen Sie wirklich verwenden, können Sie immer noch später entscheiden. Das folgende Listing ist stark gekürzt. Die Ausführung des Setup-Scripts dauert mehrere Minuten, weil eine Menge Pakete installiert werden.

wget https://install.raspap.com -O raspap-setup.sh
less raspap-setup.sh
bash raspap-setup.sh

The Quick Installer will guide you through a few easy steps
Using GitHub repository: RaspAP/raspap-webgui 3.0.7 branch
Configuration directory: /etc/raspap
lighttpd root: /var/www/html? [Y/n]:
Installing lighttpd directory: /var/www/html
Complete installation with these values? [Y/n]:
Enable HttpOnly for session cookies? [Y/n]:
Enable RaspAP control service (Recommended)? [Y/n]:
Install ad blocking and enable list management? [Y/n]:
Install OpenVPN and enable client configuration? [Y/n]:
Install WireGuard and enable VPN tunnel configuration? [Y/n]:
Enable VPN provider client configuration? [Y/n]: n
The system needs to be rebooted as a final step. Reboot now? [Y/n]

Wenn alles gut geht, gibt es nach dem Neustart des Raspberry Pi ein neues WLAN mit dem Namen raspi-webgui. Das Passwort lautet ChangeMe.

Sobald Sie Ihr Notebook (oder ein anderes Gerät) mit diesem WLAN verbunden haben, öffnen Sie in einem Webbrowser die Seite http://10.3.141.1 (mit http, nicht https!) und melden sich mit den folgenden Daten an:

Username: admin
Passwort: secret

In der Weboberfläche sollten Sie als Erstes zwei Dinge ändern: das Admin-Passwort und das WLAN-Passwort:

  • Zur Veränderung des Admin-Passworts klicken Sie auf das User-Icon rechts oben in der Weboberfläche, geben einmal das voreingestellte Passwort secret und dann zweimal Ihr eigenes Passwort an.
  • Die Eckdaten des WLANs finden Sie im Dialogblatt Hotspot. Das Passwort können Sie im Dialogblatt Security verändern.

Die Weboberfläche von RaspAP mit den Hotspot-Einstellungen
Bei den Ad-Block-Einstellungen sind keine Änderungen erforderlich. Es schadet aber nicht, hin und wieder die Ad-Blocking-Liste zu erneuern.

RaspAP verwendet automatisch den WLAN-Namen (den Service Set Identifier) raspi-webgui. Auf der Einstellungsseite Hotspot können Sie einen anderen Namen einstellen. Ich habe wie gesagt wlan-without-ads verwendet. Danach müssen sich alle Clients neu anmelden. Fertig!

USB-WLAN-Adapter

Leider hat der lokale WLAN-Adapter des Raspberry Pis keine großartige Reichweite. Für’s Wohnzimmer oder eine kleine Wohnung reicht es, für größere Wohnungen oder gar ein Einfamilienhaus aber nicht. Abhilfe schafft ein USB-WLAN-Antenne. Das Problem: Es ist nicht einfach, ein Modell zu finden, das vom Linux-Kernel auf Anhieb unterstützt wird. Ich habe zuhause drei USB-WLAN-Adapter. Zwei haben sich als zu alt erwiesen (kein WPA, inkompatibel mit manchen Client-Geräten etc.); der dritte Adapter (BrosTrend AC650) wird auf Amazon als Raspberry-Pi-kompatibel beworben, womit ich auch schon in die Falle getappt bin. Ja, es gibt einen Treiber, der ist aber nicht im Linux-Kernel inkludiert, sondern muss manuell installiert werden:

https://github.com/ElectricRCAircraftGuy/BrosTrendWifiAdapterSoftware

Immerhin gelang die Installation unter Raspberry Pi OS Lite auf Anhieb mit dem folgenden, auf GitHub dokumentierten Kommando:

sh -c 'busybox wget deb.trendtechcn.com/install \
       -O /tmp/install && sh /tmp/install'

Mit dem nächsten Neustart erkennt Linux den WLAN-Adapter und kann ihn nutzen. Das ändert aber nichts daran, dass mich die Installation von Treibern von dubiosen Seiten unglücklich macht, dass die Treiberinstallation nach jedem Kernel-Update wiederholt werden muss und dass die manuelle Treiberinstallationen bei manchen Linux-Distributionen gar nicht möglich ist (LibreELEC, Home Assistant etc.).

Wenn Sie gute Erfahrungen mit einem USB-WLAN-Adapter gemacht haben, hinterlassen Sie bitte einen kurzen Kommentar!

Sobald RaspAP den WLAN-Adapter kennt, bedarf es nur weniger Mausklicks in der RaspAP-Weboberfläche, um diesen Adapter für den Hotspot zu verwenden.

Alternativ können Sie den internen WLAN-Adapter auch ganz deaktivieren. Dazu bauen Sie in config.txt die folgende Zeile ein und starten den Raspberry Pi dann neu.

# Datei /boot/firmware/config.txt
...
dtoverlay=disable-wifi

Danach kennt Raspberry Pi OS nur noch den USB-WLAN-Adapter, eine Verwechslung ist ausgeschlossen.

Vorteile

Der größte Vorteil von RaspAP als Ad-Blocker ist aus meiner Sicht seine Einfachheit: Der Werbeblocker kann mit minimalem Konfigurationsaufwand von jedem Gerät im Haushalt genutzt werden (Opt-In-Modell). Sollte RaspAP für eine Website zu restriktiv sein, dauert es nur wenige Sekunden, um zurück in das normale WLAN zu wechseln. Bei mir zuhause waren alle Familienmitglieder schnell überzeugt.

Nachteile

  • Der Raspberry Pi muss per Ethernet-Kabel mit dem lokalen Netzwerk verbunden werden.
  • Manche Seiten sind so schlau, dass sie das Fehlen der Werbung bemerken und dann nicht funktionieren. Es ist prinzipbedingt unmöglich, für solche Seiten eine Ausnahmeregel zu definieren. Sie müssen in das normale WLAN wechseln, damit die Seite funktioniert.

  • youtube-Werbung kann nicht geblockt werden, weil Google so schlau ist, die Werbefilme vom eigenen Server und nicht von einem anderen Server zuzuspielen. youtube.com selbst zu blocken würde natürlich helfen und außerdem eine Menge Zeit sparen, schießt aber vielleicht doch über das Ziel hinaus.

  • Mit RaspAP sind Sie in einem eigenen privaten Netz, NICHT im lokalen Netz Ihres Internet-Routers. Sie können daher mit Geräten, die sich im wlan-without-ads befinden, nicht auf andere Geräte zugreifen, die mit Ihrem lokalen Router (FritzBox etc.) verbunden sind. Das betrifft NAS-Geräte, Raspberry Pis mit Home Assistant oder anderen Anwendungen etc.

Keine Werbeeinnahmen mehr für Seitenbetreiber?

Mir ist klar, dass sich viele Seiten zumindest teilweise über Werbung finanzieren. Das wäre aus meiner Sicht voll OK. Aber das Ausmaß ist unerträglich geworden: Mittlerweile blinkt beinahe zwischen jedem Absatz irgendein sinnloses Inserat. Werbefilme vervielfachen das Download-Volumen der Seiten, der Lüfter heult, ich kann mich nicht mehr auf den Text konzentrieren, den ich lese. Es geht einfach nicht mehr.

Viele Seiten bieten mir Pur-Abos an (also Werbeverzicht gegen Bezahlung). Diesbezüglich war https://derstandard.at ein Pionier, und tatsächlich habe ich genau dort schon vor vielen Jahren mein einziges Pur-Abo abgeschlossen. In diesem Fall ist es auch ein Ausdruck meiner Dankbarkeit für gute Berichterstattung. Früher habe ich für die gedruckte Zeitung bezahlt, jetzt eben für die Online-Nutzung.

Mein Budget reicht aber nicht aus, dass ich solche Abos für alle Seiten abschließen kann, die ich gelegentlich besuche: heise.de, golem.de, phoronix, zeit.de, theguardian.com usw. Ganz abgesehen davon, dass das nicht nur teuer wäre, sondern auch administrativ mühsam. Ich verwende diverse Geräte, alle paar Wochen muss ich mich neu anmelden, damit die Seiten wissen, dass ich zahlender Kunde bin. Das ist bei derstandard.at schon mühsam genug. Wenn ich zehn derartige Abos hätte, würde ich alleine an dieser Stelle schon verzweifeln.

Wenn sich Zeitungs- und Online-News-Herausgeber aber zu einem Site-übergreifenden Abrechnungsmodell zusammenschließen könnten (Aufteilung der monatlichen Abo-Gebühr nach Seitenzugriffen), würde ich mir das vielleicht überlegen. Das ist aber sowieso nur ein Wunschtraum.

Aber so, wie es aktuell aussieht, funktioniert nur alles oder nichts. Mit RaspAP kann ich die Werbung nicht für manche Seiten freischalten. Eine Reduktion des Werbeaufkommens auf ein vernünftiges Maß funktioniert auch nicht. Gut, dann schalte ich die Werbung — soweit technisch möglich — eben ganz ab.

6. März 2024

Wie Golem schreibt, erwägen wohl mittlerweile viele BenutzerInnen den Schritt auf Linux, statt von Window 10 auf Windows 11 und eventuell später auf irgendwelche monatliche Abo Varianten zu wechseln.

Da ich seit über 25 Jahren Linux auf dem Desktop nutze und immer noch absolut begeistert bin, würde ich jeden Menschen immer wieder ermutigen das auch auszuprobieren.

Um einige Zeit verschwendende Diskussionen zu vermeiden ein paar Punkte vorweg:

  1. Wer wenig visuelle Veränderungen haben will entscheidet sich für eine Linux Distribution mit KDE/Plasma z.B. die Distribution Kubuntu oder aus Deutschland das Tuxedo OS oder Mint oder eine andere Linux Distributionen
  2. Um nicht komplett ins kalte Wasser springen zu müssen, können so ziemlich alle Linux Distributionen auf einen USB Stick „installiert“ (Live-USB Stick) werden und von dort einfach mal gestartet und ausprobiert werden. Ein USB Stick ist zwar langsam, aber es geht erst mal dabei nicht um Geschwindigkeit, sondern darum, ob es läuft und einen ersten Eindruck zu bekommen. Und zum Thema Geschwindigkeit: Ein installiertes Linux ist in 99% der Fälle wesentlich schneller als ein installiertes Windows.
  3. Viele nutzen bereits schon Opensource Software, die hauptsächlich für Linux entwickelt wird. Da ist der Umstieg super einfach. Weil es gar kein Umstieg ist. Das prominenteste Beispiel dafür ist der Mozilla Firefox Browser.
  4. Viele sind über die Jahre so darauf getrimmt worden, dass sie z.B. auf Microsoft Office nicht verzichten können. Das ist aber reine Gehirnwäsche. Libreoffice bietet für 99% der Menschen mehr Funktionen, als sie tatsächlich nutzen.
  5. Eine Sache, die mir immer wieder auffällt, wenn Menschen den Wechsel von Windows zu Linux erwägen ist, dass sie aufgrund der erweiterten Möglichkeiten plötzlich vorgefertigte Funktionsanforderungen stellen, die sie zuvor noch nie hatten bzw die unter Windows nur sehr sehr umständlich möglich sind. Hier bitte die Kirche im Dorf lassen, oder sich selbst um diese hoch individualisierten Lösungen kümmern bzw die Suchmaschine dazu konsultieren. Vermutlich gibt es diese Lösung schon.
  6. Natürlich ändern sich bei einem Betriebssystemwechsel auch häufig die Namen bestimmter Softwarekomponenten. Aber auch die Eingewöhnungsphase ist recht kurz. Ich spreche da aus Erfahrung mit Menschen, die teils einfach so spontan Linux haben wollten und bis heute sehr glücklich damit sind.
  7. Ich habe im Laufe der Zeit ein paar einfach verständliche Erklär-Videos zum Thema Linux und Linux und Musikproduktion auf meinem Musikproduktions Kanal „Odo Sendaidokai“ produziert, die ich hier für alle interessierten Menschen verlinke. Und wer sich für Musikproduktion generell interessiert, ist natürlich gerne eingeladen den Kanal zu abonnieren. Seit längerer Zeit produziere ich die Videos auf Deutsch und Englisch. Inklusive regelmäßiger Livestreams auf Deutsch, in denen ich meist Tracks von Anfang an produziere bzw auch Vieles erkläre. Zum Thema Musikproduktion betreibe ich zusätzlich noch das Blog „Klangwerk“.
  8. Für die Musikproduktion unter Linux ist für dich Pipewire natürlich sehr interessant und dafür habe ich hier im Blog auch noch einige erklärende Artikel.

Hier die Liste der Linux Erklär-Videos:

  1. Linux Supersonic from Zero to Hero Musikproduktion | DE (16.01.2024)
  2. Bitwig Linux Musicproduction 11/2023 | deutsch (19.11.2023)
  3. Musikproduktion mit Linux (auch Bitwig) (12.07.2021)
  4. Windows VST mit Bitwig unter Linux (02.10.2021)
  5. Bitwig JackAudio OBS Linux (Deutsch) – UPDATE 2022 Pipewire ist jetzt der Standard (15.11.2020)

The post Linux statt Windows auf dem Desktop – Nicht nur Musikproduktion first appeared on Dem hoergen Blog.

Die MZLA Technologies Corporation hat mit Thunderbird 115.8.1 ein Sicherheits- und Fehlerbehebungs-Update für seinen Open Source E-Mail-Client veröffentlicht.

Neuerungen von Thunderbird 115.8.1

Mit dem Update auf Thunderbird 115.8.1 hat die MZLA Technologies Corporation ein Update für seinen Open Source E-Mail-Client veröffentlicht und behebt damit mehrere Probleme, welche sich in den Release Notes (engl.) nachlesen lassen. Auch eine Sicherheitslücke wurde mit Thunderbird 115.8.1 behoben.

Der Beitrag Sicherheits-Update Thunderbird 115.8.1 veröffentlicht erschien zuerst auf soeren-hentzschel.at.

5. März 2024


Manchmal ist die Denke einfach zu kompliziert. Da wollte ich in vim einen Bereich möglichst effizient mit runden Klammern versehen und habe eine Weile rum gemurgst, bis ich dann die einfache Lösung gefunden habe:

  1. Bereich auswählen mit v und z.B. $ bis zum Zeilenende
  2. dann c drücken
  3. () schreiben
  4. ESC drücken und
  5. ein großes (shift) P drücken

also v$c()<ESC>P

Und alles ist schön umklammert.

Wenn es egal ist den Bereich visuell zu markieren, dann geht es auch ohne das v und das $ (bis Zeilenende) muss nach dem c eingegeben werden. (Danke Rebeka!)

c$()<ESC>P oder gleich C()<ESC>P

Weitere Varianten wären:

  1. Bis zum nächsten Vorkommen z.B. des Buchstabens „m“ cfm()<ESC>P
  2. Vom vorherigem Vorkommen eines „t“ bis zum nächsten Vorkommen eines „m“ Ftcfm()<ESC>P
  3. Wenn mitten im Wort gestartet wird, das natürlich auch umklammert werden soll, als erstes ein b tippen z.B. bC()<ESC>P
  4. Die nächsten 3 Worte c3w()<ESC>P oder eben bc3w()<ESC>P

The post Vim – Bereiche mit Klammern umschließen first appeared on Dem hoergen Blog.

Mozilla hat Firefox 123.0.1 veröffentlicht und behebt damit mehrere Probleme der Vorgängerversion.

Download Mozilla Firefox 123.0.1

Mit dem Update auf Firefox 123.0.1 behebt Mozilla ein Problem, welches bei Verwendung mancher Themes verursachte, dass bei einer Website, die von Firefox übersetzt wurde, in der Adressleiste die Sprache nicht erkennbar war, in welche übersetzt worden ist.

Ein anderes behobenes Darstellungsproblem betrifft das Entwicklerwerkzeug „Web-Speicher“, bei welchem der Text in markierten Zeilen nur schwer zu lesen war.

Firefox 123.0.1 behebt auch mehrere Webkompatibilitätsprobleme. So wurde das change-Event nicht mehr ausgelöst, wenn ein textarea-Element geleert worden ist. Konische Farbverläufe wurden unter Windows mit aktivierter Hardwarebeschleunigung nicht mehr korrekt dargestellt. Außerdem wurde ein Fehler im JIT-Compiler der JavaScript-Engine behoben, bei dem String.prototype.lastIndexOf einen falschen Rückgabewert lieferte, wenn der Suchtext leer war.

Ein weiteres behobenes Problem betrifft Flatpak-Nutzer unter Linux, für welche andere Wörterbücher als en-US nicht mehr funktionierten.

Schließlich wurde noch ein Problem der chinesischen Firefox-Variante behoben, welches verursachte, dass auf der Seite, die beim Öffnen eines neuen Tabs erscheint, nur noch eine Fehlermeldung zu sehen war.

Der Beitrag Mozilla veröffentlicht Firefox 123.0.1 erschien zuerst auf soeren-hentzschel.at.

3. März 2024

Da ich mehrere Rechner nutze, habe ich die Angewohnheit bestimmte Dinge beispielsweise mit dem Notebook anzufangen, dann eine Pause zu machen (weil ich zum Beispiel schlafen will) und dann mit einem meiner normalen Rechner weiterzumachen. An sich kein Problem, allerdings fehlt mir in solch einem Fall oft der Verlauf der Befehle, die ich in der Shell ausgeführt habe.

Daher habe ich mir nun Atuin zugelegt. Hierbei handelt es sich nicht um die Schildkröte, sondern um ein Tool, welches die Historie einer Shell lokal in einer SQLite-Datenbank speichert, deren Inhalt man mit anderen Rechnern synchronisieren kann.

Die Einträge in dieser Datenbank werden um diverse Informationen erweitert. Zum Beispiel dem Exit Code, Current Working Directory und so weiter. Die Suche innerhalb der Einträge erfolgt in der Standardkonfiguration “fuzzy”.

Für die Synchronisation zwischen mehreren Rechnern wird ein Server, den die Entwicklerin von Atuin zur Verfügung stellt, genutzt. Die Übertragung der Daten erfolgt hierbei mittels E2EE. Wer ihr nicht vertraut, kann entweder einen solchen Server selbst hosten (https://docs.atuin.sh/self-hosting/server-setup/) oder Atuin nur lokal nutzen. Letzteres hat im Grunde dann nur den Vorteil der besseren Suche.

Es gibt auch noch andere Tools zur Synchronisation von bereits ausgeführten Befehlen in der Shell. Zum Beispiel https://github.com/cantino/mcfly. Aber als jemand der jeden Roman von Terry Pratchett besitzt und gelesen hat, musste ich mich einfach für Atuin entscheiden.

1. März 2024

Vor ein paar Tagen wurde KDE Plasma 6 veröffentlicht. Nur wenige Tage später fragen sich schon die ersten Nutzer warum beispielsweise Arch Linux diese neue Version noch nicht anbietet.

Bei einer rollenden Distribution geht es primär nicht darum, dass bestimmte Updates so schnell wie möglich in den Paketquellen angeboten werden. Es geht darum, dass Updates nach und nach über die gleichen Paketquellen angeboten werden. Es geht also nicht darum wer den ersten Platz bei einem Wettrennen hat. Mit OpenSuse Slowroll soll es daher auch eine Distribution geben, die rollt, aber bei der Updates vergleichsweise langsam angeboten werden.

Im Falle von Arch Linux wird somit in der Regel auch nie erste Hauptversion eines neuen Kernels (z. B. 6.0) über die offiziellen Paketquellen angeboten, sondern in der Regel immer erst das erste “Minor-Update” (z. B. 6.0.1). Ich vermute, das wird bei KDE Plasma 6 auch der Fall sein. Vor nächster Woche wird Plasma 6 also vermutlich nicht in den offiziellen Paketquellen von Arch Linux erscheinen. Wenn aus Sicht der Entwickler von Arch Linux weitere Gründe gegen ein Update auf Plasma 6 sprechen, wird es vermutlich sogar noch länger dauern.

Heute will ich mal nicht mit einem eigenen Artikel langweilen, sondern nur auf einen anderen Artikel hinweisen. Dieser hat zwar direkt nichts mit Linux oder OSS zu tun und ist auch noch in englischer Sprache verfasst, aber ich hoffe um Nachsicht.

Otto, eines der Mitglieder von Codeberg, hat kürzlich einen Artikel bezüglich des Fediverse veröffentlicht, den ich recht interessant finde. Ohne ihn bewerten zu wollen.

Bei Codeberg handelt es sich um eine Alternative zu Github, die auch für die Entwicklung von Projekten genutzt wird, die unter Linux verwendete werden. Also zumindest so gesehen passt das Ganze doch zu Linux und OSS. Zumal ein Großteil aller Fediverse-Nutzer Linux oder OSS im Allgemeinen nutzen werden. Vergesst das mit der Nachsicht somit einfach. ;-)