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 प्रोक्सी जडानका लागि अशुद्ध एट्रिब्युसन अभिलेख गर्छ। यसले अनुरोध राउटिङ देखाउँछ, ब्राउजिङ कार्यसँग जोडिएको हरेक जडान ट्याबअनुसार अलग छ भन्ने ग्यारेन्टी होइन। एक्सटेन्सन-विशिष्ट कन्टेनर राउटिङ मूल्यांकन गर्नुपर्ने अर्को मोडेल हो।

सम्बन्धित लेखहरू