הגדרות הפרוקסי העולמיות של 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 או הפורט שלו אינה קשורה לכשל הזה.

טפלו בדחייה בממשק התוסף ושמרו על בחירת המשתמש. לאחר שההרשאה והחלת התצורה יצליחו, העריכו בנפרד את נתיב היעד בפועל.

מאמרים קשורים