যখন এই ইভেন্টগুলো নির্বাচিত প্রক্সি প্রয়োগ করবে, তখন Manifest V3 সার্ভিস ওয়ার্কারের শীর্ষ স্তরে onStartup ও onInstalled সিঙ্ক্রোনাসভাবে নিবন্ধন করুন। ইচ্ছাকৃতভাবে একটিমাত্র রুটে আটকানো এক্সটেনশনের জন্য:

function applyProxy() {
  chrome.proxy.settings.set({
    value: {
      mode: 'fixed_servers',
      rules: {
        singleProxy: {
          scheme: 'http',
          host: 'proxy.example',
          port: 8080,
        },
      },
    },
    scope: 'regular',
  }, () => {
    if (chrome.runtime.lastError) {
      console.error(chrome.runtime.lastError.message);
    }
  });
}

chrome.runtime.onStartup.addListener(applyProxy);
chrome.runtime.onInstalled.addListener(applyProxy);

manifest-কে প্রক্সি অনুমতি ঘোষণা করতে হবে এবং এই ব্যাকগ্রাউন্ড ওয়ার্কারের নাম দিতে হবে। প্রক্সি প্রমাণীকরণ ছাড়া অনুমোদিত পাবলিক ব্রাউজিং রুটের জন্য এন্ডপয়েন্টটি HTTP প্রক্সি তালিকা থেকে একটি প্রার্থী দিয়ে বদলান, পোর্টটি পূর্ণসংখ্যা রেখে।

onStartup হল এক্সটেনশন ইনস্টল থাকা অবস্থায় প্রোফাইল স্টার্টআপ। onInstalled আপডেটও অন্তর্ভুক্ত করে, যার মধ্যে আনপ্যাক করা এক্সটেনশন পুনরায় লোড করাকে আপডেট ধরা হয়। উইন্ডো তৈরির ইভেন্ট প্রতিটি উইন্ডো বর্ণনা করে এবং এক সেশনেই বারবার ঘটতে পারে।

সংরক্ষিত প্রোফাইল বা বন্ধ করার সুইচ থাকা এক্সটেনশনে হ্যান্ডলারকে প্রতিটি আপডেটে হার্ডকোড করা ডিফল্ট আবার বসানোর বদলে সেই পছন্দ লোড করে প্রয়োগ করতে দিন। লিসেনার নিবন্ধন শীর্ষ স্তরেই থাকে; Chrome হ্যান্ডলার ডাকলে অ্যাসিঙ্ক্রোনাস কাজ শুরু হতে পারে।

বিকাশের সময় ইনস্টলেশন ও প্রোফাইল স্টার্টআপ আলাদাভাবে পরীক্ষা করুন, প্রতিটির কনফিগারেশন ফলাফল যাচাই করে। এগুলো দুটি ইনিশিয়ালাইজেশন পথ, অন্য উইন্ডো খুলে পাওয়া প্রমাণ নয়।

সম্পর্কিত নিবন্ধ