Οι καθολικές ρυθμίσεις proxy του 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 proxy.

Όταν το manifest επιτρέπει ιδιωτική χρήση, ο χρήστης ελέγχει αυτή την πρόσβαση στις λεπτομέρειες διαχείρισης της επέκτασης μέσω Run in Private Windows. Ο έλεγχος αναφέρει αυτή την επιλογή· δεν χορηγεί την άδεια αυτόματα.

Χωρίς την απαιτούμενη πρόσβαση, το proxy.settings.set πετάει εξαίρεση. Αυτό συμβαίνει πριν η επέκταση δείξει οποιαδήποτε σύνδεση με τον προτεινόμενο proxy, οπότε η αντικατάσταση της IP ή της θύρας του δεν σχετίζεται με αυτή την αποτυχία.

Χειριστείτε την απόρριψη στο περιβάλλον χρήστη της επέκτασης και διατηρήστε την επιλογή του χρήστη. Μόλις πετύχουν η άδεια και η εφαρμογή της ρύθμισης, αξιολογήστε ξεχωριστά την πραγματική διαδρομή προορισμού.

Σχετικά άρθρα