Глобальні налаштування проксі у 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 чи порту не пов'язана з цією помилкою.

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

Схожі статті