Portar extensões de proxy entre Chrome e Firefox
Firefox e Chrome expõem APIs de extensão com nomes semelhantes, mas modelos de configuração diferentes. Porte a política de encaminhamento, não apenas o namespace.
Renomear chrome para browser não é uma portagem completa de uma extensão de proxy.
A configuração de servidor fixo do Chrome usa um objeto de modo e regras. O Firefox expõe sua própria interface de configurações globais de proxy e uma API proxy.onRequest por requisição. Nomes semelhantes não tornam seus objetos de entrada intercambiáveis.
Comece pela política que você quer expressar: um endpoint fixo, uma configuração PAC ou uma rota escolhida separadamente para cada requisição. Depois use a interface documentada para cada navegador.
O ouvinte por requisição do Firefox pode retornar informações de proxy a partir do código da extensão. Ele exige a permissão de proxy e o acesso de host adequado para requisições interceptadas. Esse é um design diferente de copiar um objeto de configurações de servidor fixo do Chrome e esperar que o navegador reconheça cada campo.
Verifique também a versão do Firefox suportada e os requisitos do manifest. Exemplos antigos que usam proxy.register() descrevem uma API anterior e não deveriam ser a base de uma extensão atual.
Mantenha os dados de política compartilhados separados da adaptação específica de cada navegador. Testes e diagnósticos devem mostrar a rota escolhida para um destino em cada navegador, incluindo um resultado direto deliberado. Um manifest válido e uma chamada de API que não lança erro são apenas o começo.