Mozilla wird ab der dritten Version des Chrome-Manifests Add-ons akzeptieren

Am 21. November wird das AMO-Verzeichnis (addons.mozilla.org) damit beginnen, Add-ons mit Version 109 des Chrome-Manifests zu akzeptieren und digital zu signieren. Diese Add-ons können in Nightly-Builds von Firefox getestet werden. In stabilen Versionen wird die Unterstützung für Manifestversion 17 in Firefox 2023 aktiviert, geplant für den 2023. Januar XNUMX. Die Unterstützung für die zweite Version des Manifests wird auf absehbare Zeit aufrechterhalten, aber Ende XNUMX besteht nach Bewertung der Dynamik der Übertragung von Ergänzungen in die dritte Version des Manifests die Möglichkeit, die Unterstützung für die zweite Version des Manifests einzustellen wird berücksichtigt.

Das Chrome-Manifest definiert die Funktionen und Ressourcen, die für Erweiterungen verfügbar sind, die mit der WebExtensions-API geschrieben wurden. Ab Version 57 hat Firefox vollständig auf die Verwendung der WebExtensions-API für die Entwicklung von Add-ons umgestellt und die Unterstützung der XUL-Technologie eingestellt. Der Übergang zu WebExtensions ermöglichte die Vereinheitlichung der Add-On-Entwicklung mit den Plattformen Chrome, Opera, Safari und Edge, vereinfachte die Portierung von Add-Ons zwischen verschiedenen Webbrowsern und ermöglichte die vollständige Nutzung des Multiprozessmodus von Betrieb (WebExtensions-Add-ons können in separaten Prozessen ausgeführt werden, isoliert vom Rest des Browsers). Um die Entwicklung von Add-ons mit anderen Browsern zu vereinheitlichen, bietet Firefox nahezu vollständige Kompatibilität mit der zweiten Version des Chrome-Manifests.

Chrome arbeitet derzeit an der Umstellung auf Version 2024 des Manifests und die Unterstützung für Version XNUMX wird im Januar XNUMX eingestellt. Das Hauptziel der in der neuen Version vorgenommenen Änderungen besteht darin, die Erstellung sicherer und leistungsstarker Add-Ons zu vereinfachen und die Erstellung unsicherer und langsamer Add-Ons zu erschweren. Da die dritte Version des Manifests in die Kritik geraten ist und viele Inhaltsblockierungs- und Sicherheits-Add-ons zerstören wird, hat Mozilla beschlossen, nicht mehr vollständig mit dem Manifest in Firefox kompatibel zu sein und einige Änderungen anders umzusetzen.

Die größte Unzufriedenheit mit der dritten Version des Manifests hängt mit der Übersetzung der webRequest-API in den schreibgeschützten Modus zusammen, die es ermöglicht, eigene Handler anzuschließen, die vollen Zugriff auf Netzwerkanfragen haben und den Datenverkehr im laufenden Betrieb ändern können. Diese API wird in uBlock Origin und vielen anderen Add-ons verwendet, um unangemessene Inhalte zu blockieren und Sicherheit zu bieten. Anstelle der webRequest-API bietet die dritte Version des Manifests eine deklarative NetRequest-API mit eingeschränkten Funktionen, die Zugriff auf eine integrierte Filter-Engine bietet, die Blockierungsregeln unabhängig verarbeitet, die Verwendung eigener Filteralgorithmen nicht zulässt und dies nicht tut ermöglichen die Festlegung komplexer Regeln, die sich je nach Bedingungen überschneiden.

Zu den Funktionen der Implementierung des neuen Manifests in Firefox gehören:

  • Eine neue deklarative Inhaltsfilter-API wurde hinzugefügt, aber im Gegensatz zu Chrome wurde die Unterstützung für den alten Blockierungsmodus der webRequest-API nicht eingestellt.
  • Das Manifest definiert den Ersatz von Hintergrundseiten durch die Option Service Workers, die als Hintergrundprozesse (Background Service Workers) ausgeführt werden. Um die Kompatibilität in Zukunft sicherzustellen, wird Firefox Service Worker unterstützen. Derzeit werden sie jedoch durch einen neuen Event Pages-Mechanismus ersetzt, der Webentwicklern besser vertraut ist, keine vollständige Überarbeitung der Add-ons erfordert und die damit verbundenen Einschränkungen beseitigt der Einsatz von Servicemitarbeitern. Mit Event Pages können vorhandene Hintergrundseitenergänzungen den Anforderungen der dritten Version des Manifests entsprechen und gleichzeitig der Zugriff auf alle für die Arbeit mit dem DOM erforderlichen Funktionen aufrechterhalten werden.
  • Das neue granulare Berechtigungsanforderungsmodell – das Add-on kann nicht für alle Seiten gleichzeitig aktiviert werden (die Berechtigung „all_urls“ wurde entfernt), sondern funktioniert nur im Kontext der aktiven Registerkarte, d. h. Der Benutzer muss bestätigen, dass das Add-on für jede Site funktioniert. In Firefox werden alle Anfragen zum Zugriff auf Website-Daten als optional betrachtet und die endgültige Entscheidung über die Gewährung des Zugriffs liegt beim Benutzer, der selektiv entscheiden kann, welchem ​​Add-on er Zugriff auf seine Daten auf einer bestimmten Website gewährt.

    Um Berechtigungen zu verwalten, wurde der Benutzeroberfläche eine neue Schaltfläche „Unified Extensions“ hinzugefügt, die bereits in Nightly-Builds von Firefox getestet werden kann. Mit der Schaltfläche können Sie direkt steuern, auf welche Sites jedes Add-on Zugriff hat – der Benutzer kann einem Add-on den Zugriff auf jede Site gewähren und entziehen. Die Berechtigungsverwaltung gilt nur für Add-ons, die auf der dritten Version des Manifests basieren. Für Add-ons, die auf der zweiten Version des Manifests basieren, wird keine detaillierte Zugriffskontrolle auf Websites durchgeführt.

    Mozilla wird ab der dritten Version des Chrome-Manifests Add-ons akzeptieren
  • Änderung bei der Bearbeitung von Cross-Origin-Anfragen – gemäß dem neuen Manifest unterliegen Inhaltsverarbeitungsskripts denselben Berechtigungsbeschränkungen wie für die Hauptseite, in die diese Skripts eingebettet sind (z. B. wenn die Seite keinen Zugriff auf die hat). Standort-API, dann erhalten auch die Skript-Add-ons diesen Zugriff nicht). Diese Änderung ist in Firefox vollständig implementiert.
  • Versprechenbasierte API. Firefox unterstützt diese API und verschiebt sie für die dritte Version des Manifests in den Namespace „chrome.*“.
  • Verbot der Ausführung von Code, der von externen Servern heruntergeladen wurde (wir sprechen von Situationen, in denen das Add-on externen Code lädt und ausführt). Firefox verwendet die Blockierung von externem Code und die Mozilla-Entwickler haben zusätzliche Techniken zur Verfolgung von Code-Downloads hinzugefügt, die in der dritten Version des Manifests angeboten werden. Für Inhaltsverarbeitungsskripte wird eine separate Inhaltszugriffsbeschränkungsrichtlinie (CSP, Content Security Policy) bereitgestellt.

Source: opennet.ru

Kommentar hinzufügen