Το Mozilla θα αρχίσει να δέχεται πρόσθετα με βάση την τρίτη έκδοση του μανιφέστου του Chrome

21 ноября каталог AMO (addons.mozilla.org) начнёт принимать и заверять цифровой подписью дополнения, использующие третью версию манифеста Chrome. Указанные дополнения можно будет протестировать в ночных сборках Firefox. В стабильных выпусках включение поддержки третьей версии манифеста будет произведено в Firefox 109, намеченном на 17 января 2023 года. Поддержка второй версии манифеста в обозримом будущем будет сохранена, но в конце 2023 года, после оценки динамики перевода дополнений на третью версию манифеста, будет рассмотрен вопрос о возможности перевода поддержки второй версии манифеста в разряд устаревших.

Манифест Chrome определяет возможности и ресурсы, доступные для дополнений, написанных с использованием API WebExtensions. Начиная с версии 57 Firefox полностью перешёл на использование API WebExtensions для разработки дополнений и прекратил поддержку технологии XUL. Переход на WebExtensions позволил унифицировать разработку дополнений с платформами Chrome, Opera, Safari и Edge, упростил портирование дополнений между различными web-браузерами и дал возможность полноценно использовать многопроцессный режим работы (дополнения WebExtensions могут выполняться в отдельных процессах, изолированно от остальных частей браузера). Для унификации разработки дополнений с остальными браузерами в Firefox обеспечивается почти полная совместимость со второй версией манифеста Chrome.

В настоящее время в Chrome ведётся работа по переходу на третью версию манифеста, а поддержка второй версии будет прекращена в январе 2024 года. Главной целью внесённых в новую версию изменений является упрощение создания безопасных и высокопроизводительных дополнений, и усложнение возможности создания небезопасных и медленных дополнений. Так как третья версия манифеста стала объектом критики и приведёт к нарушению работы многих дополнений для блокирования нежелательного контента и обеспечения безопасности, компания Mozilla решила отойти от обеспечения полной совместимости с манифестом в Firefox и реализовать иначе некоторые изменения.

Η κύρια δυσαρέσκεια με την τρίτη έκδοση του μανιφέστου σχετίζεται με τη μετάφραση σε λειτουργία μόνο για ανάγνωση του webRequest API, η οποία κατέστησε δυνατή τη σύνδεση των δικών σας χειριστών που έχουν πλήρη πρόσβαση σε αιτήματα δικτύου και μπορούν να τροποποιήσουν την κυκλοφορία εν κινήσει. Αυτό το API χρησιμοποιείται στο uBlock Origin και σε πολλά άλλα πρόσθετα για τον αποκλεισμό ακατάλληλου περιεχομένου και την παροχή ασφάλειας. Αντί για το webRequest API, η τρίτη έκδοση του manifest προσφέρει ένα περιορισμένης δυνατότητας declarativeNetRequest API, το οποίο παρέχει πρόσβαση σε μια ενσωματωμένη μηχανή φιλτραρίσματος που επεξεργάζεται ανεξάρτητα κανόνες αποκλεισμού, δεν επιτρέπει τη χρήση των δικών της αλγορίθμων φιλτραρίσματος και δεν επιτρέπουν τη θέσπιση πολύπλοκων κανόνων που αλληλοεπικαλύπτονται ανάλογα με τις συνθήκες.

Среди особенностей реализации нового манифеста в Firefox:

  • Добавлен новый декларативный API фильтрации контента, но в отличие от Chrome не прекращена поддержка старого блокирующего режима работы API webRequest.
  • В манифесте определена замена фоновых страниц на вариант Service Workers, работающий в виде фоновых процессов (Background Service Workers). Для обеспечения совместимости в будущем в Firefox будет реализована поддержка Service Workers, но в настоящее время вместо них предложен новый механизм Event Pages, который более привычен для web-разработчиков, не требует полной переработки дополнений и устраняет ограничения, связанные с применением Service Workers. Event Pages позволит привести существующие дополнения с фоновыми страницами к требованиям третьей версии манифеста, сохранив при этом доступ ко всем возможностям, необходимым для работы с DOM.
  • Το νέο μοντέλο λεπτομερούς αιτήματος άδειας - το πρόσθετο δεν θα μπορεί να ενεργοποιηθεί για όλες τις σελίδες ταυτόχρονα (το δικαίωμα "all_urls" έχει καταργηθεί), αλλά θα λειτουργεί μόνο στο πλαίσιο της ενεργής καρτέλας, π.χ. ο χρήστης θα πρέπει να επιβεβαιώσει ότι το πρόσθετο λειτουργεί για κάθε ιστότοπο. Στον Firefox, όλα τα αιτήματα για πρόσβαση σε δεδομένα ιστότοπου θα θεωρούνται προαιρετικά και η τελική απόφαση για την παραχώρηση πρόσβασης θα λαμβάνεται από τον χρήστη, ο οποίος θα μπορεί να αποφασίσει επιλεκτικά σε ποιο πρόσθετο θα παραχωρήσει πρόσβαση στα δεδομένα του σε έναν συγκεκριμένο ιστότοπο.

    Для управления полномочиями в интерфейс добавлена новая кнопка «Unified Extensions», которую уже можно протестировать в ночных сборках Firefox. Кнопка предоставляет средства для непосредственного управления тем, к каким сайтам имеет доступ каждое дополнение — пользователь может предоставить и отозвать доступ дополнения к любому сайту. Управление полномочиями применяется только к дополнениям на основе третьей версии манифеста, для дополнений на второй версии манифеста гранулированное управление доступом к сайтам не производится.

    Το Mozilla θα αρχίσει να δέχεται πρόσθετα με βάση την τρίτη έκδοση του μανιφέστου του Chrome
  • Αλλαγή στον χειρισμό αιτημάτων πολλαπλής προέλευσης - σύμφωνα με το νέο μανιφέστο, τα σενάρια επεξεργασίας περιεχομένου θα υπόκεινται στους ίδιους περιορισμούς αδειών όπως για την κύρια σελίδα στην οποία είναι ενσωματωμένα αυτά τα σενάρια (για παράδειγμα, εάν η σελίδα δεν έχει πρόσβαση στο location API, τότε τα πρόσθετα σεναρίου δεν θα λάβουν επίσης αυτήν την πρόσβαση). Αυτή η αλλαγή εφαρμόζεται πλήρως στον Firefox.
  • API на основе Promise. Firefox поддерживает данный API и для третьей версии манифеста перенесёт его в пространство имён «chrome.*».
  • Запрет выполнения кода, загруженного с внешних серверов (речь про ситуации, когда дополнение подгружает и выполняет внешний код). В Firefox применяется блокировка внешнего кода и разработчики Mozilla добавили дополнительные техники отслеживания загрузок кода, предлагаемые в третьей версии манифеста. Для скриптов обработки контента представлена отдельная политика ограничения доступа к контенту (CSP, Content Security Policy).

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο