Rozszerzenia Firefoksa mogą wybierać proxy na podstawie ID karty żądania
Użyj proxy.onRequest i prawidłowych informacji tabId do trasowania według kart, z ograniczeniami dla polityki zapasowej i żądań bez przypisania karty.
API rozszerzeń Firefoksa może podjąć decyzję o proxy dla pojedynczego żądania. Gdy żądanie ma prawidłowe przypisanie karty, rozszerzenie może porównać jego ID karty z kartą wybraną przez użytkownika.
Dla skryptu w tle istniejącego rozszerzenia Firefoksa fragment trasowania może wyglądać tak:
browser.proxy.onRequest.addListener(details => {
if (details.tabId === selectedTabId) {
return {type: 'http', host: 'proxy.example', port: 8080};
}
return {type: 'direct'};
}, {urls: ['<all_urls>']});Rozszerzenie dostarcza selectedTabId z własnej logiki wyboru użytkownika. Jego host HTTP i całkowity port mogą pochodzić z listy proxy HTTP do dozwolonego testu publicznej karty. Potrzebuje uprawnienia proxy i uprawnień hosta obejmujących filtrowane adresy URL.
Różni się to od skryptu PAC, którego standardowa decyzja według URL i hosta nie identyfikuje karty przeglądarki. Różni się też od zmiany globalnego ręcznego proxy Firefoksa, gdy ładuje się inna karta.
Uwzględnij podstawową konfigurację przeglądarki: wartość direct w ProxyInfo nie zastępuje proxy ustawionego przez użytkownika. Sprawdź politykę bazową i zachowanie zapasowe, zamiast obiecywać, że każde niedopasowane żądanie pójdzie bezpośrednio.
Część ruchu nie ma wiarygodnych informacji o karcie, a Mozilla dokumentuje niedokładne przypisanie dla połączeń proxy HTTP/3. Ilustruje to trasowanie żądań, a nie gwarancję, że każde połączenie związane z zadaniem przeglądania jest izolowane według karty. Trasowanie przez kontenery specyficzne dla rozszerzenia to kolejny model do oceny.