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. Това илюстрира маршрутизиране на заявки, а не гаранция, че всяка връзка, свързана със задача за разглеждане, е изолирана по раздел. Маршрутизирането през контейнери, специфично за разширението, е друг модел за оценка.

Подобни статии