Extensiile Firefox pot alege un proxy după ID-ul filei cererii
Folosiți proxy.onRequest și informații tabId valide pentru rutare pe file, cu limite pentru politica de rezervă și cererile fără atribuire de filă.
API-ul de extensii al Firefox poate lua o decizie de proxy pentru o cerere individuală. Când cererea are o atribuire de filă validă, o extensie poate compara ID-ul filei sale cu fila pe care a selectat-o utilizatorul.
Pentru scriptul de fundal al unei extensii Firefox existente, fragmentul de rutare poate fi:
browser.proxy.onRequest.addListener(details => {
if (details.tabId === selectedTabId) {
return {type: 'http', host: 'proxy.example', port: 8080};
}
return {type: 'direct'};
}, {urls: ['<all_urls>']});Extensia furnizează selectedTabId din propria logică de selecție a utilizatorului. Gazda HTTP și portul întreg pot veni din lista de proxy-uri HTTP pentru un test permis pe o filă publică. Are nevoie de permisiunea de proxy și de permisiunile de gazdă care acoperă URL-urile filtrate.
Aceasta diferă de un script PAC, a cărui decizie standard după URL și gazdă nu identifică o filă de browser. Diferă și de schimbarea proxy-ului manual global al Firefox în timp ce se încarcă altă filă.
Țineți cont de configurația de bază a browserului: valoarea direct din ProxyInfo nu suprascrie un proxy configurat de utilizator. Verificați politica de bază și comportamentul de rezervă în loc să promiteți că fiecare cerere nepotrivită merge direct.
O parte din trafic nu are informații fiabile despre filă, iar Mozilla documentează o atribuire inexactă pentru conexiunile proxy HTTP/3. Aceasta ilustrează rutarea cererilor, nu o garanție că fiecare conexiune asociată unei sarcini de navigare este izolată pe filă. Rutarea pe containere specifică extensiei este un alt model de evaluat.