کیا JavaScript آپ کے براؤزر کا پراکسی تبدیل کر سکتا ہے؟
عام ویب پیج کوڈ اور پراکسی ترتیب دے سکنے والی مجاز براؤزر ایکسٹینشن میں فرق کریں۔
ویب پیج پر چلنے والی اسکرپٹ کے پاس براؤزر کا باہر جانے والا پراکسی بدلنے کی کوئی عام سیٹنگ نہیں ہوتی۔ براؤزر ایکسٹینشن کے پاس اضافی اجازتیں ہو سکتی ہیں، مگر یہ الگ سیکیورٹی اور کنفیگریشن ماڈل کے تحت چلتی ہے۔
یہ فرق پرانے فورم جوابات میں کھو جاتا ہے۔ خصوصی Firefox اندرونی حصے، پرانے ایکسٹینشن ماڈیول یا ترک شدہ add-on SDK استعمال کرنے والا کوڈ کبھی عام ویب پیج API نہیں تھا۔ ایسا اسنیپٹ پیج میں چپکانے سے وہ اجازتیں نہیں ملتیں۔
براؤزر کی ایکسٹینشن API استعمال کریں
Firefox ایکسٹینشن مطلوبہ اجازتوں کے ساتھ دستاویزی proxy.settings API استعمال کر سکتی ہے۔ Chrome اپنی الگ پراکسی ایکسٹینشن API پیش کرتا ہے۔ ان کے کنفیگریشن ماڈل مختلف ہیں؛ جس براؤزر کو آپ ہدف بنا رہے ہیں اس کے مینِفسٹ تقاضے اور معاون سیٹنگز دیکھیں۔
ایکسٹینشن کو ان پالیسیوں یا دیگر ایکسٹینشنز کو بھی مدنظر رکھنا چاہیے جو وہی سیٹنگ کنٹرول کرتی ہیں۔ کامیاب API کال یہ ماننے کی وجہ نہیں کہ اب ہر منزل آپ کے ارادہ کردہ راستے پر چلتی ہے۔ نتیجے میں بننے والی کنفیگریشن کا معائنہ کریں اور صارف کی اسے بحال کرنے کی صلاحیت برقرار رکھیں۔
fetch URL تبدیل کرنے سے منزل بدل جاتی ہے
ویب پیج کسی ایپلیکیشن سرور کو کال کر سکتا ہے جو اس کی طرف سے درخواست آگے بھیجتا ہے، براؤزر کے ویب قواعد کے تابع۔ اس ڈیزائن میں براؤزر اسی ایپلیکیشن سرور سے جڑتا ہے۔ اس نے کوئی عام براؤزر پراکسی نصب نہیں کی اور نہ غیر متعلق ٹیبز کا راستہ بدلا۔
اسی طرح، کسی دوسرے IP پتے والا ہیڈر بھیجنا کنکشن کے ماخذ پتے کو نہیں بدلتا۔ منزل قابلِ اعتماد فارورڈنگ میٹاڈیٹا کی تشریح اپنی پالیسی کے مطابق کر سکتی ہے، مگر نیٹ ورک راستہ ایک الگ حقیقت ہے۔
اگر آپ کا ہدف براؤزنگ کے لیے IP بدلنے والا پراکسی ہے تو مفت پراکسی فہرست سے مناسب اندراج چنیں اور معاون براؤزر پراکسی یا مجاز ایکسٹینشن ترتیب دیں۔ اگر ہدف کسی ایک ویب ایپلیکیشن کا دور دراز fetch ہے تو اس خصوصیت کو اس کے حقیقی سرور اور براؤزر کی حدود کے مطابق ڈیزائن کریں۔