Το καθολικό API proxy του Firefox απαιτεί πρόσβαση σε ιδιωτικά παράθυρα
Ελέγξτε την πρόσβαση της επέκτασης στην ιδιωτική περιήγηση όταν το proxy.settings.set πετάει σφάλμα, επειδή η καθολική ρύθμιση επηρεάζει τόσο τα κανονικά όσο και τα ιδιωτικά παράθυρα.
Οι καθολικές ρυθμίσεις 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 ή της θύρας του δεν σχετίζεται με αυτή την αποτυχία.
Χειριστείτε την απόρριψη στο περιβάλλον χρήστη της επέκτασης και διατηρήστε την επιλογή του χρήστη. Μόλις πετύχουν η άδεια και η εφαρμογή της ρύθμισης, αξιολογήστε ξεχωριστά την πραγματική διαδρομή προορισμού.