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 प्रॉक्सी कनेक्शनों के लिए गलत एट्रिब्यूशन दर्ज करता है। यह अनुरोध रूटिंग दर्शाता है, यह गारंटी नहीं कि ब्राउज़िंग कार्य से जुड़ा हर कनेक्शन टैब के अनुसार अलग है। एक्सटेंशन-विशिष्ट कंटेनर रूटिंग मूल्यांकन के लिए एक और मॉडल है।