Разширенията за Firefox могат да избират прокси по ID на раздела на заявката
Използвайте proxy.onRequest и валидна информация за tabId за маршрутизиране по раздели, с ограничения за резервната политика и заявките без привързване към раздел.
API-то за разширения на Firefox може да вземе решение за прокси за отделна заявка. Когато заявката има валидно привързване към раздел, разширението може да сравни неговия ID на раздел с раздела, избран от потребителя.
За фонов скрипт на съществуващо разширение за Firefox фрагментът за маршрутизиране може да бъде:
browser.proxy.onRequest.addListener(details => {
if (details.tabId === selectedTabId) {
return {type: 'http', host: 'proxy.example', port: 8080};
}
return {type: 'direct'};
}, {urls: ['<all_urls>']});Разширението подава selectedTabId от собствената си логика за избор от потребителя. Неговият HTTP хост и целочислен порт могат да дойдат от списъка с HTTP прокси за разрешен тест на публичен раздел. Нужни са разрешението за прокси и разрешения за хост, покриващи филтрираните URL адреси.
Това се различава от PAC скрипт, чието стандартно решение по URL и хост не идентифицира раздел на браузъра. Различава се и от промяна на глобалното ръчно прокси на Firefox, докато се зарежда друг раздел.
Съобразете се с основната конфигурация на браузъра: стойността direct на ProxyInfo не замества прокси, зададено от потребителя. Проверявайте базовата политика и поведението при резерва, вместо да обещавате, че всяка несъответстваща заявка минава директно.
Част от трафика няма надеждна информация за раздел и Mozilla документира неточно привързване за прокси връзки по HTTP/3. Това илюстрира маршрутизиране на заявки, а не гаранция, че всяка връзка, свързана със задача за разглеждане, е изолирана по раздел. Маршрутизирането през контейнери, специфично за разширението, е друг модел за оценка.