Portar extensions de proxy entre Chrome i Firefox
Firefox i Chrome exposen API d'extensió amb noms similars però models de configuració diferents. Porta la política d'encaminament, no només l'espai de noms.
Canviar el nom de chrome a browser no és un port complet d'una extensió de proxy.
La configuració de servidor fix de Chrome fa servir un objecte de mode i regles. Firefox exposa la seva pròpia interfície de paràmetres globals de proxy i una API proxy.onRequest per petició. Els noms similars no fan intercanviables els seus objectes d'entrada.
Comença per la política que vols expressar: un punt final fix, una configuració PAC o una ruta seleccionada per a cada petició. Després fes servir la interfície documentada per a cada navegador.
L'oient per petició de Firefox pot retornar informació de proxy des del codi de l'extensió. Requereix el permís de proxy i l'accés d'amfitrió adequat per a les peticions interceptades. Aquest és un disseny diferent de copiar un objecte de paràmetres de servidor fix de Chrome i esperar que el navegador reconegui cada camp.
Comprova també la versió de Firefox admesa i els requisits del manifest. Els exemples antics que fan servir proxy.register() descriuen una API anterior i no haurien de ser la base d'una extensió actual.
Mantén les dades de política compartides separades de l'adaptació específica de cada navegador. Les proves i el diagnòstic haurien de mostrar la ruta seleccionada per a una destinació a cada navegador, incloent-hi un resultat directe deliberat. Un manifest vàlid i una crida a l'API que no llança errors només són el començament.