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 విలువ వినియోగదారు సెట్ చేసిన ప్రాక్సీని భర్తీ చేయదు. సరిపోలని ప్రతి అభ్యర్థన నేరుగా వెళుతుందని వాగ్దానం చేయడానికి బదులు ప్రాథమిక విధానాన్ని మరియు ఫాల్బ్యాక్ ప్రవర్తనను తనిఖీ చేయండి.

కొంత ట్రాఫిక్కు నమ్మదగిన ట్యాబ్ సమాచారం లేదు, మరియు HTTP/3 ప్రాక్సీ కనెక్షన్లకు Mozilla సరియైనది కాని అట్రిబ్యూషన్ను నమోదు చేస్తుంది. ఇది అభ్యర్థన రౌటింగ్ను చూపిస్తుంది, బ్రౌజింగ్ పనితో సంబంధం ఉన్న ప్రతి కనెక్షన్ ట్యాబ్ ప్రకారం వేరుచేయబడిందని హామీ కాదు. పొడిగింపు-నిర్దిష్ట కంటైనర్ రౌటింగ్ అంచనా వేయవలసిన మరో నమూనా.

సంబంధిత వ్యాసాలు