As extensións de Firefox poden escoller un proxy a partir do ID de pestana da solicitude
Use proxy.onRequest e información tabId válida para o encamiñamento por pestana, con límites para a política de reserva e as solicitudes sen atribución de pestana.
A API de extensións de Firefox pode tomar unha decisión de proxy para unha solicitude individual. Cando a solicitude ten unha atribución de pestana válida, unha extensión pode comparar o seu ID de pestana coa pestana que seleccionou o usuario.
Para o script en segundo plano dunha extensión de Firefox existente, o fragmento de encamiñamento pode ser:
browser.proxy.onRequest.addListener(details => {
if (details.tabId === selectedTabId) {
return {type: 'http', host: 'proxy.example', port: 8080};
}
return {type: 'direct'};
}, {urls: ['<all_urls>']});A extensión subministra selectedTabId desde a súa propia lóxica de selección do usuario. O seu host HTTP e o seu porto enteiro poden vir da lista de proxies HTTP para unha proba permitida cunha pestana pública. Necesita o permiso de proxy e os permisos de host que cubran os URL filtrados.
Isto difire dun script PAC, cuxa decisión estándar por URL e host non identifica unha pestana do navegador. Tamén difire de cambiar o proxy manual global de Firefox mentres se carga outra pestana.
Teña en conta a configuración subxacente do navegador: o valor direct de ProxyInfo non anula un proxy configurado polo usuario. Comprobe a política base e o comportamento de reserva en lugar de prometer que toda solicitude non coincidente vai directamente.
Parte do tráfico carece de información fiable de pestana, e Mozilla documenta unha atribución imprecisa para as conexións de proxy HTTP/3. Isto ilustra o encamiñamento de solicitudes, non unha garantía de que cada conexión asociada a unha tarefa de navegación quede illada por pestana. O encamiñamento por contedores específico da extensión é outro modelo a avaliar.