Firefox Das Mozilla-Projekt Firefox, damals noch unter dem Namen Phoenix, wurde von Dave Hyatt und Blake Ross als experimentelle Abzweigung aus dem Programmpaket Mozilla Application Suite initiiert, das auf dem Quellcode des Netscape Communicators basiert. Die erste lauffähige Version des Webbrowsers Phoenix 0.1 wurde am 23. September 2002 veröffentlicht. Erweiterungen Tampermonkey - Webseiten on the fly erweitern Beschreibung Tampermonkey ist eine beliebte Browser-Erweiterung, die es Benutzern ermöglicht, JavaScript-Code zu schreiben und auszuführen, um das Verhalten von Websites anzupassen. Es ist für viele Webbrowser verfügbar, einschließlich Google Chrome, Microsoft Edge und Mozilla Firefox. Tampermonkey ermöglicht es Benutzern, "Userscripts" zu installieren, die kleine JavaScript-Programme sind, die das Verhalten einer Website ändern können. Diese Skripte können verwendet werden, um wiederkehrende Aufgaben zu automatisieren, das Aussehen von Websites zu ändern oder ihnen neue Funktionen hinzuzufügen. Bezug Im Erweiterungstore unter https://addons.mozilla.org/de/firefox/addon/tampermonkey/ Scripte für Tampermoney Wenn scripte installiert wurden muss die Website für die das Script ist neu geladen werden. Einfach Downloadlink fürs Script anklicken. Name Beschreibung Downloadlink ChatGPT Export Dient dazu Histories aus ChatGPT zu exportieren https://raw.githubusercontent.com/pionxzh/chatgpt-exporter/master/dist/chatgpt.user.js Proxmox NOVNC Copy & Paste Dient dazu in einem NOBNC Fenster Copy & Paste zu Benutzen https://gist.github.com/amunchet/4cfaf0274f3d238946f9f8f94fa9ee02/raw/0b84970f89e1f282f09b86d46227eda71178c040/noVNCCopyPasteProxmox.user.js   Dann Installieren anklicken.   Eigene Skripte programmieren Ein einfaches Beispiel für ein Tampermonkey-Skript könnte sein, das automatisch das Wort "Hello" auf jeder Seite, die Sie besuchen, hinzufügt. Das Skript könnte so aussehen: // ==UserScript== // @name My Script // @namespace http://example.com/ // @version 0.1 // @description A simple script to add the word "Hello" to every page // @author You // @match *://*/* // @grant none // ==/UserScript== // Add the word "Hello" to the page document.body.innerHTML += "Hello"; Das erste Teil des Skripts ist der Header, der die grundlegenden Metadaten des Skripts enthält, wie Name, Autor, Version usw. @match richtet sich auf die Adressen die das Script treffen soll, in diesem Fall jede Adresse. Der zweite Teil des Skripts ist der eigentliche JavaScript-Code, der auf der Seite ausgeführt wird. In diesem Fall wird nur eine Zeile JavaScript-Code verwendet, um das Wort "Hallo" an das Ende des Inhalts des body-Elements der Seite anzuhängen. Dies ist natürlich ein sehr einfaches Beispiel und die meisten Skripte sind komplexer und verwenden Bedingungen, Schleifen, Funktionen usw. um bestimmte Aufgaben auszuführen. Einbinden des scriptes Dazu auf das Tampermonkey icon klicken -> Neues Userscript erstellen Nun haben wir den Code Editor mit einem Template vor uns,  Unten bei your code here, den code hinzufügen. Wenn der Code / das Script fertig ist dann auf Datei und Auf Festplatte speichern. Wird auf Speichern geklickt wird das Script dem Benutzerdefinierten scripten hinzugefügt. Es wir der Name verwendet der bei @name steht Unter Temparmonkey-symbol -> Übesricht sieht man die Installierten Plugins, deren Herkunft und ob Sie aktiv sind und für welche Webseiten sie gelten. hier können auch scripte gelöscht werden oder installaiert werden Skripte Importieren Exportieren. Zum beispiel unser auf Festplatte gespeichertes Plugin importieren Unter dem Register Hilfsmittel können Scripte Exportiert und importiert werden Fehler oder Hinweise zu Tampermonkey scripten NOVNC Plugin im Firefox (Clipboard aktivieren) ansonsten kommt dieser Fehler Abhilfe: Die Zwischnablage aktivieren dom.events.testing.asyncClipboard in Firefox einschalten.   Enter about:config in navigation bar Click "Accept the Risk and Continue" Search dom.events.testing.asyncClipboard and set true Nun Das Script für Firefox umbauen. Nun `navigator.clipboard.readText` mit `navigator.clipboardRead` in dem Skript ersetzen. Dazu Tampermonkey öffnen durch klick auf das Symobil in der Symbolleiste Dann auf Übersicht Nun in der Liste auf den Stift bei NO VNC Copy & Paste klicken Nun Clipboard.readText durch clipboardRead ersetzten Dann mit STRG+S Speichern. Fertig Feherlhafte / Gefährliche / Malware Erweiterungen Beschreibung Hier werden alle Addons Aufgelistet die mir bekannt sind die Malware enthalten oder Fehler Liste Pluginame URL im Store Typ Fehlerbeschreibung Fehlerbild / Screenshot FV Video Link zum Plugin   Fehler Es wird auf jeder Seite folgende Url aufgerufen Url Text gekürzt, Link Original   Site Grabber - Webseiten Downloader Beschreibung: Es gibt Momente da möchte man gerne einfach mal ne ganze Seite Downloaden. Hier ist er, der Website Downloader. Einfacher als HTT-RACK. Installation: Unter : Hier klicken kann das Addon installiert, einfach auf zu Firefox hinzufügen klicken Nun auf Hinzufügen klicken. Ausführung im Privaten Fenster erlauben Haken rein. Im Screenshot konnte ich leider kein Haken setzten dann auf OK klicken. Benutzung: Nun Auf das Puzzle Symbol für erweiterungen klicken und dann auf den Site Grabber eintrag. Nun kommt das Schnellstart Fenster. Nun kann man gleich ein Projektnamen und die Url eintragen, oder aber durch klick auf Open Main Window hat Hauptprogramm mit schon vorhandenen Projekten laden. Wir öffnen hier das Haupt Fenster. Man kann aber selbstverständlich schon mit einem Projekt starten. Hier eghst aber erstmal um die Erklärung. Das Hauptfenster Links die Projektliste. Wenn Projekte Vorhanden wären , diese anklicken und über mittels Export Website , dei Seite herunterladen / aktualisieren. Links im Fenster was jetzt noch leer ist, sieht man die aktiven downloads des Projektes. Unten rechts über das rote Plus kann ein neues Projekt angelegt werden. Wir klicken jetzt auf das Plus unten rechts. Nun bekommen wir einen neuen Dialg tragen die URL ein und geben dem Projekt einen Namen. Nach dem Anlegen starten einhaken und auf Add klicken. Nun kommt die Frage ob die Hauptdomain zu den Allowed hinzugefügt werden soll. Diese mit OK bestätigen. Denn n un wird nur von dieser Domain heruntergeladen. Hier hab ich leider keinen Screenshot. Nun startet der Download Über den Button Export Website recht oben, wird dann die Seite als ZIP Archiv gespeichert Danach erscheint unter downloads des Webbrowser das Archiv Erstezen der URL, wenn sie hardcodiert ist: Einige Websiten bauer, haben links Hardcodiert. Das bedeutet das wenn ein Link angeklickt wird in der Offline Webseite, trotzdem dieOnline Version angefragt wird, weils im link drin steht. Hier ist ein kleinen python programm, wo mit suchen erstezen, im ganzen Projekt die url ersetzt werden kann, in allen Dateien. Floccus Addon Beschreibung: https://floccus.org/ Fehler: This profile will be synced soon. We're either waiting for other devices of yours, or other profiles on this device, to finish syncing.  Lösung: Bug, wurde in Version 5.0.10 gefixt. um das Addon aktualisieren  zu können muss auch der Firefox auf die neuste Version aktualisiert werden. Dann kann in denn Addons auf Update Prüfen, das Floccus Addon auch aktualisiert werden Firefox Sync Server Beschreibung: Mann kann den Firefox Sync Server. Auch selbst betreiben, gibt ein Projekt auf Github im docker-container dafür. Das macht das Floccus Addon obsolete. Vorraussetzung: Hier https://accounts.firefox.com ein Konto erstellen Was wird Synchronisiert: Passwortsafe Formular Daten Lesezeichen Tabs Chronik Was wird nicht synchronisiert Keine Add-ons oder komplette Einstellungen (leider) Wenn das gewünscht ist müsste man das Firefox Profil auf dateiebene Syncen zum Beispiel mit Nextcloud synthing. Nachteil es darf immer nur eine Firefox Instanz auf sein. Aber in der Regel wollen wir ja, gar keine Firefox Einstellungen und Addons syncen Vorrausetzung: Public IP Installation apt install docker.io docker-compose curl Verzeichnis erstellen mkdir /root/mozillasync nun die .env Datei erstellen nano /root/mozillasync/.env Inhalt PUBLIC_URL ="http://localhost:5000" # ändere auf https://sync.example.com bei Proxy: "http://localhost:5000" # ändere auf https://sync.example.com bei Proxy Nun die Docker-compose Datei erstellen nano /root/mozillasync/docker-compose.yml Inhalt version: '3.7' services: firefox-sync: image: mozilla/syncserver container_name: firefox-sync restart: unless-stopped environment: SYNCSERVER_PUBLIC_URL: ${PUBLIC_URL} SYNCSERVER_SECRET: "supergeheimes-passwort-ändern" # mind. 8 Zeichen, frei wählbar SYNCSERVER_SQLURI: 'sqlite:////data/syncserver.db' SYNCSERVER_BATCH_UPLOAD_ENABLED: "true" SYNCSERVER_FORCE_WSGI_ENVIRON: "true" PORT: '5000' volumes: - firefox-sync-data:/data caddy: image: caddy:latest restart: always ports: - "80:80" - "443:443" command: caddy reverse-proxy --from ${PUBLIC_URL} --to firefox-sync:5000 volumes: - ./data/caddy/data:/data - ./data/caddy/config:/config volumes: firefox-sync-data: nun Datenverzeichnis anlegen und rechte vergeben mkdir -p /root/mozillasync/firefox-sync-data chmod 777 /root/mozillasync/firefox-sync-data Nun die container starten docker-compose up -d Nun noch die ufw Firewall regeln anpassen. Da hier der Docker container sowieso von außen erreichbar sein soll, brauchen wir hier keine Anspassung für docker. Aber ssh soll nur auf der lokalen Netzwerkkarte zur Verfügung stehen ufw installieren apt install ufw Nun die Regeln setzten ufw allow in on enp6s18 to any port 22 ufw enable Firefox-Konfiguration: Mozilla Firefox Account erforderlich, aber daten laden aufm Server den wir gerade installiert haben In Firefox unter about:config : Schlüssel Wert identity.sync.tokenserver.uri http://localhost:5000/token/1.0/sync/1.5 (oder deine Domain) 🔐 🔄 Wie funktioniert Firefox Sync (mit eigenem Server)? ✅ Was du selbst hostest: Speicher-Backend für Sync-Daten z. B. Lesezeichen, Passwörter, Chronik liegt auf deinem Server (statt bei Mozilla) ❗ Was nicht selbst gehostet wird: Mozilla-Konto-System (Accounts Server / Auth / OAuth) → Firefox-Login läuft weiterhin über Mozilla , außer du hostest auch den Firefox Account Server (aufwändig, meist unnötig) 🧠 Was bedeutet das konkret? Szenario Ergebnis Du loggst dich mit deinem Mozilla-Konto ein Deine Daten landen auf deinem eigenen Server ✅ Fremder kennt deine Sync-Server-Adresse Er kann sich mit seinem eigenen Mozilla-Konto anmelden Fremder hat nicht dein Mozilla-Passwort Er kommt nicht an deine Daten 🛡️ Fremder nutzt deinen Server trotzdem Ja, er kann dort seine eigenen Daten speichern – isoliert Du willst das verhindern → Mit Basic Auth oder IP-Filter abschotten 🔐 🔄 🔧 Firefox zurücksetzen („Bereinigen“) ✅ So geht's Schritt für Schritt: Öffne diese Adresse in Firefox: about:support   Klicke oben rechts auf den Button: „Firefox bereinigen…“ Bestätige den Dialog: „Firefox bereinigen“ Firefox wird neu gestartet – es wird: ein neues Profil angelegt Lesezeichen, Passwörter und Cookies optional übernommen aber: Add-ons, Einstellungen, about:config-Werte, Suchmaschinen, Themes etc. werden gelöscht 💡 Was genau wird gelöscht? Wird behalten Wird gelöscht ✔ Lesezeichen ❌ Add-ons ✔ Passwörter ❌ Themes ✔ Cookies ❌ Einstellungen (auch about:config ) ✔ Chronik (optional) ❌ Suchmaschinen (benutzerdefiniert)   ❌ Benutzerprofileinstellungen     Fehlerbehebungen Firefox hohe CPU Auslastung Beschreibung: Firefox hangt beim laden von mehreren Youtube Videos. Der ganze Rechner Mauscursor läuft langsam und extrem Zugriff auf die Festplatte. Lösung Firefox öffnen und in die Adresszeile about:config eingeben Dort dann in der suche nach "layers.acceleration.force-enabled" suchen. Dann doppelklick auf den eintrag klicken das aus false true wird Danach Firefox neustarten. Firefox nicht in der Liste Standard Browser Beschreibung Fehlt in der Liste der Standardwebbrowser der Firefox wie hier, dann gibt es noch einen zweiten Weg ohne Firefox gleich zu deinstallieren und wieder neu zu installieren Lösung: gehe zu den Standard Apps. Scrolle bis ans ende, und klcike auf Standardeinstellungen nach App festlegen Dort Dann Firefox aus der Liste auswählen und diese Programm als Standard festlegen anklicken Nun Ist firefox als Standrd eingerichtet