API sambungan Firefox boleh membuat keputusan proksi untuk satu permintaan. Apabila permintaan mempunyai atribusi tab yang sah, sambungan boleh membandingkan ID tabnya dengan tab yang dipilih pengguna.

Untuk skrip latar sambungan Firefox sedia ada, serpihan penghalaan boleh jadi:

browser.proxy.onRequest.addListener(details => {
  if (details.tabId === selectedTabId) {
    return {type: 'http', host: 'proxy.example', port: 8080};
  }
  return {type: 'direct'};
}, {urls: ['<all_urls>']});

Sambungan membekalkan selectedTabId daripada logik pilihan penggunanya sendiri. Hos HTTP dan port integernya boleh datang daripada senarai proksi HTTP untuk ujian tab awam yang dibenarkan. Ia memerlukan kebenaran proksi dan kebenaran hos yang meliputi URL yang ditapis.

Ini berbeza daripada skrip PAC, yang keputusan standardnya berdasarkan URL dan hos tidak mengenal pasti tab pelayar. Ia juga berbeza daripada menukar proksi manual global Firefox semasa tab lain dimuatkan.

Ambil kira konfigurasi asas pelayar: nilai direct dalam ProxyInfo tidak mengatasi proksi yang dikonfigurasikan pengguna. Semak dasar asas dan tingkah laku sandaran dan bukan menjanjikan setiap permintaan yang tidak sepadan pergi terus.

Sebahagian trafik tiada maklumat tab yang boleh dipercayai, dan Mozilla mendokumentasikan atribusi tidak tepat untuk sambungan proksi HTTP/3. Ini menggambarkan penghalaan permintaan, bukan jaminan bahawa setiap sambungan berkaitan tugas pelayaran diasingkan mengikut tab. Penghalaan bekas khusus sambungan ialah model lain untuk dinilai.

Artikel berkaitan