Tiện ích mở rộng Firefox có thể chọn proxy từ ID tab của yêu cầu
Dùng proxy.onRequest và thông tin tabId hợp lệ để định tuyến theo tab, với giới hạn cho chính sách dự phòng và các yêu cầu không có thuộc tính tab.
API tiện ích mở rộng của Firefox có thể đưa ra quyết định proxy cho một yêu cầu riêng lẻ. Khi yêu cầu có thuộc tính tab hợp lệ, tiện ích có thể so sánh ID tab của nó với tab mà người dùng đã chọn.
Với script nền của một tiện ích Firefox hiện có, đoạn định tuyến có thể là:
browser.proxy.onRequest.addListener(details => {
if (details.tabId === selectedTabId) {
return {type: 'http', host: 'proxy.example', port: 8080};
}
return {type: 'direct'};
}, {urls: ['<all_urls>']});Tiện ích cung cấp selectedTabId từ logic chọn của người dùng. Máy chủ HTTP và cổng số nguyên của nó có thể đến từ danh sách proxy HTTP cho một bài kiểm tra tab công khai được phép. Nó cần quyền proxy và quyền máy chủ bao phủ các URL đã lọc.
Điều này khác với script PAC, nơi quyết định tiêu chuẩn theo URL và máy chủ không nhận diện tab trình duyệt. Nó cũng khác với việc thay đổi proxy thủ công toàn cục của Firefox trong khi một tab khác đang tải.
Hãy tính đến cấu hình nền của trình duyệt: giá trị direct trong ProxyInfo không ghi đè proxy do người dùng đặt. Hãy kiểm tra chính sách cơ sở và hành vi dự phòng thay vì hứa rằng mọi yêu cầu không khớp đều đi trực tiếp.
Một phần lưu lượng thiếu thông tin tab đáng tin cậy, và Mozilla ghi nhận việc gán không chính xác cho các kết nối proxy HTTP/3. Điều này minh họa định tuyến yêu cầu, không phải bảo đảm mọi kết nối gắn với tác vụ duyệt web đều được cô lập theo tab. Định tuyến qua vùng chứa riêng của tiện ích là một mô hình khác cần đánh giá.