API proširenja Firefoxa može donijeti odluku o proxyju za pojedinačni zahtjev. Kada zahtjev ima valjanu dodjelu kartice, proširenje može usporediti njezin ID kartice s karticom koju je korisnik odabrao.

Za pozadinsku skriptu postojećeg proširenja Firefoxa fragment usmjeravanja može biti:

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

Proširenje dobavlja selectedTabId iz vlastite logike korisničkog odabira. Njegov HTTP host i cjelobrojni port mogu doći iz popisa HTTP proxyja za dopušteni test javne kartice. Potrebna mu je dozvola za proxy i dozvole za host koje pokrivaju filtrirane URL-ove.

To se razlikuje od PAC skripte, čija standardna odluka prema URL-u i hostu ne identificira karticu preglednika. Razlikuje se i od promjene globalnog ručnog proxyja Firefoxa dok se učitava druga kartica.

Uzmite u obzir osnovnu konfiguraciju preglednika: vrijednost direct u ProxyInfo ne nadjačava proxy koji je postavio korisnik. Provjerite osnovnu politiku i ponašanje pri pričuvi umjesto da obećavate da svaki neusklađeni zahtjev ide izravno.

Neki promet nema pouzdane podatke o kartici, a Mozilla dokumentira netočnu dodjelu za proxy veze preko HTTP/3. To ilustrira usmjeravanje zahtjeva, a ne jamstvo da je svaka veza povezana sa zadatkom pregledavanja izolirana po kartici. Usmjeravanje kroz kontejnere specifično za proširenje drugi je model koji treba procijeniti.

Povezani članci