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.

Artigos relacionados