Как разрабатывать устаревшие дополнения Firefox в будущем?
Firefox движется к стандарту WebExtensions, который обещает улучшения стабильности, кросс-браузерной совместимости и большей безопасности. В то же время они постепенно отказываются от поддержки устаревших надстроек (загружаемых расширений, надстроек SDK и т. Д.).
К сожалению, API WebExtension гораздо менее мощны, чем устаревшие надстройки, которые, напротив, имеют полный контроль над браузером. Я полностью понимаю мотивацию для переключения, но функции, которые предоставляет мое дополнение, просто не могут работать с ограниченными возможностями WebExtension.
Какие у меня есть варианты, чтобы продолжить разработку устаревшего дополнения с как можно меньшим количеством сокращений? Как другие надстройки, которые не работают как чистый WebExtension, решают эту проблему? Существуют ли какие-либо нишевые проекты, посвященные поддержанию какого-либо устаревшего расширения хака, или мне придется самому сильно модифицировать Firefox, чтобы в будущем установить какие-либо устаревшие надстройки?
(Я знаю, что не смогу отправить свое дополнение в AMO или подписать его в Mozilla, и что поддержка полных расширений представляет собой потенциальную угрозу безопасности. Но так как мое дополнение предназначено для технически подкованной аудитории Я не слишком обеспокоен умеренно сложными обходными путями.)
3 ответа
Как говорит волшебный шар 8: "Не могу предсказать сейчас".
Реальность такова, что мы еще не знаем, что потребуется для продолжения работы надстроек, не основанных на WebExtensions, после выпуска Firefox 57. Все, что мы знаем, это то, что Mozilla заявляет, что для Firefox 57:
- Firefox будет запускать только WebExtensions.
- AMO продолжит поддерживать перечисление и обновление устаревших надстроек после выпуска 57, чтобы облегчить переход. Точное время отключения этой поддержки еще не определено.
Ранее было указано, что ограничение только для WebExtensions будет применяться только к каналам Release и Beta, поэтому:
Возможно продолжение работы надстроек, не основанных на WebExtension, на:
- Developer Edition
- еженощно
- Брендовый релиз и бета-версия (неизвестный статус)
В настоящее время неясно, будут ли это на самом деле возможности. Если они будут возможными, неясно, как долго будут работать старые дополнения (как из-за преднамеренных отключений изменений в Firefox и / или не-WebExtensions). Тот факт, что AMO будет продолжать поддерживать листинг и обновления надстроек, не относящихся к WebExtension, является обнадеживающим признаком того, что мы по-прежнему сможем использовать их в выпусках Firefox, которые не являются основными выпусками и бета-каналами.
Другие варианты включают в себя:
- Выпуск Firefox ESR 52. Шаблон заключается в том, что это будет поддерживаться в обычной версии Firefox 60 или около того. Лично я считаю, что Mozilla должна планировать выпуск ESR до каких-либо серьезных изменений в функциональности (т.е. иметь Firefox 56 ESR), но, похоже, Mozilla не делает этого.
- Различные вилки, которые были сделаны из Firefox. Каждая вилка должна быть проверена, чтобы увидеть, каковы их планы на это изменение.
- Любой новый форк сделан специально для продолжения поддержки не-WebExtension дополнений.
- Может быть решено взломать, чтобы снова включить поддержку не-WebExtension, аналогичную той, которая существует для отключения проверки подписи надстроек.
Вы должны помнить, что планы Firefox кардинально изменятся в будущем. Существенной причиной отказа от более функциональных типов надстроек (расширений, не основанных на WebExtensions, а также готовых тем) является возможность изменения Firefox без необходимости поддерживать совместимость с более способными надстройками, которые полагаются на внутренности Firefox для их работы. Когда именно произойдут эти переломные изменения, неясно.
Лично я в похожей лодке. Ни одна из моих выпущенных надстроек не может быть перенесена в WebExtensions. Многие из других надстроек, которые я использую, явно не могут перейти на WebExtensions. Честно говоря, я не с нетерпением жду использования Firefox без возможностей, предоставляемых некоторыми из этих дополнений. Таким образом, я буду продолжать смотреть на то, какие варианты доступны по мере приближения к Firefox 57.
Тем не менее, даже если я не найду возможности использовать более функциональные надстройки после того, как Firefox 52 ESR будет добавлен в EOL, я могу продолжать использовать Firefox. Моя основная причина сделать это вместо того, чтобы переключиться на Chrome, заключается в том, что расширения Firefox проходят процесс проверки, в то время как расширения Chrome выпущены, хотя магазин Chrome может быть очень плохим с точки зрения как безопасности, так и конфиденциальности.
По вашему вопросу:
Существуют ли какие-либо нишевые проекты, посвященные поддержанию своего рода "хакерских" расширений, или мне придется самому сильно модифицировать Firefox, чтобы в будущем установить какие-либо> устаревшие надстройки?
Помимо ранее упомянутого FF52ESR, по крайней мере, есть 2 живых проекта, основанных на коде Firefox, которые направлены на сохранение совместимости с унаследованными расширениями.
Waterfox 56 (обновлен и совместим с устаревшими аддонами и веб-расширениями)
Василиск 201804 (обновлен и основан на FF52, ориентирован на v55)
С другой стороны, у вас есть Palemoon 27.x, который также все еще поддерживается, но основан на интерфейсе, предшествующем Australis FF, поэтому он будет совместим со старыми унаследованными аддонами.
Загрузите и установите последнюю версию Nightly Firefox ( https://www.mozilla.org/en-US/firefox/58.0a1/releasenotes) (вы можете щелкнуть правой кнопкой мыши значок, нажать "Свойства", а затем добавить -no-remote -p в целевой адрес, например, в "C:\Program Files\Nightly\firefox.exe" -no-remote -p, который позволит вам использовать более одного профиля)
В about:config (вставьте в адресную строку и нажмите клавишу Enter), найдите extensions.legacy.enabled и щелкните правой кнопкой мыши и переключите его на true в.
Загрузите "в любом случае" последнюю версию разработки TMP ( https://addons.mozilla.org/en-US/firefox/addon/tab-mix-plus/versions/0.5.0.5pre.171027a1) в папку загрузки (поскольку Nighlty не установит его нормально), в разделе "Файл" перейдите в "Открыть файл" и перейдите к этому файлу (с расширением / xpi) в папке загрузки, установите его и перезапустите Nightly.
Маловероятно, что это будет работать со стандартной версией Firefox 57+, но разработчик TMP работает над переписыванием по требованию. Да поможет ему Бог.