Firefox'un genel proxy ayarları hem normal hem de özel pencereleri etkiler. Bu nedenle proxy.settings API'si, işlem normal bir pencereden başlatılmış olsa bile uzantının özel pencerelere erişimi olmasını gerektirir.

Uzantı, ayarı değiştirmeden önce bu koşulu denetleyebilir:

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 biçimindeki mevcut yapılandırma nesnesidir. Uzantının ayrıca normal proxy API iznine de ihtiyacı vardır.

Manifest özel kullanıma izin verdiğinde, kullanıcı bu erişimi uzantının yönetim ayrıntılarında Run in Private Windows aracılığıyla denetler. Denetim bu seçimi bildirir; izni otomatik olarak vermez.

Gerekli erişim olmadan proxy.settings.set bir istisna fırlatır. Bu, uzantı önerilen proxy'ye herhangi bir bağlantı göstermeden önce gerçekleşir, bu nedenle IP'sini veya bağlantı noktasını değiştirmenin bu hatayla ilgisi yoktur.

Reddetmeyi uzantının arayüzünde işleyin ve kullanıcının seçimini koruyun. İzin ve yapılandırmanın uygulanması başarılı olduktan sonra gerçek hedef rotasını ayrı olarak değerlendirin.

İlgili makaleler