Portare estensioni proxy tra Chrome e Firefox
Firefox e Chrome espongono API di estensione con nomi simili ma modelli di configurazione diversi. Porta la politica di routing, non solo lo spazio dei nomi.
Rinominare chrome in browser non è un port completo di un'estensione proxy.
La configurazione a server fisso di Chrome usa un oggetto modalità e regole. Firefox espone la propria interfaccia per le impostazioni proxy globali e un'API proxy.onRequest per richiesta. Nomi simili non rendono intercambiabili i loro oggetti di input.
Parti dalla politica che vuoi esprimere: un endpoint fisso, una configurazione PAC o una rotta scelta separatamente per ogni richiesta. Poi usa l'interfaccia documentata per ciascun browser.
Il listener per richiesta di Firefox può restituire informazioni sul proxy dal codice dell'estensione. Richiede l'autorizzazione proxy e l'accesso host adeguato per le richieste intercettate. È un progetto diverso dal copiare un oggetto di impostazioni a server fisso di Chrome e sperare che il browser riconosca ogni campo.
Controlla anche la versione di Firefox supportata e i requisiti del manifest. I vecchi esempi che usano proxy.register() descrivono un'API precedente e non dovrebbero essere la base di un'estensione attuale.
Tieni i dati di politica condivisi separati dall'adattamento specifico del browser. Test e diagnostica dovrebbero mostrare la rotta scelta per una destinazione in ciascun browser, incluso un risultato diretto deliberato. Un manifest valido e una chiamata API che non genera errori sono solo l'inizio.