Firefox genişlənmələri sorğunun tab ID-si ilə proxy seçə bilər
Tab əsaslı marşrutlaşdırma üçün proxy.onRequest və etibarlı tabId məlumatından istifadə edin; ehtiyat siyasəti və tab aidiyyəti olmayan sorğular üçün məhdudiyyətlər var.
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.