JavaScript কি আপনার ব্রাউজারের প্রক্সি বদলাতে পারে?
সাধারণ ওয়েবপেজ কোড আর প্রক্সি সেটিং কনফিগার করতে পারে এমন অনুমোদিত ব্রাউজার এক্সটেনশনের মধ্যে পার্থক্য করুন।
ওয়েবপেজে চলা স্ক্রিপ্টের কাছে ব্রাউজারের বাইরের দিকে যাওয়া প্রক্সি বদলানোর কোনো সাধারণ সেটিং নেই। ব্রাউজার এক্সটেনশনের অতিরিক্ত অনুমতি থাকতে পারে, কিন্তু তা ভিন্ন নিরাপত্তা ও কনফিগারেশন মডেলে চলে।
পুরোনো ফোরামের উত্তরে এই পার্থক্যটি হারিয়ে যায়। বিশেষ Firefox অভ্যন্তরীণ অংশ, পুরোনো এক্সটেনশন মডিউল বা পরিত্যক্ত add-on SDK ব্যবহার করা কোড কখনোই সাধারণ ওয়েবপেজ API ছিল না। এমন স্নিপেট পেজে পেস্ট করলে সেই অনুমতিগুলো পাওয়া যায় না।
ব্রাউজারের এক্সটেনশন API ব্যবহার করুন
একটি Firefox এক্সটেনশন প্রয়োজনীয় অনুমতিসহ নথিভুক্ত proxy.settings API ব্যবহার করতে পারে। Chrome নিজস্ব প্রক্সি এক্সটেনশন API দেয়। তাদের কনফিগারেশন মডেল আলাদা; আপনার লক্ষ্য ব্রাউজারের জন্য ম্যানিফেস্টের প্রয়োজনীয়তা ও সমর্থিত সেটিং দেখুন।
এক্সটেনশনের উচিত একই সেটিং নিয়ন্ত্রণ করা নীতি বা অন্য এক্সটেনশনকেও হিসাবে নেওয়া। সফল API কল মানেই নয় যে এখন প্রতিটি গন্তব্য আপনার ইচ্ছাকৃত পথ অনুসরণ করে। ফলাফল কনফিগারেশন পরীক্ষা করুন এবং ব্যবহারকারীর তা ফিরিয়ে আনার ক্ষমতা রাখুন।
fetch URL বদলালে গন্তব্য বদলায়
একটি ওয়েবপেজ এমন একটি অ্যাপ্লিকেশন সার্ভার ডাকতে পারে যা তার হয়ে অনুরোধ পাঠায়, ব্রাউজারের ওয়েব নিয়মের অধীনে। ওই নকশায় ব্রাউজার সেই অ্যাপ্লিকেশন সার্ভারে সংযোগ করে। এটি কোনো সাধারণ ব্রাউজার প্রক্সি ইনস্টল করেনি বা অসম্পর্কিত ট্যাবের ব্যবহৃত পথ বদলায়নি।
একইভাবে, অন্য IP ঠিকানার হেডার পাঠালে সংযোগের উৎস ঠিকানা বদলায় না। একটি গন্তব্য বিশ্বস্ত ফরওয়ার্ডিং মেটাডেটা নিজের নীতি অনুযায়ী ব্যাখ্যা করতে পারে, কিন্তু নেটওয়ার্ক পথ আলাদা তথ্য।
আপনার লক্ষ্য ব্রাউজিংয়ের জন্য IP বদলানো প্রক্সি হলে বিনামূল্যের প্রক্সি তালিকা থেকে উপযুক্ত একটি এন্ট্রি বেছে নিন এবং সমর্থিত ব্রাউজার প্রক্সি বা অনুমোদিত এক্সটেনশন কনফিগার করুন। লক্ষ্য যদি এক ওয়েব অ্যাপ্লিকেশনের দূরবর্তী fetch হয়, তবে সেই বৈশিষ্ট্যটি তার প্রকৃত সার্ভার ও ব্রাউজার সীমার ভিত্তিতে ডিজাইন করুন।