Firefox એક્સ્ટેન્શન વિનંતીના ટૅબ ID પરથી પ્રોક્સી પસંદ કરી શકે છે
ટૅબ-આધારિત રૂટિંગ માટે proxy.onRequest અને માન્ય tabId માહિતી વાપરો, ફૉલબૅક નીતિ અને ટૅબ એટ્રિબ્યુશન વગરની વિનંતીઓ માટે મર્યાદાઓ સાથે.
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 પ્રોક્સી સૂચિમાંથી આવી શકે છે. તેને પ્રોક્સી પરવાનગી અને ફિલ્ટર કરેલા URL ને આવરી લેતી હોસ્ટ પરવાનગીઓની જરૂર છે.
આ PAC સ્ક્રિપ્ટથી અલગ છે, જેનો પ્રમાણભૂત URL-અને-હોસ્ટ નિર્ણય બ્રાઉઝર ટૅબ ઓળખતો નથી. બીજું ટૅબ લોડ થતું હોય ત્યારે Firefox ની વૈશ્વિક મૅન્યુઅલ પ્રોક્સી બદલવાથી પણ આ અલગ છે.
બ્રાઉઝરના પાયાના રૂપરેખાંકનને ધ્યાનમાં લો: ProxyInfo નું direct મૂલ્ય વપરાશકર્તાએ સેટ કરેલી પ્રોક્સીને ઓવરરાઇડ કરતું નથી. દરેક ન મળતી વિનંતી સીધી જાય છે તેવું વચન આપવાને બદલે પાયાની નીતિ અને ફૉલબૅક વર્તન ચકાસો.
કેટલાક ટ્રાફિકમાં વિશ્વસનીય ટૅબ માહિતી હોતી નથી, અને Mozilla HTTP/3 પ્રોક્સી કનેક્શન માટે અચોક્કસ એટ્રિબ્યુશન દસ્તાવેજ કરે છે. આ વિનંતી રૂટિંગ દર્શાવે છે, એ બાંયધરી નહીં કે બ્રાઉઝિંગ કાર્ય સાથે જોડાયેલું દરેક કનેક્શન ટૅબ પ્રમાણે અલગ છે. એક્સ્ટેન્શન-વિશિષ્ટ કન્ટેનર રૂટિંગ મૂલ્યાંકન કરવા જેવું બીજું મૉડલ છે.