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 վստահված սերվերի միացումների համար։ Սա ցույց է տալիս հարցումների երթուղավորումը, ոչ թե երաշխիք, որ զննարկման առաջադրանքի հետ կապված յուրաքանչյուր միացում մեկուսացված է ներդիրով։ Ընդլայնմանը հատուկ կոնտեյներային երթուղավորումը գնահատման ենթակա մեկ այլ մոդել է։

Առնչվող հոդվածներ