wie das Deaktivieren eines Add-ons verhindern?

  • Firefox-Version
    114.1 (64bit)
    Betriebssystem
    Linux

    hallo Firefox-Helden,

    ich suche eine Möglichkeit, um das deaktivieren eines Addons zu verhindern.

    Das Addon ist sekundär, aber der Vollständigkeit halber: es geht um den Web-Blocker LeechBlock.

    Er war als Alternative zum Webblocker ColdTurkey gedacht, doch anders als bei ColdTurkey, das für Linux-Systeme nicht funktioniert, gibt es keinen Passwort-Schutz, um die Deaktivierung und/oder Deinstallation des Addons zu verhindern. Somit ist es ganz leicht, sich abzulenken, obwohl man das eigentlich nicht will.

    weiß jemand eine Lösung?

  • Von alleine deaktiviert sich ein Add-on eigentlich nicht, es sei denn, es ist nicht mehr kompatibel oder du benutzt den privaten Modus und hast das Add-on noch nicht für den privaten Modus erlaubt. Ersteres ist wohl unwahrscheinlich, siehe hier:

    LeechBlock NG – Holen Sie sich diese Erweiterung für 🦊 Firefox (de)
    Laden Sie LeechBlock NG für Firefox herunter. LeechBlock NG is a simple productivity tool designed to block those time-wasting sites that can suck the life out…
    addons.mozilla.org

    Übersetzer für Obersorbisch und Niedersorbisch auf pontoon.mozilla.org u.a. für Firefox, Firefox für Android, Firefox für iOS, Firefox Klar/Focus für iOS und Android, Thunderbird, Pootle, Django, LibreOffice, LibreOffice Onlinehilfe, WordPress

  • Von alleine deaktiviert sich ein Add-on eigentlich nicht, es sei denn, es ist nicht mehr kompatibel oder du benutzt den privaten Modus und hast das Add-on noch nicht für den privaten Modus erlaubt. Ersteres ist wohl unwahrscheinlich, siehe hier:

    https://addons.mozilla.org/de/firefox/addon/leechblock-ng/

    es war das manuelle deaktivieren gemeint. dem möchte ich vorbeugen. doch das geht nicht ohne sehr langes Passwort oder aber durch eine individuelle Anpassung von Firefox. Daher sollte das Thema unter "Individuelle Anpassungen" bleiben. 2002Andreas

  • Erweiterungen können auch ohne Zugriff auf about:addons deinstalliert werden. Außerdem war die Anforderung ja nicht, die Installation und Deinstallation anderer Add-ons zu verhindern.

    janpr: Das Ganze funktioniert über eine Unternehmensrichtlinie. So sieht der Inhalt für die Datei policies.json aus:

    JavaScript
    {
      "policies": {
        "ExtensionSettings": {
          "leechblockng@proginosko.com": {
            "install_url": "https://addons.mozilla.org/firefox/downloads/file/4117352/latest.xpi",
            "installation_mode": "force_installed"
          }
        }
      }
    }

    Die Datei gehört in ein Unterverzeichnis distribution im Installationsordner von Firefox.

    Damit ist weder eine Deinstallation noch Deaktivierung möglich:

  • Der Themenersteller möchte nicht, dass eine bestimmte Erweiterung deaktiviert werden kann. Oder anders formuliert, um die Auswirkung vielleicht verständlicher zu machen: Der Nutzer soll nichts daran ändern dürfen, dass diese Erweiterung immer aktiviert ist. Dementsprechend darf die Erweiterung auch nicht deinstalliert werden. Oder wie soll deiner Meinung nach eine Erweiterung aktiviert sein, wenn diese gar nicht mehr installiert ist? Eben, das ist überhaupt nicht möglich und ergibt auch keinen Sinn. Nicht zu wollen, dass eine Erweiterung deaktiviert wird, schließt zwangsläufig immer auch ein, dass die Erweiterung nicht deinstalliert werden darf.

    Und genau das kann innerhalb von Firefox ausschließlich über den von mir beschriebenen Weg einer Unternehmensrichtlinie erreicht werden, entweder über die ExtensionSettings- oder die veraltete Extensions-Richtline. Den Zugriff auf about:addons zu blockieren, erfüllt weder diese Anforderung noch beschränkt das die Lösung auf nur diese eine Erweiterung, sondern würde ausnahmslos alle Erweiterungen betreffen, was überhaupt nicht gefragt war.

  • Das war auch nicht gefragt, aber anders gehts nicht nach meinem Verständnis.

    Die Erweiterung ist ein URL-Blocker mit Passwortschutz, den man nur umgehen kann, indem es deaktiviert (oder deinstalliert) wird. Bei der Deinstallation gehen ja sämtlich Einstellungen auch noch verloren. Ich denke auch, dass er nicht möchte, dass andere Nutzer von Firefox diese URL-Sperre umgehen. Und da wüsste ich nur den einen Weg, dass man per Policies eben den Zugang zum about:addons blockiert

    Erweiterungen können auch ohne Zugriff auf about:addons deinstalliert werden

    Und das wäre wie? Jetzt sag nicht manuelles Löschen. Ansonsten kannst du dir sicher sein, dass etliche Augen auf diese Methode schauen werden.

    Zu force_installed

    GitHub - mozilla/policy-templates: Policy Templates for Firefox
    Policy Templates for Firefox. Contribute to mozilla/policy-templates development by creating an account on GitHub.
    github.com
    Zitat

    The extension is automatically installed and can't be removed by the user. This option is not valid for the default configuration and requires an install_url.

    Auf die Gefahr hin, dass ich mich wiederhole - da oben steht "deaktivieren ... verhindern", nicht "deinstallieren ... verhindern"

    Wir sind keine Beschwerdestelle, hier gibt es nur Lösungen! Meine Glückszahl hier: 90.

  • Das war auch nicht gefragt, aber anders gehts nicht nach meinem Verständnis.

    Wie gesagt: Der einzige korrekte Weg führt über die Extensions- oder ExtensionSettings-Richtlinie und den Weg habe ich gezeigt.

    Die Erweiterung ist ein URL-Blocker mit Passwortschutz, den man nur umgehen kann, indem es deaktiviert (oder deinstalliert) wird.

    Das ist richtig, es spielt aber auch keine Rolle, um was für eine Erweiterung es geht. Das Prinzip ist für jede Erweiterung das gleiche. Man braucht nur die ID des Add-ons sowie eine Installations-URL, beides setzt man entsprechend in der Richtlinie.

    Bei der Deinstallation gehen ja sämtlich Einstellungen auch noch verloren.

    Auch das mag richtig sein, tut aber genauso nichts zur Sache. Es geht hier schließlich nicht darum, dass jemand eine Erweiterung deinstallieren soll. Im Gegenteil geht es darum, dass genau das nicht möglich sein kann, wenn man die Deaktivierung einer Erweiterung verhindert. Was interessiert es also, ob Einstellungen bei einer Deinstallation verloren gehen, wenn gar keine Deinstallation möglich ist?

    Und da wüsste ich nur den einen Weg, dass man per Policies eben den Zugang zum about:addons blockiert

    Echt jetzt? Nun habe es ich schon zwei Mal (!) erklärt und du behauptest immer noch etwas anderes. Ein drittes Mal:

    Punkt 1: Ja, es geht nur über eine Unternehmensrichtlinie, und zwar eine der zwei von mir genannten. Die bevorzugte Variante habe ich als funktionsfähiges Code-Beispiel gezeigt, welches ohne weitere Anpassung kopiert werden kann. Es geht nicht über die Richtlinie zum Blockieren von about:addons. Diese Richtlinie blockiert nur die Oberfläche von about:addons, nichts anderes. Das ist kein Schutz vor der Abschaltung einer Erweiterung.

    Punkt 2: Selbst mit blockiertem about:addons kannst du erstens Erweiterungen deinstallieren (= deaktivieren plus löschen), zweitens betrifft das die Verwaltung ausnahmslos aller Erweiterungen, während der Themenersteller explizit danach gefragt hat, die Deaktivierung nur einer einzelnen Erweiterung zu verhindern. Deine Lösung entspricht also aus gleich zwei Gründen nicht dem, wonach der Themenersteller gefragt hat. Meine Lösung macht exakt das. Und tatsächlich gibt es keinen Grund, about:addons auch noch zusätzlich zu blockieren, wenn man wirklich nur das machen möchte, wonach hier gefragt worden ist.

    Und das wäre wie? Jetzt sag nicht manuelles Löschen. Ansonsten kannst du dir sicher sein, dass etliche Augen auf diese Methode schauen werden.

    Ganz einfach über die Symbolleiste:

    Auf die Gefahr hin, dass ich mich wiederhole - da oben steht "deaktivieren ... verhindern", nicht "deinstallieren ... verhindern"

    Du hast aber schon gesehen, dass ich sogar einen Screenshot davon gemacht habe, der beweist, dass man die Erweiterung mit dieser Konfiguration nicht deaktivieren kann? Anders würde eine „erzwungene Installation“ ja auch gar keinen Sinn ergeben. Und wenn du mir schon nicht glaubst und meinen Screenshot entweder ignorierst oder für eine Fälschung hältst, bleibt dir ja immer noch die Möglichkeit, die Richtlinie einfach mal selbst zu testen. Denn auch den Code habe ich wie gesagt bereitgestellt. Da muss nichts mehr für angepasst werden, einfach kopieren und Firefox starten. Nach nicht viel mehr als fünf Sekunden solltest du die Bestätigung haben, dass es genau so ist, wie ich es jetzt schon zum dritten Mal erkläre.

    Ich weiß echt nicht, was das für eine sinnlose Diskussion sein soll, die du hier anzettelst. Du kannst gerne glauben, dass ich keinen Blödsinn geschrieben habe. Denn mal abgesehen davon, dass ich schon berufsbedingt mit dem Lesen von technischen Dokumentationen vertraut bin und mich mit den ganzen Richtlinien außerdem lange genug beschäftigen musste, als ich den Enterprise Policy Generator entwickelt habe (Ich habe sogar einen Migrator geschrieben, um eine gespeicherte Legacy-Richtlinie für bestehende Nutzer beim Update auf die neuere ExtensionSettings-Richtlinie zu migrieren, ich bin mit den Erweiterungs-Richtlinien also tatsächlich vertraut…) habe ich wie gesagt ja den fertigen Code sowie einen Screenshot geteilt. Ich habe es also ganz offensichtlich selbst getestet, bevor ich irgendetwas in diesem Thread geschrieben habe…

  • einen Screenshot davon gemacht habe, der beweist, dass man die Erweiterung mit dieser Konfiguration nicht deaktivieren kann

    Das habe ich in der Tat übersehen. Leider steht davon nichts im verlinkten github. Deswegen konnte ich bislang auch nichts anderes annehmen, was du als "Blödsinn" bezeichnest.

    Was das "Erweiterung entfernen" angeht, muss ich das verfolgen, das wird mir hier nicht angezeigt - nur für Erweiterungen, die ich als Button anzeigen lasse. Ich kann nicht ausschliessen, dass mein CSS für diesen Dialog dafür verantwortlich ist.

    Friede?

    Wir sind keine Beschwerdestelle, hier gibt es nur Lösungen! Meine Glückszahl hier: 90.

  • Wie vermutet ist es ein CSS-Schnipsel für diesen Dialog:

    CSS
        menupopup#unified-extensions-context-menu .unified-extensions-context-menu-report-extension,
        menupopup#unified-extensions-context-menu .unified-extensions-context-menu-remove-extension
        {
            display: none !important;
        }

    Und wie ersichtlich spar ich mir auch die Melden-Funktion. Danke für eure Unterstützung, wäre ich so nicht (nicht so schnell) drauf gekommen.

    Wir sind keine Beschwerdestelle, hier gibt es nur Lösungen! Meine Glückszahl hier: 90.

  • Hallo Sören,

    vielen Dank für deine Erklärung! :)
    Dein Code für das addon "leechblock" funktioniert bei mir wie beschrieben.

    Wenn ich versuche, das selbe Prinzip auch auf andere Erweiterungen anzuwenden, scheitere ich leider.
    Hast du mir eine Idee warum?

    Beispiel: Erweiterung Ecosia

    JavaScript
    {
      "policies": {
        "ExtensionSettings": {
          "info@ecosia.org": {
            "install_url": "https://addons.mozilla.org/firefox/downloads/file/3960424/latest.xpi",
            "installation_mode": "force_installed"
          }
        }
      }
    }

    Genauso bei anderen Erweiterungen, die ich ausprobiert habe. Mein Ziel ist auch, dass Deaktivieren von Erweiterungen zu unterbinden.

    Freu mich über eine Antwort :)

  • Friede?


    Aber sicher. ;)

    Wenn ich versuche, das selbe Prinzip auch auf andere Erweiterungen anzuwenden, scheitere ich leider.
    Hast du mir eine Idee warum?

    Die ID des Add-ons ist falsch. Wenn du eine Erweiterung installiert hast, findest du über about:support oder about:debugging die korrekte ID. In dem Fall musst du info@ecosia.org durch {d04b0b40-3dab-4f0b-97a6-04ec3eddbfb0} ersetzen.