Firefox-extensies kunnen een proxy kiezen op basis van de tab-ID van het verzoek
Gebruik proxy.onRequest en geldige tabId-informatie voor routering per tab, met grenzen voor het fallbackbeleid en verzoeken zonder tabtoewijzing.
De extensie-API van Firefox kan een proxybeslissing nemen voor één afzonderlijk verzoek. Wanneer het verzoek een geldige tabtoewijzing heeft, kan een extensie de tab-ID ervan vergelijken met de tab die de gebruiker heeft gekozen.
Voor een achtergrondscript van een bestaande Firefox-extensie kan het routeringsfragment er zo uitzien:
browser.proxy.onRequest.addListener(details => {
if (details.tabId === selectedTabId) {
return {type: 'http', host: 'proxy.example', port: 8080};
}
return {type: 'direct'};
}, {urls: ['<all_urls>']});De extensie levert selectedTabId uit zijn eigen gebruikerskeuzelogica. De HTTP-host en de gehele poort kunnen uit de HTTP-proxylijst komen voor een toegestane test met een openbare tab. Er zijn de proxytoestemming en hosttoestemmingen nodig die de gefilterde URL's dekken.
Dit verschilt van een PAC-script, waarvan de standaardbeslissing op URL en host geen browsertab identificeert. Het verschilt ook van het wijzigen van de globale handmatige proxy van Firefox terwijl een andere tab laadt.
Houd rekening met de onderliggende browserconfiguratie: de direct-waarde van ProxyInfo overschrijft geen proxy die de gebruiker heeft ingesteld. Controleer het basisbeleid en het fallbackgedrag in plaats van te beloven dat elk niet-overeenkomend verzoek rechtstreeks gaat.
Een deel van het verkeer mist betrouwbare tabinformatie, en Mozilla documenteert onnauwkeurige toewijzing voor HTTP/3-proxyverbindingen. Dit illustreert routering van verzoeken, niet een garantie dat elke verbinding die bij een browsertaak hoort per tab is geïsoleerd. Extensiespecifieke containerroutering is een ander model om te beoordelen.