Глобалните поставки за прокси на 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 или порта не е поврзана со овој неуспех.

Ракувајте со одбивањето во корисничкиот интерфејс на екстензијата и зачувајте го изборот на корисникот. Откако дозволата и примената на конфигурацијата ќе успеат, одделно проценете ја вистинската рута до дестинацијата.

Поврзани статии