Firefox' utvidelses-API kan ta en proxybeslutning for én enkelt forespørsel. Når forespørselen har gyldig fanetilknytning, kan en utvidelse sammenligne fane-ID-en med fanen brukeren valgte.

For et bakgrunnsskript i en eksisterende Firefox-utvidelse kan ruterfragmentet være:

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

Utvidelsen leverer selectedTabId fra sin egen brukervalgslogikk. HTTP-verten og heltallsporten kan komme fra HTTP-proxylisten for en tillatt offentlig fanetest. Den trenger proxy-tillatelsen og vertstillatelser som dekker de filtrerte URL-ene.

Dette skiller seg fra et PAC-skript, der standardbeslutningen etter URL og vert ikke identifiserer en nettleserfane. Det skiller seg også fra å endre Firefox' globale manuelle proxy mens en annen fane lastes.

Ta hensyn til den underliggende nettleserkonfigurasjonen: direct-verdien i ProxyInfo overstyrer ikke en proxy brukeren har satt opp. Kontroller grunnpolicyen og reserveatferden i stedet for å love at hver forespørsel som ikke samsvarer går direkte.

Noe trafikk mangler pålitelig faneinformasjon, og Mozilla dokumenterer unøyaktig tilknytning for HTTP/3-proxyforbindelser. Dette illustrerer ruting av forespørsler, ikke en garanti for at hver forbindelse knyttet til en nettleseroppgave er isolert per fane. Utvidelsesspesifikk container-ruting er en annen modell å vurdere.

Relaterte artikler