Глобалните настройки за прокси в Firefox засягат както обикновените, така и поверителните прозорци. Затова API proxy.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 или порт не е свързана с този неуспех.

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

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