Ekstensi Firefox dapat memilih proxy dari ID tab permintaan
Gunakan proxy.onRequest dan informasi tabId yang valid untuk perutean berbasis tab, dengan batasan untuk kebijakan cadangan dan permintaan tanpa atribusi tab.
API ekstensi Firefox dapat mengambil keputusan proxy untuk satu permintaan. Ketika permintaan memiliki atribusi tab yang valid, ekstensi dapat membandingkan ID tab-nya dengan tab yang dipilih pengguna.
Untuk skrip latar ekstensi Firefox yang sudah ada, fragmen perutean dapat berupa:
browser.proxy.onRequest.addListener(details => {
if (details.tabId === selectedTabId) {
return {type: 'http', host: 'proxy.example', port: 8080};
}
return {type: 'direct'};
}, {urls: ['<all_urls>']});Ekstensi memasok selectedTabId dari logika pemilihan penggunanya sendiri. Host HTTP dan porta bilangan bulatnya dapat berasal dari daftar proxy HTTP untuk uji tab publik yang diizinkan. Ekstensi memerlukan izin proxy dan izin host yang mencakup URL yang difilter.
Ini berbeda dari skrip PAC, yang keputusan standarnya berdasarkan URL dan host tidak mengidentifikasi tab peramban. Ini juga berbeda dari mengubah proxy manual global Firefox saat tab lain sedang memuat.
Perhitungkan konfigurasi peramban yang mendasarinya: nilai direct pada ProxyInfo tidak menimpa proxy yang dikonfigurasi pengguna. Periksa kebijakan dasar dan perilaku cadangan alih-alih menjanjikan bahwa setiap permintaan yang tidak cocok langsung lewat.
Sebagian lalu lintas tidak memiliki informasi tab yang andal, dan Mozilla mendokumentasikan atribusi yang tidak akurat untuk koneksi proxy HTTP/3. Ini menggambarkan perutean permintaan, bukan jaminan bahwa setiap koneksi yang terkait dengan tugas penjelajahan terisolasi per tab. Perutean kontainer khusus ekstensi adalah model lain yang perlu dievaluasi.