1 Punkte von GN⁺ 2023-10-21 | 1 Kommentare | Auf WhatsApp teilen
  • Ich trenne einen strengen Standard-Firefox von einem sekundären Firefox für das Zulassen von JavaScript und verwende für Websites, bei denen ich lange eingeloggt bleiben muss, zusätzliche Firefox-Profile.
  • Der sekundäre Firefox wird nicht über Profile, sondern durch das Ändern der $HOME-Umgebungsvariable vor dem Start unter Unix vollständig getrennt und dient dazu, Cookies und Sitzungen beim Beenden zu verwerfen.
  • Einige Websites verlangen jedes Mal Mehrfaktor-Authentifizierung, E-Mail-Bestätigungen und lange mehrstufige Logins; ohne beibehaltene Cookies wird der Nutzungsablauf dadurch deutlich langsamer.
  • In den profilspezifischen Setups für einzelne Websites sind uBlock Origin und Cookie AutoDelete installiert, sodass nur notwendige Cookies erhalten bleiben und der Rest automatisch bereinigt wird.
  • Firefox Multi-Account Containers kann ebenfalls eine Alternative sein, aber getrennte Profile trennen sogar die Erweiterungseinstellungen und machen das Verhalten leichter verlässlich nachvollziehbar.

So nutze ich zwei getrennte Firefox-Umgebungen

  • Normales Browsing erledige ich in einem angepassten Firefox
    • mit strengen Einstellungen und Erweiterungen
    • JavaScript wird meist nicht ausgeführt
    • ich bin auf den meisten Websites nicht eingeloggt
  • Für Websites, die JavaScript brauchen, nutze ich eine separate „just make it work“-Firefox-Umgebung
    • JavaScript wird ausgeführt
    • Cookies werden akzeptiert und wieder gesendet
    • beim Schließen des Browsers werden Cookies und Sitzungen verworfen
  • Diese sekundäre Umgebung wird nicht als Firefox-Profil umgesetzt, sondern unter Unix durch das Ändern der Umgebungsvariable $HOME vor dem Start
    • Firefox folgt unter Unix $HOME
    • die beiden Umgebungen sind vollständig getrennt, wodurch potenzielle Probleme vermieden werden können

Website-spezifische Profile für dauerhaftes Eingeloggtbleiben

  • Manche Websites benötigen sowohl JavaScript als auch einen Login, aber der Anmeldeprozess ist übermäßig umständlich
    • jedes Mal ist Mehrfaktor-Authentifizierung mit einem physischen Token erforderlich
    • bei jeder Anmeldung wird eine E-Mail verschickt
    • man muss einen langen und langsamen mehrstufigen Login-Prozess durchlaufen
  • Für solche Websites müssen Login-Cookies erhalten bleiben, damit man sich möglichst selten anmelden muss
    • einige Websites verfügen über wichtige Berechtigungen, daher ist es unangenehm, im eingeloggten Zustand von dort aus nebenbei anderswo zu surfen
  • Die Lösung besteht darin, innerhalb der JavaScript-Firefox-Konfiguration zusätzliche profilspezifische Setups pro Website zu erstellen
    • für jede lästige Website gibt es ein eigenes Profil
    • in jedem Profil wird ein Standardsatz an Firefox-Add-ons installiert
    • die wichtigsten Add-ons sind uBlock Origin und Cookie AutoDelete
  • Cookie AutoDelete wird so konfiguriert, dass nur die für die jeweilige Website oder zugehörige Websites benötigten Cookies erhalten bleiben und der Rest bereinigt wird
    • zusätzliche Cookies entstehen etwa, wenn man über Links dieser Website andere Seiten besucht
    • anfangs ist etwas Arbeit nötig, um herauszufinden, welche Cookies für welche Website erhalten bleiben müssen
    • nach der Einrichtung funktionieren diese Profile stabil
  • Man könnte in jedem Profil auch die Websites einschränken, auf denen JavaScript verwendet werden darf, aber in der Praxis ist das zu umständlich
  • Firefox Multi-Account Containers ist ebenfalls möglich, aber getrennte Profile werden bevorzugt
    • die Ersteinrichtung kann mehr Arbeit erfordern
    • Profile sind vollständig voneinander getrennt, einschließlich der Erweiterungseinstellungen
    • bei Containern kann das Zusammenspiel mehrerer Elemente je nach Situation unterschiedlich ausfallen
  • Zu den allgemein zusätzlich installierten Add-ons gehören Foxy Gestures, Cookie Quick Manager und Certainly Something
    • Foxy Gestures ist ein wichtiger Teil des Firefox-Nutzungserlebnisses
    • Certainly Something wird zur Prüfung von TLS-Zertifikaten verwendet
    • in einigen Profilen haben sich zusätzliche Add-ons zur Reduzierung von Tracking angesammelt
    • vor Kurzem wurden auch Bookmarklet-Schaltflächen für readable und fixed installiert

1 Kommentare

 
GN⁺ 2023-10-21
Meinungen auf Hacker News
  • Das wahre Juwel von Firefox sind Containers. Kein anderer Browser hat so etwas, und Chrome fehlt es entscheidend
    Damit ist nicht einfach gemeint: „Öffne ein privates Fenster“, sondern dass man 1 plus praktisch unbegrenzt viele Profile/Container erstellen kann. Für Firefox gibt es die Erweiterung Temporary Containers, bei der für jeden neuen Tab ein temporärer Container entsteht und standardmäßig isoliert wird. Ich habe es so eingestellt, dass ein Klick auf einen Link bei gedrückter Strg-Taste ihn in einem neuen Tab desselben bestehenden Containers öffnet, und nur wenn ich Sessions zusammenführen will, kann ich sie zusammenführen. Mit Proxy Containers ist es auch möglich, pro Tab unterschiedliche Proxy-Routen zu verwenden
    Chrome und seine Entwicklertools haben viele Vorteile, und auch wenn Mozilla etliche Probleme verursacht hat, respektiere ich die Mission von Firefox mehr. Aber unabhängig von Vor- und Nachteilen bin ich an Firefox gebunden, weil es der einzige Browser ist, mit dem man so etwas tun kann

    • Vor ein paar Tagen habe ich eine kurze Präsentation gehalten, bei der ich mich in mehrere AWS-Konten einloggen musste; die Leute interessierten sich am Ende mehr dafür, wie ich mehrere AWS-Konten in verschiedenen Tabs geöffnet hatte und zwischen ihnen wechselte, als für den eigentlichen Inhalt der Präsentation
      Ich nutze ein Add-on, das für jedes AWS-Konto, das vom SSO-Bildschirm aus geöffnet wird, automatisch einen neuen Container erstellt. Wenn ich im Browser gmail eingebe, erscheinen drei Konten, und je nach ausgewähltem Konto wird es im richtigen Container geöffnet, sodass ich alle drei Konten gleichzeitig offen haben kann, ohne Aufwand
    • Ich habe Container eine Weile genutzt, fand sie aber ziemlich unausgereift
      Zum Beispiel kann man die Site-Liste eines Containers nicht bearbeiten, sondern nur den aktuell geladenen FQDN hinzufügen. Man kann *.google.com nicht dem Google-Container zuweisen, sondern muss jede Subdomain tatsächlich öffnen und dann einzeln hinzufügen
      Noch schlimmer: Wenn der Host, den man hinzufügen will, in der Mitte einer Redirect-Kette liegt, scheint es keine Möglichkeit zu geben, ihn hinzuzufügen. mail.google.com geht zu accounts.google.com und dann schnell wieder zurück zu mail.google.com, aber es gibt keine Möglichkeit, accounts.google.com in die Liste aufzunehmen. Deshalb war die Funktion „nur auf zugewiesene Sites beschränken“ praktisch unbrauchbar. Offenbar hielt Mozilla es für zu viel verlangt, den Nutzern in der Site-Liste einen Hinzufügen-Button und ein Texteingabefeld zu geben
      Außerdem kann man nicht nur für einen einzelnen Container Cookies und Website-Daten löschen oder nur den Standard-Container löschen, ohne benannte Container anzufassen, was häufig lästig war. Am Ende habe ich mehr RAM gekauft und bin zu separaten Profilen zurückgekehrt
    • Containers in Chrome einzubauen, wäre vermutlich weitgehend sinnlos. Schließlich kann Google auf alles zugreifen
      Das ist ähnlich, wie wenn man auf Android ein VPN installiert hat, aber mit einem Google-Konto angemeldet bleibt und weiter Dinge wie Maps nutzt. Chrome hat konstruktionsbedingt keine Privatsphäre
      Wenn man Firefox und Chrome in einem Atemzug nennt, ist diese Unterscheidung wichtig. Sie aus Datenschutzsicht zu vergleichen, ist wie Äpfel mit Birnen zu vergleichen
    • Die Erweiterung Temporary Containers wird nicht mehr gewartet: https://github.com/stoically/temporary-containers/issues/618
    • Firefox Containers sind konzeptionell großartig, aber die UI/UX wirkt ein wenig schwach. Es wäre schön, wenn man sie so sauber organisieren könnte wie die Spaces in Arc
  • Firefox-Profile werden viel zu sehr unterschätzt und in der Praxis offenbar auch zu wenig genutzt
    Ich erstelle für jedes Profil eine Verknüpfung und setze den Startbefehl auf firefox --no-remote -P profilenamehere. Dann bekommt man den Profilverwaltungsdialog kaum je zu sehen und nutzt jedes Profil wie einen eigenen Browser
    Das ist praktisch, um berufliches und privates Browsing zu trennen, und auch gut, um verschiedene Erweiterungen zu testen. Zum Beispiel kann man in einem Profil Treestyletabs und in einem anderen Sidebery installieren und beide direkt bewerten. Der Speicherverbrauch von zwei gestarteten Firefox-Profilen ist außerdem deutlich geringer, als Firefox zusammen mit einem Chromium-basierten Browser laufen zu lassen

    • Profile mag ich nicht besonders. Es schien schwierig oder unmöglich, lustige Links, die Freunde auf Discord schicken, im Personal-Profil zu öffnen und Arbeitslinks aus Slack im Professional-Profil
      Am Ende habe ich eine Tastenkombination gebaut, die zwischen einer Profil-Konfigurationsdatei und zwei symbolischen Links umschaltet, und sogar eine Gnome-Erweiterung hinzugefügt, die das aktuell ausgewählte Profil in der oberen Leiste anzeigt. Während der Arbeitszeit nutzte ich ein Profil, abends das andere; aber es war langsam, schwer auf andere Rechner zu übertragen und insgesamt ein ziemliches Durcheinander
      Jetzt nutze ich Firefox-Container und bin im Großen und Ganzen zufrieden. Allerdings wäre es schön, wenn sich je nach aktuell ausgewähltem Tab auch die Lesezeichenleiste ändern würde
    • Ehrlich gesagt ist die Tatsache, dass man Startargumente anfassen muss, wahrscheinlich genau der Grund, warum sie so wenig genutzt werden
    • Schade, dass die Erweiterung zum Profilwechsel die Installation einer lokalen App verlangt
      Firefox sollte diese Funktion ordentlich integrieren: https://addons.mozilla.org/en-GB/firefox/addon/profile-switc...
    • Nützlicher Tipp. Ich muss auf mehrere Microsoft-Live-/AD-/Teams-Konten zugreifen, und in derselben Browser-Session funktioniert das nicht gut
      Deshalb habe ich sie bisher mit Chrome-Profilen getrennt. Firefox-Profile wirkten auf mich etwas grob, und auf die Idee, profilbezogene Verknüpfungen anzulegen, bin ich seltsamerweise nie gekommen
    • Um Treestyletabs und Sidebery zu evaluieren, muss man sie nicht unbedingt in separaten Browsern oder Profilen installieren. Man kann spontan wechseln, welche Erweiterung die Seitenleiste belegt
      Ich nutze Grasshopper[1] zusammen mit Tab Center Reborn oder Sidebery und wechsle je nach gerade benötigter Funktion hin und her
      [1]https://news.ycombinator.com/item?id=37306058
  • Ich nutze Firefox seit Version 0.9. Den Reaktionen hier nach zu urteilen, gibt es viel Zuneigung für Firefox.
    Aber die Profil-UI und die Verwaltungserfahrung sind im Vergleich zu Chrome/Edge wirklich miserabel. Container-Tabs sind kein Ersatz. Berufliche und private Profile teilen nicht einmal Lesezeichen. Ich weiß, dass es Drittanbieter-Add-ons gibt, die zusätzliche Softwareinstallation erfordern, aber das zeigt das Problem eher noch deutlicher.
    Dieses Problem wurde schon vor 13 Jahren gemeldet: https://bugzilla.mozilla.org/show_bug.cgi?id=662025
    Deshalb nutze ich Firefox derzeit nur privat und für den Rest Chrome-/Edge-Profile. Der einzige Grund, warum ich noch bei Firefox bin, ist die Android-Version. Wenn uBlock Origin in Edge/Chrome auf Android funktionieren würde, würde ich Firefox vermutlich aufgeben.

    • Safari hat die Profil-Implementierung in diesem Punkt wirklich gut gelöst. Lesezeichen, Verlauf und Sitzungen sind getrennt, und sogar Tabgruppen gibt es separat. Firefox ist davon gar nicht so weit entfernt; man müsste wohl nur die Experience verfeinern.
    • Statt eines erneuerten Profilsystems Container-Tabs zu wählen, war eine schlechte Entscheidung von Firefox. Dadurch wird es weiter zurückfallen.
    • Vor Firefox Quantum, also bevor XUL-basierte Add-ons aufgegeben wurden, konnte man das Wechseln von Profilen mit Drittanbieter-Add-ons einfacher machen.
      Heute nutze ich Firefox-Profile kaum noch, während ich in Chrome für verschiedene Zwecke 5–6 Profile verwende. Einfach weil es viel einfacher ist.
    • Ich frage mich, ob es wirklich so schlimm ist, about:profiles in die Adressleiste einzugeben und das gewünschte Profil auszuwählen. Oder man erstellt eine Verknüpfung mit der Option -p und wählt beim Start von Firefox aus.
      Mich würde ernsthaft interessieren, was Chrome/Edge bieten, das den entscheidenden Unterschied ausmacht.
    • Auf Android nutze ich gelegentlich Kiwi Browser, der uBlock Origin laden kann.
  • Ich wäre wohl zufrieden, wenn Mozilla erlauben würde, pro Container auszuwählen, welche Erweiterungen aktiviert sind.
    [1] https://addons.mozilla.org/en-US/firefox/addon/multi-account...

    • Es wäre schön, wenn man beim Öffnen einer Website gefragt würde, aus welchen gemerkten Containern man wählen möchte. Wenn ich zum Beispiel 15 Container habe, eine bestimmte Website aber nur in 2 davon nutze, möchte ich beim Öffnen einer neuen Instanz nicht aus allen, sondern nur aus diesen beiden auswählen.
    • Gibt es einen Grund, about:profiles nicht zu verwenden?
    • Mich interessiert der Use Case dieser Funktion.
    • Über Benutzerkonten auf Betriebssystemebene ist das möglich.
  • Ich nutze viele Firefox-Profile, wünsche mir aber vor allem zwei Funktionen.
    Erstens sollte man visuelle Unterschiede wie Farben festlegen können, damit Profile besser unterscheidbar sind. Wenn man Browserfenster mehrerer Profile gleichzeitig offen hat, kommt man leicht durcheinander.
    Zweitens sollte die UX verbessert werden, wenn man versehentlich ein bereits laufendes Profil erneut öffnet. Derzeit wartet Firefox auf ein Timeout und zeigt dann eine Fehlermeldung. Stattdessen sollte einfach das bereits laufende Fenster fokussiert werden.

    • Die visuelle Unterscheidung lässt sich einfach durch unterschiedliche Themes perfekt lösen.
    • Zur Unterscheidung nutze ich https://color.firefox.com/. Das ist ein ziemlich gutes Theme-System, das Mozilla vor ein paar Jahren gebaut hat; sie haben es etwa eine Woche lang beworben und danach nie wieder erwähnt.
      Vermutlich, weil sie lieber diese dummen, von selbst verschwindenden Themes bewerben wollten, also „Colorways drops“.
    • Ich habe beide Probleme gelöst, indem ich für jedes Profil einen eigenen .desktop-Eintrag erstellt und jeweils ein Theme sowie ein benutzerdefiniertes Icon zugewiesen habe.
      So sehe ich im Fenstermanager, welches Profil geöffnet ist, und am Theme, welches Profil ich gerade betrachte. Ich kann ein bestimmtes Profil über das Icon starten, Super drücken und ffwork eingeben oder, wenn es schon geöffnet ist, per Rechtsklick ein neues Fenster öffnen.
      Das Hauptproblem ist, dass ich das schon mehrfach auf mehreren Maschinen wieder eingerichtet habe und trotzdem jedes Mal vergesse, wie es geht. Ich kann mir nie merken, welche Kombination aus Firefox-Flags und .desktop-Werten nötig ist. Vermutlich ist dieser Link der richtige: https://askubuntu.com/questions/1209434/how-to-display-two-d...
    • Eine Möglichkeit, die man sofort nutzen kann, ist ein separater virtueller Desktop und die Profile jeweils auf unterschiedlichen Desktops abzulegen. Damit man keine Fehler macht, braucht es etwas Disziplin.
    • Der Grund, warum ich Brave-Profile nutze, ist genau diese visuelle Unterscheidung. Man kann den Taskleisten-Icons und dem Browser-Chrome unterschiedliche Farben geben; deshalb habe ich Brave überhaupt erst ausprobiert, und inzwischen ist es eine Funktion, ohne die ich nicht mehr leben möchte.
  • Für jeden Kunden/Akteur und bestimmte Aktivitäten habe ich unter Chrome/macOS mehrere getrennte Instanzen sowie eine einzelne Instanz.
    Jeder Browser hat unterschiedliche Erweiterungen und Adblock-Regeln. Zum Beispiel kann ich Hacker News nur im Social-Media-Browser öffnen. Der Haupt-Entwicklungsbrowser hat mehr Entwickler-Erweiterungen.
    Auch das Tab-Management wird einfacher. Man schließt einfach den „Arbeitsbrowser“. Alle haben eigene Instanzen, Icons und Farben. Wenn ich aus Gewohnheit eine Zeitverschwendungsseite öffnen will, hilft das bei der Konzentration, weil es einen Fehler gibt, sofern es nicht der Medienbrowser ist.
    Es war nicht leicht, das perfekt zum Laufen zu bringen. Ich musste mehrere Chrome-Instanzen erstellen, und das bedeutet, dass die Apps auch signiert werden müssen. Alle Profile und App-Daten liegen in getrennten Ordnern. Wenn man das nicht macht, kann man mit cmd-tab nicht zu einem anderen Browser wechseln.

    • Ich nutze denselben Ansatz und habe diese Gewohnheit auch auf Mobile ausgeweitet.
      Zum Spaß-Browsen nutze ich den normalen Android-Firefox mit Erweiterungen wie Ublock Origin, fürs Browsen immer im privaten Modus Firefox Beta mit denselben Erweiterungen, und Arbeit erledige ich in Chrome.
      Profile habe ich auch ausprobiert, aber sie waren viel zu mühsam zu handhaben. Besonders wegen der Art, wie macOS mehrere Fenster derselben Anwendung behandelt.
    • Brave handhabt Profile perfekt. Es gibt auch Sync-Chains, sodass kein Online-Konto nötig ist. Leider hat der mobile Browser nur ein einziges Profil, was nervig ist. Die Implementierung dürfte nicht schwierig sein.
  • Ich bestreite nicht, dass Firefox-Profile großartig sind. Und JavaScript zu deaktivieren ist ebenfalls sehr wichtig; ich nutze NoScript schon seit sehr langer Zeit
    Aber zwischen zwei Profilen zu wechseln, nur um JavaScript ein- oder auszuschalten, wirkt nach enormem Aufwand. In NoScript reicht shift+t, um die Einschränkungen für den jeweiligen Tab vorübergehend aufzuheben
    Was NoScript hauptsächlich blockiert, sind unerwartete, unbekannte Tabs, die von Malware geöffnet werden. Auf großen Websites wie The Register oder Etsy kann man es aber ausschalten, solange man dort etwas erledigen muss
    Eine Funktion, die ich mir in NoScript unbedingt wünschen würde, ist eine globale Deaktivierung pro Domain. AWS verwendet nämlich zufällige CloudFront-Subdomains, wenn Assets eingebunden werden. Ich möchte *.cloudfront nicht auf die Allowlist setzen, weil darüber jeder Malware hosten kann

    • Schau dir am besten uMatrix und uBlock Origin an
  • Interessanterweise kann man mit dem Flag --class jeder Firefox-Instanz eine andere X-Window-Klasse zuweisen. Dann kann man den Window Manager so konfigurieren, dass Fenster dieser Klasse nach vorn geholt werden
    In meiner StumpWM-Konfiguration steht zum Beispiel so etwas:
    (defcommand javascript-firefox ()
    (run-or-raise "firefox -P Javascript --class Firefox-javascript" '(:class "Firefox-javascript")))
    (define-key *top-map* (kbd "H-F") "javascript-firefox")
    Dann wird mit hyper-shift-f der JavaScript-Firefox nach vorn geholt, falls er schon läuft, oder andernfalls gestartet. hyper-f holt dagegen den normalen Firefox nach vorn
    Sehr zu empfehlen. Ich hoffe, dass ich das auch künftig weiter nutzen kann. Unterstützt Wayland ebenfalls Window-Klassen und die Hyper-Taste?

  • Ich habe vor Kurzem mit dieser Methode angefangen und auch das Theme des Firefox-Profils geändert, damit ich daran denke, alle Fenster zu schließen
    Dieses Gefühl der Trennung ist sehr zufriedenstellend, und es ist auf dem Desktop auch ziemlich nützlich, um bestimmte Dinge wie eingeschränkte Apps auszuführen
    Es gibt vieles, was man noch besser machen könnte. Zum Beispiel wäre auch ein Crowd­sourcing von Android-/iOS-artigen Berechtigungen pro Website denkbar

  • Das ist vielleicht eine unpopuläre Meinung, aber ich glaube, die Zeit, in der JavaScript ein optionaler Bestandteil des Webs war, ist vorbei. Es ist inzwischen ein intrinsischer Bestandteil
    Wir müssen akzeptieren, dass wir nicht in eine Zeit ohne JavaScript zurückkehren können. Statt Websites davon zu überzeugen, Nicht-Skript-Versionen zu bauen, sollten wir Lösungen finden, um JavaScript sicher zu machen. Ich kenne die Antwort nicht, aber Sandboxing, Sicherheits-Domains und ein reichhaltiges Berechtigungsmodell sind es wert, in Betracht gezogen zu werden

    • Zumindest wenn das Threat Model beinhaltet, einem globalen Überwachungs-Panoptikum zu entgehen, kann JavaScript nicht sicher sein
      Beliebige Codeausführung standardmäßig zu erlauben, kann nicht sicher sein
      90 % der JavaScript-Nutzung sind völlig unnötig und ergeben nur im werbefinanzierten Web Sinn
    • Wenn ich davon höre, mit deaktiviertem JavaScript im Web zu surfen, frage ich mich, wie diese Erfahrung wohl ist
      Ich will das nicht abtun, aber ich kann mir beim besten Willen nicht vorstellen, wie meine Browsing-Gewohnheiten ohne JavaScript aussehen würden. Vielleicht klingt es schlimmer, als es tatsächlich ist
    • Es ist nicht falsch zu sagen, dass JavaScript faktisch nahezu unverzichtbar ist, aber es ist eben nur ein De-facto-Standard. Es offiziell als Pflicht durchzusetzen, wäre falsch
      Leider ist das Web in einen noch schlechteren Zustand zurückgefallen als nur JavaScript: Es bewegt sich in Richtung Unterstützung nur noch für einen bestimmten Browser, nämlich Chrome. Ein aktuelles Beispiel: Auf der Website von Air India kann man mit Firefox keine Flugtickets buchen, mit Chrome aber schon
    • Ich nutze Qubes OS und kann daher mehrere Sandbox-Firefox-Instanzen mit farbigen Fensterrändern ausführen
      Jeder Firefox läuft in seiner eigenen VM ohne Daten, daher führe ich JavaScript ohne Angst aus