Tetapan proksi global Firefox mempengaruhi tetingkap biasa dan tetingkap peribadi. Oleh itu API proxy.settings memerlukan sambungan mempunyai akses kepada tetingkap peribadi, walaupun operasi dimulakan dari tetingkap biasa.

Sambungan boleh menyemak syarat itu sebelum menukar tetapan:

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 ialah objek konfigurasi sedia ada dalam format Firefox. Sambungan juga memerlukan kebenaran API proksi biasa.

Apabila manifes membenarkan penggunaan peribadi, pengguna mengawal akses itu dalam butiran pengurusan sambungan melalui Run in Private Windows. Semakan melaporkan pilihan itu; ia tidak memberikan kebenaran secara automatik.

Tanpa akses yang diperlukan, proxy.settings.set melontar pengecualian. Itu berlaku sebelum sambungan menunjukkan sebarang sambungan kepada proksi yang dicadangkan, jadi penggantian IP atau portnya tidak berkaitan dengan kegagalan ini.

Kendalikan penolakan dalam UI sambungan dan kekalkan pilihan pengguna. Selepas kebenaran dan penggunaan konfigurasi berjaya, nilai laluan destinasi sebenar secara berasingan.

Artikel berkaitan