Глобальные настройки прокси в Firefox действуют как на обычные, так и на приватные окна. Поэтому прокси-API settings требует, чтобы у расширения был доступ к приватным окнам, даже если операция начата из обычного окна.

Расширение может проверить это условие перед изменением настройки:

const allowed = await browser.extension.isAllowedIncognitoAccess();
if (!allowed) {
  throw new Error('Private-window access is required for global proxy settings');
}
await browser.proxy.settings.set({ value: proxyConfig });

proxyConfig — это существующий объект конфигурации в формате Firefox. Расширению также нужно обычное разрешение на прокси-API.

Если манифест разрешает приватное использование, пользователь управляет этим доступом в сведениях об управлении расширением через Run in Private Windows. Проверка сообщает об этом выборе; она не выдаёт разрешение автоматически.

Без нужного доступа proxy.settings.set выбрасывает исключение. Это происходит до того, как расширение продемонстрировало какое-либо соединение с предложенным прокси, поэтому замена его IP или порта не связана с этим сбоем.

Обработайте отказ в интерфейсе расширения и сохраните выбор пользователя. После успешного получения разрешения и применения конфигурации отдельно оцените фактический маршрут назначения.

Похожие статьи