L'API delle estensioni di Firefox può prendere una decisione proxy per una singola richiesta. Quando la richiesta ha un'attribuzione di scheda valida, un'estensione può confrontare il suo ID scheda con la scheda scelta dall'utente.

Per lo script in background di un'estensione Firefox esistente, il frammento di instradamento può essere:

browser.proxy.onRequest.addListener(details => {
  if (details.tabId === selectedTabId) {
    return {type: 'http', host: 'proxy.example', port: 8080};
  }
  return {type: 'direct'};
}, {urls: ['<all_urls>']});

L'estensione fornisce selectedTabId dalla propria logica di selezione dell'utente. Il suo host HTTP e la porta intera possono provenire dall'elenco di proxy HTTP per un test consentito su una scheda pubblica. Servono l'autorizzazione proxy e le autorizzazioni host che coprono gli URL filtrati.

Questo differisce da uno script PAC, la cui decisione standard per URL e host non identifica una scheda del browser. Differisce anche dal cambio del proxy manuale globale di Firefox mentre un'altra scheda è in caricamento.

Tenete conto della configurazione sottostante del browser: il valore direct di ProxyInfo non sostituisce un proxy configurato dall'utente. Verificate la politica di base e il comportamento di riserva invece di promettere che ogni richiesta non corrispondente passi direttamente.

Parte del traffico manca di informazioni affidabili sulla scheda e Mozilla documenta un'attribuzione imprecisa per le connessioni proxy HTTP/3. Questo illustra l'instradamento delle richieste, non una garanzia che ogni connessione legata a un'attività di navigazione sia isolata per scheda. L'instradamento tramite contenitori specifico dell'estensione è un altro modello da valutare.

Articoli correlati