API افزونه‌های فایرفاکس می‌تواند برای یک درخواست منفرد دربارهٔ پروکسی تصمیم بگیرد. وقتی درخواست انتساب زبانهٔ معتبر دارد، افزونه می‌تواند شناسهٔ زبانهٔ آن را با زبانه‌ای که کاربر انتخاب کرده مقایسه کند.

برای اسکریپت پس‌زمینهٔ یک افزونهٔ موجود فایرفاکس، بخش مسیریابی می‌تواند چنین باشد:

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 و میزبان زبانهٔ مرورگر را شناسایی نمی‌کند. همچنین با تغییر پروکسی دستی سراسری فایرفاکس در حالی که زبانهٔ دیگری بارگذاری می‌شود متفاوت است.

پیکربندی زیربنایی مرورگر را در نظر بگیرید: مقدار direct در ProxyInfo پروکسی تنظیم‌شده توسط کاربر را نادیده نمی‌گیرد. سیاست پایه و رفتار جایگزین را بررسی کنید، به‌جای اینکه وعده دهید هر درخواست بی‌تطابق مستقیماً می‌رود.

بخشی از ترافیک اطلاعات زبانهٔ قابل اتکا ندارد و Mozilla انتساب نادرست را برای اتصال‌های پروکسی HTTP/3 مستند می‌کند. این مسیریابی درخواست را نشان می‌دهد، نه تضمین اینکه هر اتصال مرتبط با یک وظیفهٔ مرور بر پایهٔ زبانه جدا شده است. مسیریابی از طریق محفظه مخصوص افزونه مدل دیگری برای ارزیابی است.

مقالات مرتبط