Перенос прокси-расширений между Chrome и Firefox
Firefox и Chrome предоставляют одноимённые API расширений, но с разными моделями конфигурации. Переносите политику маршрутизации, а не только пространство имён.
Переименование chrome в browser не является полным переносом прокси-расширения.
Конфигурация фиксированного сервера в Chrome использует объект режима и правил. Firefox предоставляет собственный интерфейс глобальных настроек прокси и API proxy.onRequest для каждого запроса. Похожие имена не делают их входные объекты взаимозаменяемыми.
Начните с политики, которую хотите выразить: одна фиксированная конечная точка, конфигурация PAC или маршрут, выбираемый отдельно для каждого запроса. Затем используйте интерфейс, документированный для каждого браузера.
Слушатель Firefox для каждого запроса может возвращать сведения о прокси из кода расширения. Для этого нужны разрешение прокси и подходящий доступ к хосту для перехваченных запросов. Это иная архитектура, чем копирование объекта настроек фиксированного сервера Chrome и надежда на то, что браузер распознает каждое поле.
Проверьте также поддерживаемую версию Firefox и требования к manifest. Старые примеры с proxy.register() описывают более ранний API и не должны быть основой текущего расширения.
Держите общие данные политики отдельно от адаптации под конкретный браузер. Тесты и диагностика должны показывать выбранный маршрут для пункта назначения в каждом браузере, включая намеренно прямой результат. Корректный manifest и вызов API без исключения — это только начало.