Chrome एक्स्टेंशनमधून दिसणारा आउटगोइंग IP तपासा
एक्स्टेंशनच्या उगमापासून नियंत्रित एंडपॉइंटवर मर्यादित विनंती पाठवा आणि तपासणी प्रत्यक्षात काय सिद्ध करते ते नोंदवा.
Chrome एक्स्टेंशनमधील प्रॉक्सी तपासणीसाठी अंदाज करता येईल असा प्रतिसाद असलेले गंतव्य हवे. तुम्ही नियंत्रित करता ते HTTPS एंडपॉइंट वापरा, उदाहरणार्थ जे त्याला दिसणारा पत्ता असलेली छोटी JSON वस्तू परत करते.
विनंती एक्स्टेंशन संदर्भातून चालवा, जसे की त्याचा service worker किंवा एक्स्टेंशन पृष्ठ, आणि एंडपॉइंट manifestच्या host permissions मध्ये ठेवा:
"host_permissions": ["https://probe.example/*"]
होस्ट परवानगी content scriptला तेच क्रॉस-ओरिजिन अधिकार देत नाही. तपासणी एक्स्टेंशन संदर्भातच ठेवा, इंजेक्ट केलेली स्क्रिप्ट तीच विनंती करू शकते असे गृहीत धरू नका.
async function probe() {
const controller = new AbortController();
const timer = setTimeout(() => controller.abort(), 5000);
try {
const response = await fetch('https://probe.example/ip', {
cache: 'no-store',
signal: controller.signal,
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
const result = await response.json();
if (typeof result.ip !== 'string') throw new Error('Bad probe body');
return result.ip;
} finally {
clearTimeout(timer);
}
}
होस्टनाव हे प्लेसहोल्डर आहे. सर्व्हर आणि क्लायंटने प्रतिसादाचा आराखडा आणि कॅशे धोरण यावर सहमती गाठली पाहिजे. नाकारलेल्या विनंत्या आणि विकृत प्रतिसाद एक्स्टेंशनच्या कॉलरमध्ये हाताळा, ते वैध आउटगोइंग पत्ता म्हणून दाखवू नका.
निरीक्षणाला अचूक नाव द्या
यशस्वी निकाल सिद्ध करतो की ही विनंती एंडपॉइंटपर्यंत पोहोचली आणि अपेक्षित स्वरूपाचे उत्तर मिळाले. तुलना अर्थपूर्ण असेल तिथे दिसलेल्या पत्त्याची तुम्ही ठरवलेल्या मार्गाशी तुलना करा. कॉन्फिगर केलेल्या प्रॉक्सीचा ऐकणारा IP त्याचा सार्वजनिक मार्ग असणे आवश्यक नाही.
PAC नियम किंवा बायपास यादी तपासणी थेट पाठवू शकते, तर दुसरे गंतव्य प्रॉक्सी वापरते. प्रॉक्सी सेटिंग्ज वाचल्याने कॉन्फिगरेशनचा पुरावा मिळतो; विनंती या गंतव्यासाठी पुरावा देते. यापैकी कोणतेही एकटे हे सिद्ध करत नाही की प्रत्येक टॅब किंवा URL त्याच मार्गाने जातो.
इंटरफेसमध्ये टाइमआउट, HTTP त्रुटी आणि अनपेक्षित बॉडी वेगळे ठेवा. एका विनंतीनंतर संपूर्ण मशीन ऑफलाइन घोषित करण्यापेक्षा “ही तपासणी अयशस्वी झाली” हे अधिक उपयुक्त आहे.