Les extensions del Firefox poden triar un proxy a partir de l'ID de pestanya de la sol·licitud
Feu servir proxy.onRequest i informació tabId vàlida per a l'encaminament per pestanya, amb límits per a la política de reserva i les sol·licituds sense atribució de pestanya.
L'API d'extensions del Firefox pot prendre una decisió de proxy per a una sol·licitud individual. Quan la sol·licitud té una atribució de pestanya vàlida, una extensió pot comparar el seu ID de pestanya amb la pestanya que ha seleccionat l'usuari.
Per a un script de fons d'una extensió del Firefox existent, el fragment d'encaminament pot ser:
browser.proxy.onRequest.addListener(details => {
if (details.tabId === selectedTabId) {
return {type: 'http', host: 'proxy.example', port: 8080};
}
return {type: 'direct'};
}, {urls: ['<all_urls>']});L'extensió proporciona selectedTabId des de la seva pròpia lògica de selecció de l'usuari. El seu amfitrió HTTP i el port enter poden venir de la llista de proxys HTTP per a una prova permesa amb una pestanya pública. Cal el permís de proxy i els permisos d'amfitrió que cobreixin els URL filtrats.
Això difereix d'un script PAC, la decisió estàndard del qual per URL i amfitrió no identifica cap pestanya del navegador. També difereix de canviar el proxy manual global del Firefox mentre es carrega una altra pestanya.
Tingueu en compte la configuració subjacent del navegador: el valor direct de ProxyInfo no substitueix un proxy configurat per l'usuari. Comproveu la política base i el comportament de reserva en lloc de prometre que cada sol·licitud no coincident va directament.
Part del trànsit no té informació fiable de pestanya, i Mozilla documenta una atribució inexacta per a les connexions de proxy HTTP/3. Això il·lustra l'encaminament de sol·licituds, no una garantia que cada connexió associada a una tasca de navegació quedi aïllada per pestanya. L'encaminament per contenidors específic de l'extensió és un altre model a avaluar.