Firefox

Manuell neue Domain zu Firefox Multi-Account Containers hinzufügen

9. Dezember 2023 · Anwendungen · andreas · Kein Kommentar

Die Firefox Multi-Account Containers sind eine offizielle Erweiterung von Mozilla, die hoffentlich bald nativ im Browser eingebaut wird. Aufgabe ist die Trennung des Website-Speichers in Tab-spezifische Container, d.h. Cookies, die in einem Container vorhanden sind, sind in anderen Containern nicht verfügbar.

Im Gegensatz zur Funktionalität ist die Verwaltbarkeit leider alles andere als gelungen - in der aktuell verfügbaren Version können nur im Browser geöffnete Domains einer Umgebung hinzugefügt werden, das manuelle Hinzufügen einer Domain zu einer Umgebung ist nicht vorgesehen. Dies hat den Nachteil, daß bei allen Websites, welche mit Redirections arbeiten, die Multi-Account Containers nur eingeschränkt verwendet werden können.

Glücklicherweise kann hier mittels “about:debugging”, der Entwicklerwerkzeuge und der Javascript-Konsole Anbhilfe geschaffen werden. Das Vorgehen wurde von Philip Snowberger in “Another way to manually add another site to Firefox Multi-Account Containers” auf Github beschrieben:

Nach dem Starten des Debug-Modus wird zuerst das Objekt einer Domain ausgelesen, zu deren Umgebung eine weitere Domain hinzugefügt werden soll.

Im konkreten Beispiel soll die Domain “accounts.ebay.de” der Umgebung hinzugefügt werden, in der “www.ebay.de” bereits vorhanden ist:

obj = Object(await browser.storage.local.get("siteContainerMap@@_www.ebay.de"))

Dann wird eine Kopie der vorhandenen Einstellungen unter dem Zielnamen angelegt

obj["siteContainerMap@@_accounts.ebay.de"] = obj["siteContainerMap@@_www.ebay.de"]

und die ursprüngliche Domain aus dem ausgelesenen Objekt gelöscht:

delete obj['siteContainerMap@@_www.ebay.de']

Als letzter Schritt wird das Objekt zurückgeschrieben

await browser.storage.local.set(obj)

womit die Tab-Umgebung um die neue Domain erweitert wurde.


YouTube, Thumbnails und WebP

4. Juli 2022 · Anwendungen · andreas · Kein Kommentar

Seit einiger Zeit wurden in meinem Firefox beim Besuch der YouTube-Website keinerlei Thumbnails mehr angezeigt, sondern stattdessen die Vorschaubilder durch einen grauen Platzhalter ersetzt.

Nachdem das testweise Abschalten der installierten Erweiterungen nicht half, führte das Anlegen eines neuen Profils zur Erkenntnis, daß es an einem Parameter des Standardprofils liegen muss.

Verantwortlich war der Parameter “image.webp.enabled”, welcher die Unterstützung für das WebP-Format regelt und auf “false” gesetzt war. Nach dem Zurücksetzen des Wertes auf den Standard “true” funktionieren die Vorschaubilder wieder wie gewohnt.


Debian Stable und Firefox ESR

13. Dezember 2021 · Anwendungen · andreas · 1 Kommentar

Ausgangssituation

Die Debian-Veröffentlichungen gliedern sich in drei Varianten, von denen “stable” für die Verwendung durch den Ottonormalbenutzer empfohlen wird:

The release of Debian called “stable” is always the official released version of Debian. Ordinary users should use this version. [Quelle]

Stabil bedeutet hierbei

once released, the operating system remains relatively unchanging over time. [Quelle]

Im Rahmen eines sog. Freeze werden zu einem bestimmten Zeitpunkt Programme in den zu diesem Zeitpunkt aktuellen Versionen eingefroren, welche dann Teil der nächsten “stable”-Veröffentlichung werden. So war zum Beispiel bei der Veröffentlichung von Debian 10 Libreoffice 6 aktuell und ist auch zum jetzigen Zeitpunkt in Debian 10 noch enthalten, der Wechsel zu Version 7 wurde erst mit Debian 11 durchgeführt.

Dies garantiert eine weitestgehend stabile Arbeitsplattform, auf der nicht durch Updates bestehende und funktionierende Prozesse gefährdet werden, da i.d.R. nur sicherheitsrelevante Änderungen in einmal veröffentlichte Programmpakete integriert werden.

Es gibt nur wenige Ausnahmen von diesem Schema, eine davon ist Firefox, welcher von Debian in der ESR (Extended Support Release)-Version ausgeliefert wird.

Leider reicht aber der verlängerte Support-Zeitraum der ESR-Versionen nicht aus, um die komplette Lebensspanne einer Debian-“stable”-Veröffentlichung zu begleiten, so daß innerhalb einer Stable-Version das Firefox ESR-Paket aktualisiert werden muss. Aktuell steht der Wechsel von Version 78 zu Version 91 an, der sich leider auf Grund einiger Randbedingungen spürbar verzögert.

Die Betreuer des Pakets laden nicht nur das fertige Binärpaket von der Mozilla-Website und verteilen es neu, es wird stattdessen eine eigene Version von Firefox aus dem öffentlich zugänglichen Quelltext gebaut und verteilt, wozu aber erst zahlreiche hierfür verwendete Werkzeugpakete angepasst werden müssen, was Zeit benötigt.

Lösungsmöglichkeiten

Da der Einsatz des nicht mehr aktuellen Browsers auf Grund mehrerer Sicherheitslücken nicht mehr empfehlenswert ist, gibt es verschiedene Möglichkeiten, zumindest temporär auf eine aktuellere Version auszuweichen, bis eine aktualisierte Browserversion bereitgestellt wird.

Flathub / snap

Vorteil (oder Nachteil) der Lösung ist, daß nicht nur die Anwendung heruntergeladen wird, sondern auch alle Bibliotheken, welche die Anwendung zur Laufzeit benötigt und die Anwendung mit “ihren” statt den im System installierten Bibliotheken ausgeführt wird. Somit müssen nicht wie bei einem “normalen” System die passenden Bibliotheken systemweit installiert werden, sondern die Anwendung kann gekapselt mit den für sie zuständigen Bibliotheken laufen, während der Rest des Systems andere Versionen verwenden kann.

Nachteil ist, daß irgendwelche Bibilotheken im Zweifelsfall mehrfach auf dem System vorhanden sind und falls der Ersteller des Pakets z.B. eine Bibliothek, die Sicherheitsprobleme hat, nicht aktualisiert, ist und bleibt das eben so. Mit ein bißchen Pech wird somit durch die Hintertür die Systemsicherheit ausgehebelt. Ob es dann reicht, daß die unsichere Bibliothek in der jeweiligen Umgebung läuft, bleibt im Ernstfall spannend …

Da es sich um eine temporäre Zwischenlösung handeln soll, ist dieser Ansatz nur dann interessant, wenn aus anderen Gründen sowieso bereits eine der beiden Umgebungen in Betrieb ist.

Direkter Download von Mozilla

Hier wird lediglich die aktuelle Binärversion des Browsers heruntergeladen, entpackt und in das System eingebunden. Für den geplanten Einsatzzweck also perfekt geeignet.

Umsetzung

Als erstes wird die aktuelle ESR-Version von der Mozilla-Website heruntergeladen:

$ wget 'https://download.mozilla.org/?product=firefox-esr-latest-ssl&os=linux64&lang=de' -O "$HOME/Downloads/firefox-esr.tar.bz2"

und dann nach “/opt” entpackt:

$ cd /opt
$ sudo tar xfvj "$HOME/Downloads/firefox-esr.tar.bz2"

Theoretisch gäbe es auch die Möglichkeit, die Dateien innerhalb des “$HOME”-Verzeichnisses zu entpacken und zu verwenden, aus Sicherheitsaspekten ist davon aber abzuraten: der Browser hat standardmäßig Schreibrechte im kompletten “$HOME”-Verzeichnis und könnte somit im Schadensfall auch die eigenen Programmdateien modifizieren.

Als letzter Schritt muß noch die “.desktop”-Datei angepasst werden. Unter GNOME kann dies wie folgt erledigt werden:

$ cp /usr/share/applications/firefox-esr.desktop ~/.local/share/applications/

Anschließend die soeben kopierte Datei bearbeiten

$ vi ~/.local/share/applications/

und den Pfad in der Zeile

Exec=/usr/lib/firefox-esr/firefox-esr %u

in

Exec=/opt/firefox/firefox %u

ändern. Nach einmal ab- und wieder anmelden wird von der kompletten Oberfläche die neu installierte Version verwendet. Da sich Firefox 78 und 91 auch optisch deutlich unterscheiden, ist die Ausführung des neueren Browsers jederzeit klar erkennbar und man braucht nicht panisch nach jedem Browserstart die Version zu kontrollieren.

Der so installierte Browser läuft hier seit einiger Zeit problemlos, lediglich beim ersten Start musste das richtige Profil gewählt werden.

Sobald Firefox 91 ESR in Debian integriert ist, reicht es, den Ordner “/opt/firefox” sowie die Datei “~/.local/share/applications/firefox-esr.desktop” zu löschen.


Neues Firefox-Profil nach Aktualisierung

4. Dezember 2021 · Anwendungen · andreas · Kein Kommentar

Nachdem es aktuell beim Wechsel von Firefox 78esr zu 91esr innerhalb der Debian-Repositories zu Verzögerungen kommt, habe ich den Firefox 91esr direkt von der Mozilla-Seite heruntergeladen und nach “/opt” entpackt. Der Plan ist, die parallel installierte Version so lange zu benutzen, bis die Debian-Version erfolgreich aktualisiert wurde und dann wieder den Browser aus dem Repository zu verwenden.

Der erste Start des neuen Browsers sorgte allerdings für eine Schrecksekunde: statt des gewohnten Anblicks mit Lesezeichenleiste und Erweiterungen präsentierte sich ein Firefox im Auslieferungszustand. Ein Blick in den “.mozilla”-Ordner innerhalb des Benutzerverzeichnisses beruhigte, denn das alte Profil war noch vorhanden und Firefox hatte ein neues Profil angelegt.

Die Erklärung hierfür liefert “Ein gesondertes Profil für jede Firefox-Installation” mit dem sachdienlichen Hinweis, daß es sich hierbei um ein Feature und keinen Bug handelt:

Wenn Sie eine neue, zusätzliche Installation von Firefox installieren, wird ein neues Profil erstellt. Ihre persönlichen Daten oder Anpassungen bleiben dabei erhalten, denn Ihre bisherigen Profildaten werden gesichert und der vorherigen Firefox-Installation zugeordnet.D

Da die Version 78esr aus den Repositories sowieso nicht mehr verwendet werden sollte, half ein erneuter Start des Browsers mit angehängtem “-p”, welches den Profilmanager aufruft. Das neue Profil löschen, das alte als Standard definieren und schon war wieder alles wie gewünscht.


GNOME ohne Firefox-ESR

22. Juli 2018 · Anwendungen · andreas · Kein Kommentar

Selbst wenn mit gnome-core lediglich das Minimalpaket gewählt wird, wird bei der Installation von GNOME unter Debian der Browser Firefox in der ESR-Version 52 zwangsweise mitinstalliert.

Spätestens wenn parallel eine aktuelle Version von Firefox installiert wurde, wird die ESR-Version nicht mehr benötigt und könnte deinstalliert werden. Leider quittiert die Paketverwaltung ein

# apt remove firefox-esr

nicht nur damit, daß sie auch “gnome-core” deinstallieren will, zusätzlich wird die Installation von chromium mit eingeplant:

...
Die folgenden Pakete werden ENTFERNT:
  firefox-esr gnome-core
Die folgenden NEUEN Pakete werden installiert:
  chromium
...

Nach einigen ergebnislosen Versuchen fand sich schließlich bei reddit der entscheidende Fingerzeig: die Installation eines mit equivs selbstgebastelten Fake-Pakets, welches dem System einen vorhandenen firefox-esr vorgaukelt.

Ein passendes Muster für eine Control-Datei findet sich in Kapitel “15.2.1. Meta-Pakete oder vorgetäuschte Pakete” des Debian Adminstrator Handbuchs und ist schnell angepasst:

Package: fakefox-esr
Version: 0.1
Maintainer: Andreas Thul <ab@c.de>
Provides: firefox-esr (=52)
Architecture: all
Description: Fake package - Firefox ESR
 This is a fake package to let the packaging system
 believe that Firefox ESR is installed.

Die wichtigste Zeile hierbei ist “Provides: …”, welche vorgaukelt, daß das Paket tatsächlich Firefox in der ESR-Version bereitstellt.

Nachdem das Paket mittels

# equivs-build fakefox-esr

erstellt wurde, kann es über

# sudo dpkg -i fakefox-esr_0.1_all.deb

installiert werden. Anschließend führt die Entfernung des “firefox-esr”-Pakets zum ursprünglich beabsichtigten Ergebnis:

sudo apt remove firefox-esr
...
Die folgenden Pakete werden ENTFERNT:
firefox-esr
0 aktualisiert, 0 neu installiert, 1 zu entfernen und 0 nicht aktualisiert.