Chrome এক্সটেনশনে বিষয়বস্তু এবং নেটওয়ার্ক ফিল্টারিং প্রয়োগ করার বিভিন্ন উপায় রয়েছে৷ এই নির্দেশিকাটি এক্সটেনশনগুলিতে উপলব্ধ সামগ্রী ফিল্টারিং ক্ষমতা এবং Chrome এক্সটেনশনগুলির দ্বারা ব্যবহার করা যেতে পারে এমন বিভিন্ন ফিল্টারিং পদ্ধতি, কৌশল এবং APIগুলির একটি ওভারভিউ প্রদান করে৷
ফিল্টার নেটওয়ার্ক অনুরোধ
Chrome এক্সটেনশনগুলিতে নেটওয়ার্ক অনুরোধগুলি ফিল্টার করার প্রাথমিক উপায় হল chrome.declarativeNetRequest
API ব্যবহার করা৷ ঘোষণামূলক নেট অনুরোধের সাহায্যে বিকাশকারীরা ঘোষণামূলক নিয়মগুলি নির্দিষ্ট করে নেটওয়ার্ক অনুরোধগুলিকে ব্লক বা সংশোধন করতে পারে। ডিক্লারেটিভ নেট রিকোয়েস্ট নিয়ম ফরম্যাট বেশিরভাগ অ্যাড ব্লকারদের দ্বারা ব্যবহৃত ফিল্টার তালিকা সিনট্যাক্সের ক্ষমতার উপর ভিত্তি করে।
এই নিয়মগুলি করতে সক্ষম:
- একটি নেটওয়ার্ক অনুরোধ ব্লক করুন.
- URL স্কিমটিকে একটি সুরক্ষিত স্কিমে আপগ্রেড করুন (http থেকে https বা ws থেকে wss)।
- একটি নেটওয়ার্ক অনুরোধ পুনর্নির্দেশ করুন।
- অনুরোধ বা প্রতিক্রিয়া শিরোনাম পরিবর্তন করুন.
Chrome একটি এক্সটেনশনের সাথে বান্ডিল করা নিয়মগুলিকে সমর্থন করে এবং সেগুলি গতিশীলভাবে আপডেট করা হয় (যেমন একটি দূরবর্তী কনফিগারেশন বা ব্যবহারকারীর ইনপুটের প্রতিক্রিয়া হিসাবে)।
আপনার এক্সটেনশনের সাথে ফিল্টার নিয়ম বান্ডিল করুন
আপনার এক্সটেনশন প্যাকেজে অন্তর্ভুক্ত নিয়মগুলিকে "স্থির নিয়ম" বলা হয়। যখন একটি এক্সটেনশন ইনস্টল বা আপগ্রেড করা হয় তখন এই নিয়মগুলি ইনস্টল এবং আপডেট করা হয়। একটি এক্সটেনশন কতগুলি স্ট্যাটিক নিয়ম ঘোষণা করতে পারে তা Chrome সীমাবদ্ধ করে।
স্ট্যাটিক ডিক্লারেটিভ নেট রিকোয়েস্ট নিয়মের জন্য, Chrome-এ 300,000 নিয়মের একটি গ্লোবাল শেয়ার্ড পুল রয়েছে যা ইনস্টল করা এক্সটেনশনের সেট দ্বারা যৌথভাবে ব্যবহার করা যেতে পারে। এছাড়াও, প্রতিটি এক্সটেনশনের জন্য 30000 স্ট্যাটিক নিয়মের ভাতা নিশ্চিত করা হয়। উদাহরণস্বরূপ, যদি একজন ব্যবহারকারীর শুধুমাত্র একটি একক বিষয়বস্তু ফিল্টারিং এক্সটেনশন ইনস্টল করা থাকে, তবে এক্সটেনশনটি 330,000 পর্যন্ত স্ট্যাটিক ঘোষণামূলক নেট অনুরোধের নিয়ম ব্যবহার করতে পারে। এটি কতগুলি নিয়ম তা একটি ধারণা পেতে, জনপ্রিয় ইজিলিস্ট ফিল্টার তালিকা , বেশিরভাগ বিজ্ঞাপন ব্লকারদের দ্বারা ব্যবহৃত, প্রায় 35,000 নেটওয়ার্ক নিয়মগুলি নিয়ে গঠিত৷
স্ট্যাটিক ডিক্লারেটিভ নেট রিকোয়েস্ট নিয়মগুলি বিভিন্ন নিয়মে সংগঠিত করা যেতে পারে। একটি এক্সটেনশন 100টি স্ট্যাটিক রুলসেট নির্দিষ্ট করতে পারে এবং এই নিয়মগুলির মধ্যে 50টি একবারে সক্রিয় করা যেতে পারে৷
রানটাইমে গতিশীলভাবে ফিল্টার নিয়ম যোগ করুন
কিছু নিয়ম এক্সটেনশনের সাথে বান্ডিল করা যাবে না। পরিবর্তে, এক্সটেনশনগুলিকে রানটাইমে যুক্ত করতে হবে। এই নিয়মগুলিকে "গতিশীল নিয়ম" বলা হয়।
গতিশীল ঘোষণামূলক নেট অনুরোধের নিয়মগুলির জন্য, Chrome প্রতি এক্সটেনশনে সর্বাধিক 30,000 নিরাপদ গতিশীল নিয়মের অনুমতি দেয়৷ বেশিরভাগ নিয়মকে নিরাপদ নিয়ম হিসাবে বিবেচনা করা হয়: block
, allow
, allowAllRequests
বা upgradeScheme
। এমনকি যদি একটি নিয়ম নিরাপদ বলে বিবেচিত না হয় (উদাহরণস্বরূপ redirect
), তবে সেগুলি এখনও গতিশীলভাবে যোগ করা যেতে পারে, তবে সর্বনিম্ন সর্বোচ্চ 5,000 সীমা সহ যা 30,000 গতিশীল নিয়ম সীমার মধ্যেও গণনা করে৷ এটিকে পরিপ্রেক্ষিতে সেট করতে, ইজিলিস্ট ফিল্টার তালিকার 98-99% নিয়ম নিরাপদ নিয়ম।
বিষয়বস্তু ফিল্টারিং এক্সটেনশনগুলি তাদের এক্সটেনশনের সাথে পরিচিত ফিল্টারিং নিয়মগুলিকে বান্ডিল করতে এবং যখনই প্রয়োজন তখন তাদের সার্ভার থেকে নতুন বিষয়বস্তু ফিল্টারিং নিয়মগুলির সাথে তাদের এক্সটেনশনগুলি আপডেট করতে যথাক্রমে স্ট্যাটিক এবং গতিশীল নিয়ম ব্যবহার করতে পারে৷
পর্যবেক্ষণ করা অনুরোধের উপর ভিত্তি করে নিয়ম মানিয়ে নিন
বিজ্ঞাপন ইকোসিস্টেম ক্রমাগত বিকশিত হচ্ছে এবং বিষয়বস্তু ফিল্টারগুলি সেই অনুযায়ী আপডেট করা দরকার। chrome.webRequest
এবং ডাইনামিক ডিক্লারেটিভ নেট রিকোয়েস্ট নিয়মগুলিকে একত্রিত করে সম্ভাব্য গোপনীয়তা লঙ্ঘনের জন্য নেটওয়ার্ক অনুরোধগুলি বিশ্লেষণ করা এবং ভবিষ্যতে এগুলিকে ব্লক করা সম্ভব৷
মৌলিক পদ্ধতি হল:
-
chrome.webRequest
API ব্যবহার করে ওয়েব অনুরোধগুলি বিশ্লেষণ করুন এবং স্বয়ংক্রিয়ভাবে এমন অনুরোধগুলি সনাক্ত করার চেষ্টা করুন যা আপনার গোপনীয়তার প্রয়োজনীয়তাগুলি পূরণ করে না, উদাহরণস্বরূপ, মেশিন লার্নিং ব্যবহার করে৷ - প্রতিটি অনুরোধের জন্য একটি গতিশীল ঘোষণামূলক নেট অনুরোধের নিয়ম তৈরি করুন যা দ্বিতীয় ধাপে চিহ্নিত করা হয়েছে যাতে ভবিষ্যতে একই ধরনের অনুরোধ ব্লক করা হয়।
- (ঐচ্ছিক) চিহ্নিত ঘোষণামূলক নেট অনুরোধের নিয়মটি আপনার সার্ভারে ফেরত পাঠান যাতে এটি আপনার পরবর্তী এক্সটেনশন আপডেটের সাথে একটি স্ট্যাটিক ঘোষণামূলক নেট অনুরোধ নিয়ম হিসাবে যোগ করা যায়।
এই পদ্ধতির সুবিধা হল বিশ্লেষণটি অ্যাসিঙ্ক্রোনাসভাবে ঘটে এবং ওয়েবসাইটের কর্মক্ষমতাকে নেতিবাচকভাবে প্রভাবিত করবে না।
ব্যবহারকারীদের তাদের নিজস্ব ফিল্টারিং নিয়ম সংজ্ঞায়িত করার অনুমতি দিন
আপনি আপনার এক্সটেনশনে একটি ফিল্টার কনফিগারেশন UI প্রদান করে আপনার ব্যবহারকারীদের তাদের নিজস্ব সামগ্রী ফিল্টারিং নিয়মগুলি সংজ্ঞায়িত করতে দিতে পারেন৷ এই ব্যবহারকারীর সংজ্ঞায়িত নিয়মগুলিকে ঘোষণামূলক নেট অনুরোধের নিয়মগুলিতে রূপান্তর করুন এবং এগুলিকে গতিশীল নিয়ম হিসাবে যুক্ত করুন ৷ এই নিয়মগুলি ব্যবহারকারীদের জন্য উপলব্ধ থাকবে কারণ তারা ব্রাউজার সেশন এবং এক্সটেনশন আপগ্রেড জুড়ে অব্যাহত থাকবে৷ এই পদ্ধতি ব্যবহার করে, ব্যবহারকারীরা 30,000 পর্যন্ত কাস্টম নিয়ম যোগ করতে পারেন।
ওয়েব পেজ এ ফিল্টার উপাদান
নেটওয়ার্ক অনুরোধ ফিল্টারিং বিষয়বস্তু ফিল্টারিং শুধুমাত্র একটি গুরুত্বপূর্ণ অংশ. আরেকটি বড় অংশ হল ওয়েব পেজ থেকে সরাসরি অবাঞ্ছিত বিষয়বস্তু মুছে ফেলা। উদাহরণস্বরূপ, 40% এরও বেশি ইজিলিস্ট ফিল্টার তালিকা নিয়মগুলি সংজ্ঞায়িত করে যে কীভাবে ক্লায়েন্টদের পৃষ্ঠা উপাদানগুলি লুকানো উচিত।
বিষয়বস্তু স্ক্রিপ্ট ব্যবহার করে এটি অর্জন করা যেতে পারে। বিষয়বস্তু স্ক্রিপ্টগুলি ওয়েব পৃষ্ঠাগুলির পরিপ্রেক্ষিতে চলে এবং DOM ব্যবহার করে তাদের পরিবর্তন করতে পারে৷
দূরবর্তী হোস্ট করা কোড চালানোর জন্য Chrome এক্সটেনশানগুলি অনুমোদিত নয়৷ যাইহোক, একটি সার্ভারের ডেটা কোন উপাদানগুলিকে লুকাতে হবে তা প্রভাবিত হয় না কারণ এটি কনফিগারেশন ডেটা হিসাবে বিবেচিত হয়, তাই যখনই প্রয়োজন তখন রানটাইমে উপাদানের নিয়মগুলি আপডেট করা যেতে পারে।
নীতি ইনস্টল করা এক্সটেনশনে নেটওয়ার্ক অনুরোধ ফিল্টার করুন
এন্টারপ্রাইজ এবং শিক্ষা ব্যবহারের ক্ষেত্রে প্রায়ই বিষয়বস্তু এবং নেটওয়ার্ক ফিল্টারিংয়ের জন্য অত্যন্ত কঠোর প্রয়োজনীয়তা থাকে, যেমন তাদের বিষয়বস্তুর উপর ভিত্তি করে ফিল্টারিং অনুরোধ। এই ব্যবহারের ক্ষেত্রে সক্ষম করার জন্য, নীতি ইনস্টল করা এক্সটেনশনগুলিতে নেটওয়ার্ক অনুরোধগুলি ফিল্টার এবং ব্লক করার একটি অতিরিক্ত উপায় রয়েছে৷ webRequest
এপিআই-এর ইভেন্টগুলির সাথে "ব্লকিং" বিকল্পটি ব্যবহার করে, একটি প্রোগ্রাম্যাটিক বিষয়বস্তু ফিল্টার প্রয়োগ করা সম্ভব যা প্রতিটি অনুরোধে কাস্টম লজিক কার্যকর করে সিদ্ধান্ত নিতে পারে যে একটি অনুরোধ ব্লক করা উচিত কিনা। এটি পলিসি-ইনস্টল করা এক্সটেনশনের মধ্যে সীমাবদ্ধ কারণ এগুলোর বিশ্বাসের উচ্চ স্তর রয়েছে৷
বাধা নেভিগেশন অনুরোধ
ঘোষণামূলক নেট অনুরোধের নিয়মগুলি ব্যবহার করে নেভিগেশন অনুরোধগুলি ফিল্টার করা যেতে পারে। উদাহরণস্বরূপ, আপনি ট্র্যাকিং ইউআরএলগুলিকে বাইপাস করতে চাইতে পারেন যা ব্যবহারকারীকে তাদের উদ্দিষ্ট গন্তব্যে পুনঃনির্দেশিত করে। এটি পরিচালনা করার একটি পদ্ধতি হল একটি নেভিগেশন অনুরোধ https://tracker.com?redirect=https%3A%2F%2Fexample.com
একটি এক্সটেনশন পৃষ্ঠাতে পুনঃনির্দেশ করা (যা একটি ওয়েব অ্যাক্সেসযোগ্য সংস্থান হিসাবে কনফিগার করা প্রয়োজন), যা তখন হবে রিডাইরেক্ট টার্গেট এক্সট্র্যাক্ট করতে একটি স্ক্রিপ্ট চালান এবং লিঙ্ক ট্র্যাকারকে ফাঁকি দিয়ে window.location.replace("https://example.com")
ব্যবহার করে গন্তব্যে রিডাইরেক্ট করুন।