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 پراکسی فہرست سے آ سکتا ہے۔ اسے پراکسی اجازت اور فلٹر شدہ URLs کو محیط ہوسٹ اجازتیں درکار ہیں۔

یہ PAC اسکرپٹ سے مختلف ہے، جس کا معیاری URL اور ہوسٹ کا فیصلہ براؤزر ٹیب کی شناخت نہیں کرتا۔ یہ Firefox کی عالمی دستی پراکسی کو بدلنے سے بھی مختلف ہے جبکہ کوئی دوسرا ٹیب لوڈ ہو رہا ہو۔

براؤزر کی بنیادی تشکیل کو مدنظر رکھیں: ProxyInfo کی direct قدر صارف کی مقرر کردہ پراکسی کو زیر نہیں کرتی۔ ہر غیر مطابق درخواست کے سیدھا جانے کا وعدہ کرنے کے بجائے بنیادی پالیسی اور متبادل رویہ جانچیں۔

کچھ ٹریفک میں قابلِ اعتماد ٹیب معلومات نہیں ہوتیں، اور Mozilla HTTP/3 پراکسی کنکشنز کے لیے غلط نسبت درج کرتا ہے۔ یہ درخواست کی روٹنگ دکھاتا ہے، نہ کہ یہ ضمانت کہ براؤزنگ کے کام سے وابستہ ہر کنکشن ٹیب کے لحاظ سے الگ ہے۔ ایکسٹینشن کے مخصوص کنٹینر روٹنگ ایک اور ماڈل ہے جس کا جائزہ لینا چاہیے۔

متعلقہ مضامین