Firefox-utvidelser kan velge en proxy basert på forespørselens fane-ID
Bruk proxy.onRequest og gyldig tabId-informasjon for fanebasert ruting, med grenser for reservepolitikken og forespørsler uten fanetilknytning.
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.