Firefox-udvidelser kan vælge en proxy ud fra anmodningens fane-ID
Brug proxy.onRequest og gyldige tabId-oplysninger til fanebaseret routing, med grænser for fallback-politik og anmodninger uden fanetilknytning.
Firefox' udvidelses-API kan træffe en proxybeslutning for en enkelt anmodning. Når anmodningen har en gyldig fanetilknytning, kan en udvidelse sammenligne sit fane-ID med den fane, brugeren har valgt.
For et eksisterende Firefox-udvidelsesbaggrundsscript kan routingfragmentet se sådan ud:
browser.proxy.onRequest.addListener(details => {
if (details.tabId === selectedTabId) {
return {type: 'http', host: 'proxy.example', port: 8080};
}
return {type: 'direct'};
}, {urls: ['<all_urls>']});Udvidelsen leverer selectedTabId fra sin egen brugervalgslogik. Dens HTTP-vært og heltalsport kan komme fra HTTP-proxylisten til en tilladt offentlig fanetest. Den skal bruge proxy-tilladelsen og værtstilladelser, der dækker de filtrerede URL'er.
Det adskiller sig fra et PAC-script, hvis standardbeslutning ud fra URL og vært ikke identificerer en browserfane. Det adskiller sig også fra at ændre Firefox' globale manuelle proxy, mens en anden fane indlæses.
Tag højde for den underliggende browserkonfiguration: ProxyInfo's direct-værdi tilsidesætter ikke en proxy, som brugeren har konfigureret. Kontroller basispolitikken og fallback-adfærden i stedet for at love, at hver uafstemt anmodning går direkte.
Nogle trafikmængder mangler pålidelige faneoplysninger, og Mozilla dokumenterer unøjagtig tilknytning for HTTP/3-proxyforbindelser. Det illustrerer anmodningsrouting, ikke en garanti for, at hver forbindelse knyttet til en browsingopgave er isoleret pr. fane. Udvidelsesspecifik container-routing er en anden model at vurdere.