Chrome ও Firefox-এর মধ্যে প্রক্সি এক্সটেনশন পোর্ট করা
Firefox ও Chrome একই রকম নামের এক্সটেনশন API দেয়, কিন্তু তাদের কনফিগারেশন মডেল আলাদা। শুধু namespace নয়, রাউটিং নীতি পোর্ট করুন।
chrome-কে browser নাম দেওয়া কোনো প্রক্সি এক্সটেনশনের সম্পূর্ণ পোর্ট নয়।
Chrome-এর ফিক্সড-সার্ভার কনফিগারেশন একটি mode ও rules অবজেক্ট ব্যবহার করে। Firefox নিজস্ব গ্লোবাল প্রক্সি সেটিংস ইন্টারফেস এবং প্রতি-অনুরোধে proxy.onRequest API দেয়। নাম মিললেও তাদের ইনপুট অবজেক্ট বিনিময়যোগ্য নয়।
আপনি যে নীতি প্রকাশ করতে চান সেখান থেকে শুরু করুন: একটি নির্দিষ্ট এন্ডপয়েন্ট, একটি PAC কনফিগারেশন, বা প্রতিটি অনুরোধের জন্য আলাদাভাবে নির্বাচিত রুট। তারপর প্রতিটি ব্রাউজারের জন্য নথিভুক্ত ইন্টারফেস ব্যবহার করুন।
Firefox-এর প্রতি-অনুরোধ লিসেনার এক্সটেনশন কোড থেকে প্রক্সি তথ্য ফেরত দিতে পারে। এতে প্রক্সি অনুমতি এবং আটকানো অনুরোধের জন্য উপযুক্ত host অ্যাক্সেস লাগে। এটি Chrome-এর ফিক্সড-সার্ভার সেটিংস অবজেক্ট কপি করে ব্রাউজার প্রতিটি ফিল্ড চিনবে বলে আশা করার চেয়ে ভিন্ন নকশা।
সমর্থিত Firefox সংস্করণ ও manifest চাহিদাও যাচাই করুন। proxy.register() ব্যবহার করা পুরোনো উদাহরণ আগের API বর্ণনা করে এবং বর্তমান এক্সটেনশনের ভিত্তি হওয়া উচিত নয়।
সাধারণ নীতি ডেটা ব্রাউজার-নির্দিষ্ট অভিযোজন থেকে আলাদা রাখুন। পরীক্ষা ও ডায়াগনস্টিকসে প্রতিটি ব্রাউজারে একটি গন্তব্যের জন্য নির্বাচিত রুট দেখানো উচিত, ইচ্ছাকৃত সরাসরি ফলাফলসহ। বৈধ manifest ও ত্রুটি না তোলা API কল কেবল শুরু।