Firefox-ի ընդլայնումները կարող են վստահված սերվեր ընտրել հարցման ներդիրի ID-ով
Օգտագործեք proxy.onRequest և վավեր tabId տվյալներ ներդիրով պայմանավորված երթուղավորման համար՝ պահուստային քաղաքականության և ներդիրի վերագրում չունեցող հարցումների սահմանափակումներով։
Firefox-ի ընդլայնումների API-ն կարող է վստահված սերվերի որոշում կայացնել առանձին հարցման համար։ Երբ հարցումն ունի վավեր ներդիրի վերագրում, ընդլայնումը կարող է համեմատել նրա ներդիրի ID-ն օգտատիրոջ ընտրած ներդիրի հետ։
Գոյություն ունեցող Firefox ընդլայնման ֆոնային սկրիպտի համար երթուղավորման հատվածը կարող է լինել այսպիսին՝
browser.proxy.onRequest.addListener(details => {
if (details.tabId === selectedTabId) {
return {type: 'http', host: 'proxy.example', port: 8080};
}
return {type: 'direct'};
}, {urls: ['<all_urls>']});Ընդլայնումը selectedTabId-ն տրամադրում է իր սեփական օգտատեր-ընտրության տրամաբանությունից։ Նրա HTTP հոսթը և ամբողջ թվով պորտը կարող են գալ HTTP վստահված սերվերների ցանկից թույլատրված հանրային ներդիրի փորձարկման համար։ Անհրաժեշտ են վստահված սերվերի թույլտվությունը և հոսթի թույլտվությունները, որոնք ծածկում են զտված URL-ները։
Սա տարբերվում է PAC սկրիպտից, որի ստանդարտ URL-և-հոսթ որոշումը չի նույնականացնում զննարկիչի ներդիր։ Այն նաև տարբերվում է Firefox-ի գլոբալ ձեռքով վստահված սերվերը փոխելուց, քանի դեռ մեկ այլ ներդիր բեռնվում է։
Հաշվի առեք զննարկիչի հիմնական կարգավորումը. ProxyInfo-ի direct արժեքը չի վերագրվում օգտատիրոջ կողմից սահմանված վստահված սերվերին։ Ստուգեք հիմնական քաղաքականությունը և պահուստային վարքը՝ փոխարենը չխոստանալով, որ յուրաքանչյուր չհամապատասխանող հարցում ուղղակիորեն է գնում։
Որոշ թրաֆիկ չունի հուսալի ներդիրի տեղեկատվություն, և Mozilla-ն փաստագրում է ոչ ճշգրիտ վերագրում HTTP/3 վստահված սերվերի միացումների համար։ Սա ցույց է տալիս հարցումների երթուղավորումը, ոչ թե երաշխիք, որ զննարկման առաջադրանքի հետ կապված յուրաքանչյուր միացում մեկուսացված է ներդիրով։ Ընդլայնմանը հատուկ կոնտեյներային երթուղավորումը գնահատման ենթակա մեկ այլ մոդել է։