Глабальныя налады проксі 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 або порта не звязана з гэтай памылкай.

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

Падобныя артыкулы