Firefox genişlənmə API-si ayrı bir sorğu üçün proxy qərarı verə bilər. Sorğunun etibarlı tab aidiyyəti olduqda, genişlənmə onun tab ID-sini istifadəçinin seçdiyi tab ilə müqayisə edə bilər.

Mövcud Firefox genişlənməsinin background skripti üçün marşrutlaşdırma fraqmenti belə ola bilər:

browser.proxy.onRequest.addListener(details => {
  if (details.tabId === selectedTabId) {
    return {type: 'http', host: 'proxy.example', port: 8080};
  }
  return {type: 'direct'};
}, {urls: ['<all_urls>']});

Genişlənmə selectedTabId dəyərini öz istifadəçi seçimi məntiqindən verir. Onun HTTP hostu və tam ədəd portu icazəli ictimai tab testi üçün HTTP proxy siyahısından gələ bilər. Proxy icazəsi və filtrlənmiş URL-ləri əhatə edən host icazələri lazımdır.

Bu, standart qərarı URL və host üzrə olan və brauzer tabını müəyyən etməyən PAC skriptindən fərqlənir. Başqa tab yüklənərkən Firefox-un qlobal əl proxy-sini dəyişməkdən də fərqlənir.

Əsas brauzer konfiqurasiyasını nəzərə alın: ProxyInfo-nun direct dəyəri istifadəçinin təyin etdiyi proxy-ni üstələmir. Hər uyğunsuz sorğunun birbaşa getdiyini vəd etmək əvəzinə baza siyasətini və ehtiyat davranışını yoxlayın.

Bəzi trafikdə etibarlı tab məlumatı yoxdur və Mozilla HTTP/3 proxy bağlantıları üçün qeyri-dəqiq aidiyyət qeyd edir. Bu, sorğu marşrutlaşdırmasını göstərir, brauzer tapşırığı ilə bağlı hər bağlantının tab üzrə təcrid olunduğuna zəmanət deyil. Genişlənməyə xas konteyner marşrutlaşdırması qiymətləndirilməli olan başqa bir modeldir.

Əlaqəli məqalələr