تؤثر إعدادات الوكيل العامة في Firefox في النوافذ العادية والخاصة على حد سواء. لذلك تتطلب واجهة 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. وتحتاج الإضافة أيضًا إلى إذن واجهة الوكيل العادي.

عندما يسمح ملف البيان بالاستخدام الخاص، يتحكم المستخدم في هذا الوصول من تفاصيل إدارة الإضافة عبر Run in Private Windows. ويبلّغ الفحص عن هذا الاختيار، لكنه لا يمنح الإذن تلقائيًا.

من دون الوصول المطلوب، يرمي proxy.settings.set استثناءً. ويحدث ذلك قبل أن تُظهر الإضافة أي اتصال بالوكيل المقترح، لذا فإن استبدال عنوان IP أو المنفذ لا علاقة له بهذا الفشل.

تعامل مع الرفض في واجهة الإضافة واحفظ اختيار المستخدم. وبعد نجاح الإذن وتطبيق الإعدادات، قيّم مسار الوجهة الفعلي بشكل منفصل.

مقالات ذات صلة