Firefox kengaytmalari soʻrovning tab ID si boʻyicha proksini tanlashi mumkin
Tab asosidagi marshrutlash uchun proxy.onRequest va haqiqiy tabId maʼlumotlaridan foydalaning; zaxira siyosati va tabga bogʻlanmagan soʻrovlar uchun cheklovlar mavjud.
Firefox kengaytmalari API bitta soʻrov uchun proksi qarorini qabul qilishi mumkin. Soʻrovda haqiqiy tab bogʻlanishi boʻlsa, kengaytma uning tab ID sini foydalanuvchi tanlagan tab bilan solishtirishi mumkin.
Mavjud Firefox kengaytmasining fon skripti uchun marshrutlash qismi quyidagicha boʻlishi mumkin:
browser.proxy.onRequest.addListener(details => {
if (details.tabId === selectedTabId) {
return {type: 'http', host: 'proxy.example', port: 8080};
}
return {type: 'direct'};
}, {urls: ['<all_urls>']});Kengaytma selectedTabId ni oʻzining foydalanuvchi tanlovi mantiqidan beradi. Uning HTTP xosti va butun sonli porti ruxsat etilgan ommaviy tab sinovi uchun HTTP proksi roʻyxatidan olinishi mumkin. Unga proksi ruxsati va filtrlangan URL larni qamrab oluvchi xost ruxsatlari kerak.
Bu PAC skriptidan farq qiladi, uning URL va xost boʻyicha standart qarori brauzer tabini aniqlamaydi. Bu boshqa tab yuklanayotganda Firefox ning global qoʻlda proksisini oʻzgartirishdan ham farq qiladi.
Brauzerning asosiy konfiguratsiyasini hisobga oling: ProxyInfo dagi direct qiymati foydalanuvchi oʻrnatgan proksini bekor qilmaydi. Mos kelmaydigan har bir soʻrov toʻgʻridan-toʻgʻri ketadi deb vaʼda berish oʻrniga asosiy siyosat va zaxira xatti-harakatini tekshiring.
Baʼzi trafikda ishonchli tab maʼlumoti yoʻq va Mozilla HTTP/3 proksi ulanishlari uchun noaniq bogʻlanishni hujjatlashtiradi. Bu soʻrov marshrutlashini koʻrsatadi, koʻrish vazifasiga aloqador har bir ulanish tab boʻyicha ajratilgan degan kafolat emas. Kengaytmaga xos konteyner marshrutlashi baholanishi kerak boʻlgan yana bir modeldir.