chrome.declarativeNetRequest

বর্ণনা

chrome.declarativeNetRequest API ঘোষণামূলক নিয়মগুলি নির্দিষ্ট করে নেটওয়ার্ক অনুরোধগুলিকে ব্লক বা সংশোধন করতে ব্যবহার করা হয়৷ এটি এক্সটেনশনগুলিকে তাদের বাধা না দিয়ে এবং তাদের সামগ্রী না দেখে নেটওয়ার্ক অনুরোধগুলিকে সংশোধন করতে দেয়, এইভাবে আরও গোপনীয়তা প্রদান করে৷

অনুমতি

declarativeNetRequest
declarativeNetRequestWithHostAccess

" declarativeNetRequest " এবং " declarativeNetRequestWithHostAccess " অনুমতি একই ক্ষমতা প্রদান করে৷ তাদের মধ্যে পার্থক্য হল যখন অনুমতি অনুরোধ করা হয় বা দেওয়া হয়।

"declarativeNetRequest"
ইনস্টল করার সময় একটি অনুমতি সতর্কতা ট্রিগার করে কিন্তু allow , allowAllRequests এবং block নিয়মগুলির অন্তর্নিহিত অ্যাক্সেস প্রদান করে৷ হোস্টগুলিতে সম্পূর্ণ অ্যাক্সেসের অনুরোধ করার প্রয়োজন এড়াতে যখন সম্ভব তখন এটি ব্যবহার করুন।
"declarativeNetRequestFeedback"
আনপ্যাক করা এক্সটেনশনগুলির জন্য ডিবাগিং বৈশিষ্ট্যগুলি সক্ষম করে, বিশেষত getMatchedRules() এবং onRuleMatchedDebug
"declarativeNetRequestWithHostAccess"
একটি অনুমতি সতর্কতা ইনস্টল করার সময় দেখানো হয় না, কিন্তু আপনি একটি হোস্টে কোনো কাজ সম্পাদন করার আগে আপনাকে হোস্ট অনুমতির অনুরোধ করতে হবে। এটি উপযুক্ত যখন আপনি একটি এক্সটেনশনে ঘোষণামূলক নেট অনুরোধের নিয়মগুলি ব্যবহার করতে চান যার ইতিমধ্যেই অতিরিক্ত সতর্কতা তৈরি না করে হোস্টের অনুমতি রয়েছে৷

উপস্থিতি

Chrome 84+

উদ্ভাসিত

পূর্বে বর্ণিত অনুমতিগুলি ছাড়াও, নির্দিষ্ট ধরণের নিয়মসেট, স্ট্যাটিক নিয়মসেটগুলির জন্য বিশেষভাবে "declarative_net_request" ম্যানিফেস্ট কী ঘোষণা করতে হবে, যা "rule_resources" নামক একক কী সহ একটি অভিধান হওয়া উচিত। এই কী হল একটি বিন্যাস যার মধ্যে Ruleset প্রকারের অভিধান রয়েছে, যেমনটি নীচে দেখানো হয়েছে। (উল্লেখ্য যে 'রুলসেট' নামটি ম্যানিফেস্টের JSON-এ উপস্থিত হয় না কারণ এটি শুধুমাত্র একটি অ্যারে।) স্ট্যাটিক নিয়মসেটগুলি এই নথিতে পরে ব্যাখ্যা করা হয়েছে।

{
  "name": "My extension",
  ...

  "declarative_net_request" : {
    "rule_resources" : [{
      "id": "ruleset_1",
      "enabled": true,
      "path": "rules_1.json"
    }, {
      "id": "ruleset_2",
      "enabled": false,
      "path": "rules_2.json"
    }]
  },
  "permissions": [
    "declarativeNetRequest",
    "declarativeNetRequestFeedback",
  ],
  "host_permissions": [
    "http://www.blogger.com/*",
    "http://*.google.com/*"
  ],
  ...
}

ধারণা এবং ব্যবহার

এই API ব্যবহার করতে, এক বা একাধিক নিয়ম সেট নির্দিষ্ট করুন। একটি নিয়মসেটে নিয়মের একটি বিন্যাস রয়েছে। একটি একক নিয়ম নিম্নলিখিতগুলির মধ্যে একটি করে:

  • একটি নেটওয়ার্ক অনুরোধ ব্লক করুন.
  • স্কিমা আপগ্রেড করুন (http থেকে https)।
  • যেকোন মেলে ব্লক করা নিয়মগুলিকে অস্বীকার করে ব্লক হওয়া থেকে একটি অনুরোধ আটকান৷
  • একটি নেটওয়ার্ক অনুরোধ পুনর্নির্দেশ করুন।
  • অনুরোধ বা প্রতিক্রিয়া শিরোনাম পরিবর্তন করুন.

তিন ধরনের নিয়মকানুন আছে, সামান্য ভিন্ন উপায়ে পরিচালিত হয়।

গতিশীল
ব্রাউজার সেশন এবং এক্সটেনশন আপগ্রেডগুলি জুড়ে থাকে এবং একটি এক্সটেনশন ব্যবহার করার সময় জাভাস্ক্রিপ্ট ব্যবহার করে পরিচালিত হয়।
সেশন
ব্রাউজারটি বন্ধ হয়ে গেলে এবং যখন এক্সটেনশনের একটি নতুন সংস্করণ ইনস্টল করা হয় তখন সাফ করা হয়৷ একটি এক্সটেনশন ব্যবহার করার সময় সেশন নিয়ম জাভাস্ক্রিপ্ট ব্যবহার করে পরিচালিত হয়।
স্থির
যখন একটি এক্সটেনশন ইনস্টল বা আপগ্রেড করা হয় তখন প্যাকেজ করা, ইনস্টল করা এবং আপডেট করা হয়। স্ট্যাটিক নিয়মগুলি JSON-ফরম্যাট করা নিয়ম ফাইলগুলিতে সংরক্ষণ করা হয় এবং ম্যানিফেস্ট ফাইলে তালিকাভুক্ত করা হয়।

পরবর্তী কয়েকটি বিভাগে নিয়মের ধরন বিশদভাবে ব্যাখ্যা করা হয়েছে।

ডায়নামিক এবং সেশন-স্কোপড নিয়ম সেট

ডায়নামিক এবং সেশন রুলসেটগুলি জাভাস্ক্রিপ্ট ব্যবহার করে পরিচালিত হয় যখন একটি এক্সটেনশন ব্যবহার করা হয়।

  • ব্রাউজার সেশন এবং এক্সটেনশন আপগ্রেড জুড়ে গতিশীল নিয়ম বজায় থাকে।
  • ব্রাউজারটি বন্ধ হয়ে গেলে এবং যখন এক্সটেনশনের একটি নতুন সংস্করণ ইনস্টল করা হয় তখন সেশনের নিয়মগুলি সাফ করা হয়৷

এই রুলসেটের ধরনগুলির মধ্যে শুধুমাত্র একটি রয়েছে। একটি এক্সটেনশন updateDynamicRules() এবং updateSessionRules() এ কল করে গতিশীলভাবে নিয়মগুলি যোগ করতে বা সরাতে পারে, যদি নিয়মের সীমা অতিক্রম না হয়। নিয়ম সীমা সম্পর্কে তথ্যের জন্য, নিয়ম সীমা দেখুন। আপনি কোড উদাহরণের অধীনে এটির একটি উদাহরণ দেখতে পারেন।

স্ট্যাটিক নিয়মাবলী

গতিশীল এবং সেশন নিয়মের বিপরীতে, স্ট্যাটিক নিয়মগুলি প্যাকেজ করা হয়, ইনস্টল করা হয় এবং আপডেট করা হয় যখন একটি এক্সটেনশন ইনস্টল বা আপগ্রেড করা হয়। এগুলি JSON ফর্ম্যাটে নিয়ম ফাইলগুলিতে সংরক্ষিত থাকে, যেগুলি উপরে বর্ণিত "declarative_net_request" এবং "rule_resources" কীগুলি ব্যবহার করে এক্সটেনশনে নির্দেশিত হয়, পাশাপাশি এক বা একাধিক Ruleset অভিধান। একটি Ruleset অভিধানে নিয়ম ফাইলের একটি পথ, ফাইলটিতে থাকা রুলসেটের জন্য একটি আইডি এবং রুলসেট সক্ষম বা অক্ষম আছে কিনা তা থাকে। শেষ দুটি গুরুত্বপূর্ণ যখন আপনি একটি নিয়ম সেট প্রোগ্রামগতভাবে সক্ষম বা নিষ্ক্রিয় করেন।

{
  ...
  "declarative_net_request" : {
    "rule_resources" : [{
      "id": "ruleset_1",
      "enabled": true,
      "path": "rules_1.json"
    },
    ...
    ]
  }
  ...
}

নিয়ম ফাইল পরীক্ষা করতে, আপনার এক্সটেনশন আনপ্যাক লোড করুন । অবৈধ স্ট্যাটিক নিয়ম সম্পর্কে ত্রুটি এবং সতর্কতাগুলি শুধুমাত্র আনপ্যাক করা এক্সটেনশনগুলির জন্য প্রদর্শিত হয়৷ প্যাকড এক্সটেনশনে অবৈধ স্ট্যাটিক নিয়ম উপেক্ষা করা হয়।

স্ট্যাটিক নিয়ম এবং নিয়ম সেট সক্ষম এবং নিষ্ক্রিয় করুন

উভয় পৃথক স্ট্যাটিক নিয়ম এবং সম্পূর্ণ স্ট্যাটিক নিয়ম সেট রানটাইমে সক্ষম বা নিষ্ক্রিয় হতে পারে।

সক্রিয় স্ট্যাটিক নিয়ম এবং নিয়ম সেট ব্রাউজার সেশন জুড়ে টিকে থাকে। কোনটিই এক্সটেনশন আপডেট জুড়ে স্থির থাকে না, যার অর্থ শুধুমাত্র আপনার নিয়ম ফাইলগুলিতে ছেড়ে যাওয়ার জন্য বেছে নেওয়া নিয়মগুলি একটি আপডেটের পরে উপলব্ধ।

পারফরম্যান্সের কারণে এক সময়ে সক্ষম হতে পারে এমন নিয়ম ও নিয়মের সংখ্যারও সীমা রয়েছে৷ সক্রিয় হতে পারে এমন অতিরিক্ত নিয়মের সংখ্যা পরীক্ষা করতে getAvailableStaticRuleCount() এ কল করুন। নিয়ম সীমা সম্পর্কে তথ্যের জন্য, নিয়ম সীমা দেখুন।

স্ট্যাটিক নিয়ম সক্রিয় বা নিষ্ক্রিয় করতে, updateStaticRules() কল করুন। এই পদ্ধতিটি একটি UpdateStaticRulesOptions অবজেক্ট নেয়, যাতে সক্রিয় বা নিষ্ক্রিয় করার নিয়মের আইডির অ্যারে থাকে। Ruleset অভিধানের "id" কী ব্যবহার করে আইডিগুলিকে সংজ্ঞায়িত করা হয়।

স্ট্যাটিক রুলসেট সক্রিয় বা নিষ্ক্রিয় করতে, updateEnabledRulesets() কল করুন। এই পদ্ধতিটি একটি UpdateRulesetOptions অবজেক্ট নেয়, যাতে সক্রিয় বা নিষ্ক্রিয় করার জন্য রুলসেটের আইডির অ্যারে থাকে। Ruleset অভিধানের "id" কী ব্যবহার করে আইডিগুলিকে সংজ্ঞায়িত করা হয়।

নিয়ম তৈরি করুন

টাইপ নির্বিশেষে, একটি নিয়ম চারটি ক্ষেত্র দিয়ে শুরু হয় যেমনটি নিম্নলিখিতটিতে দেখানো হয়েছে। "id" এবং "priority" কীগুলি একটি সংখ্যা গ্রহণ করলে, "action" এবং "condition" কীগুলি বিভিন্ন ব্লকিং এবং রিডাইরেক্ট করার শর্ত প্রদান করতে পারে। নিম্নলিখিত নিয়মটি একটি সাবস্ট্রিং হিসাবে "abc" সহ যেকোনো URL থেকে "foo.com" থেকে উদ্ভূত সমস্ত স্ক্রিপ্ট অনুরোধকে ব্লক করে।

{
  "id" : 1,
  "priority": 1,
  "action" : { "type" : "block" },
  "condition" : {
    "urlFilter" : "abc",
    "initiatorDomains" : ["foo.com"],
    "resourceTypes" : ["script"]
  }
}

urlFilter মিলে অক্ষর

একটি নিয়মের "condition" কী একটি নির্দিষ্ট ডোমেনের অধীনে URLগুলিতে কাজ করার জন্য একটি "urlFilter" কীকে অনুমতি দেয়৷ আপনি প্যাটার্ন ম্যাচিং টোকেন ব্যবহার করে প্যাটার্ন তৈরি করেন। এখানে কিছু উদাহরণ আছে।

urlFilter মেলে মেলে না
"abc" https://abcd.com
https://example.com/abcd
https://ab.com
"abc*d" https://abcd.com
https://example.com/abcxyzd
https://abc.com
"||a.example.com" https://a.example.com/
https://baexample.com/xyz
https://example.com/
"|https*" https://example.com http://example.com/
http://https.com
"example*^123|" https://example.com/123
http://abc.com/example?123
https://example.com/1234
https://abc.com/example0123

নিয়ম অগ্রাধিকার

নিয়ম ওয়েব পেজ থেকে পাঠানো অনুরোধ দ্বারা ট্রিগার করা হয়. যদি একাধিক নিয়ম একটি নির্দিষ্ট অনুরোধের সাথে মিলে যায়, তাহলে নিয়মগুলিকে অগ্রাধিকার দিতে হবে। এই বিভাগটি ব্যাখ্যা করে যে কীভাবে তাদের অগ্রাধিকার দেওয়া হয়। অগ্রাধিকার দুটি পর্যায়ে ঘটে।

  1. অগ্রাধিকার একটি এক্সটেনশন মধ্যে নিয়মের জন্য নির্ধারিত হয়.
  2. যদি একাধিক এক্সটেনশন একটি অনুরোধে একটি নিয়ম প্রয়োগ করতে পারে, তবে একটি নির্দিষ্ট অনুরোধের সাথে মেলে এমন সমস্ত এক্সটেনশনের জন্য অগ্রাধিকার নির্ধারণ করা হয়।

এইভাবে মেলানোর কথা ভাবছেন: একটি নির্দিষ্ট এক্সটেনশন যে নিয়মকে অগ্রাধিকার দেয় তা অন্য এক্সটেনশনের নিয়মের বিপরীতে অগ্রাধিকার দেওয়া হবে।

একটি এক্সটেনশনের মধ্যে নিয়ম অগ্রাধিকার

একটি একক এক্সটেনশনের মধ্যে, নিম্নলিখিত প্রক্রিয়াটি ব্যবহার করে অগ্রাধিকার নির্ধারণ করা হয়:

  1. সর্বোচ্চ বিকাশকারী-সংজ্ঞায়িত অগ্রাধিকার সহ নিয়মটি (অন্য কথায়, "priority" ক্ষেত্র) ফেরত দেওয়া হয়।
  2. সর্বোচ্চ বিকাশকারী-সংজ্ঞায়িত অগ্রাধিকার সহ একাধিক নিয়ম থাকলে, নিম্নলিখিত ক্রমে "action" ক্ষেত্র ব্যবহার করে নিয়মগুলিকে অগ্রাধিকার দেওয়া হয়:

    1. allow
    2. allowAllRequests
    3. block
    4. upgradeScheme
    5. redirect
  3. যদি অ্যাকশনের ধরন block বা redirect না হয়, modifyHeaders নিয়মগুলি মূল্যায়ন করা হয়। সচেতন থাকুন যে যদি কোনো ডেভেলপার-নির্ধারিত অগ্রাধিকারের সাথে কোনো নিয়ম থাকে যা allow এবং allowAllRequests জন্য নির্ধারিত অগ্রাধিকারের চেয়ে কম থাকে, তাহলে এই ধরনের নিয়মগুলি উপেক্ষা করা হয়।

  4. যদি একাধিক নিয়ম একই শিরোনাম পরিবর্তন করে, তবে পরিবর্তন ডেভেলপার-সংজ্ঞায়িত "priority" ক্ষেত্র এবং নির্দিষ্ট ক্রিয়াকলাপ দ্বারা নির্ধারিত হয়।

    • যদি একটি নিয়ম একটি শিরোলেখের সাথে যুক্ত হয়, তাহলে নিম্ন অগ্রাধিকারের নিয়মগুলি শুধুমাত্র সেই শিরোলেখের সাথে যুক্ত হতে পারে। সেট এবং অপসারণ অপারেশন অনুমোদিত নয়.
    • যদি একটি নিয়ম একটি শিরোনাম সেট করে, তাহলে নিম্ন অগ্রাধিকারের নিয়মগুলি শুধুমাত্র সেই শিরোলেখের সাথে যুক্ত হতে পারে। অন্য কোন পরিবর্তন অনুমোদিত নয়.
    • যদি একটি নিয়ম একটি শিরোনাম অপসারণ করে, তাহলে নিম্ন অগ্রাধিকারের নিয়মগুলি শিরোনামটিকে আরও সংশোধন করতে পারে না।

এক্সটেনশনের মধ্যে নিয়ম অগ্রাধিকার

যদি শুধুমাত্র একটি এক্সটেনশনের একটি নিয়ম থাকে যা একটি অনুরোধের সাথে মেলে, সেই নিয়মটি প্রয়োগ করা হয়৷ কিন্তু যদি একাধিক এক্সটেনশন একটি অনুরোধের সাথে মেলে, নিম্নলিখিত প্রক্রিয়াটি ব্যবহার করা হয়:

  1. নিম্নলিখিত ক্রমে, "action" ক্ষেত্র ব্যবহার করে নিয়মগুলিকে অগ্রাধিকার দেওয়া হয়:

    1. block
    2. redirect বা upgradeScheme
    3. AllRequests allow বা allowAllRequests
  2. যদি একাধিক নিয়ম মিলে যায়, সাম্প্রতিকতম ইনস্টল করা এক্সটেনশনটি অগ্রাধিকার পায়।

নিয়ম সীমা

ব্রাউজারে নিয়ম লোড করা এবং মূল্যায়ন করার জন্য একটি কর্মক্ষমতা ওভারহেড আছে, তাই API ব্যবহার করার সময় কিছু সীমা প্রযোজ্য। সীমাগুলি আপনি যে নিয়ম ব্যবহার করছেন তার উপর নির্ভর করে।

স্ট্যাটিক নিয়ম

স্ট্যাটিক নিয়মগুলি হল ম্যানিফেস্ট ফাইলে ঘোষিত নিয়ম ফাইলগুলিতে নির্দিষ্ট করা৷ একটি এক্সটেনশন "rule_resources" ম্যানিফেস্ট কী-এর অংশ হিসাবে 100টি পর্যন্ত স্ট্যাটিক নিয়মসেট নির্দিষ্ট করতে পারে, কিন্তু এই নিয়মগুলির মধ্যে মাত্র 50টি একবারে সক্ষম করা যেতে পারে৷ পরবর্তীটিকে MAX_NUMBER_OF_ENABLED_STATIC_RULESETS বলা হয়। সম্মিলিতভাবে, সেই নিয়মগুলি কমপক্ষে 30,000 নিয়মের গ্যারান্টিযুক্ত। একে বলা হয় GUARANTEED_MINIMUM_STATIC_RULES

এর পরে উপলব্ধ নিয়মের সংখ্যা নির্ভর করে ব্যবহারকারীর ব্রাউজারে ইনস্টল করা সমস্ত এক্সটেনশন দ্বারা কতগুলি নিয়ম সক্রিয় করা হয়েছে তার উপর৷ আপনি getAvailableStaticRuleCount() এ কল করে রানটাইমে এই নম্বরটি খুঁজে পেতে পারেন। আপনি কোড উদাহরণের অধীনে এটির একটি উদাহরণ দেখতে পারেন।

সেশনের নিয়ম

একটি এক্সটেনশনে 5000 সেশনের নিয়ম থাকতে পারে। এটি MAX_NUMBER_OF_SESSION_RULES হিসাবে প্রকাশিত হয়েছে।

Chrome 120-এর আগে, 5000টি সম্মিলিত ডায়নামিক এবং সেশন নিয়মের সীমা ছিল।

গতিশীল নিয়ম

একটি এক্সটেনশনে কমপক্ষে 5000টি গতিশীল নিয়ম থাকতে পারে। এটি MAX_NUMBER_OF_UNSAFE_DYNAMIC_RULES হিসাবে প্রকাশিত হয়েছে।

Chrome 121 থেকে শুরু করে, নিরাপদ গতিশীল নিয়মগুলির জন্য 30,000 নিয়মের একটি বৃহত্তর সীমা রয়েছে, যা MAX_NUMBER_OF_DYNAMIC_RULES হিসাবে প্রকাশ করা হয়েছে। নিরাপদ নিয়মগুলি block , allow , allowAllRequests বা upgradeScheme এর একটি ক্রিয়া সহ নিয়ম হিসাবে সংজ্ঞায়িত করা হয়। 5000 এর সীমার মধ্যে যে কোনো অনিরাপদ নিয়ম যোগ করা হলে তাও এই সীমার মধ্যে গণনা করা হবে।

Chrome 120 এর আগে, একটি 5000 সম্মিলিত গতিশীল এবং সেশন নিয়ম সীমা ছিল।

নিয়ম যা রেগুলার এক্সপ্রেশন ব্যবহার করে

সব ধরনের নিয়ম রেগুলার এক্সপ্রেশন ব্যবহার করতে পারে; যাইহোক, প্রতিটি ধরণের রেগুলার এক্সপ্রেশন নিয়মের মোট সংখ্যা 1000 এর বেশি হতে পারে না। একে MAX_NUMBER_OF_REGEX_RULES বলা হয়।

উপরন্তু, প্রতিটি নিয়ম একবার কম্পাইল করা হলে 2KB এর কম হতে হবে। এটি মোটামুটি নিয়মের জটিলতার সাথে সম্পর্কযুক্ত। আপনি যদি এই সীমা অতিক্রম করে এমন একটি নিয়ম লোড করার চেষ্টা করেন, তাহলে আপনি নিচের মত একটি সতর্কবাণী দেখতে পাবেন এবং নিয়মটি উপেক্ষা করা হবে।

rules_1.json: Rule with id 1 specified a more complex regex than allowed
as part of the "regexFilter" key.

সেবা কর্মীদের সাথে মিথস্ক্রিয়া

একটি declarativeNetRequest শুধুমাত্র নেটওয়ার্ক স্ট্যাকে পৌঁছানো অনুরোধের জন্য প্রযোজ্য। এতে HTTP ক্যাশে থেকে আসা প্রতিক্রিয়াগুলি অন্তর্ভুক্ত থাকে, তবে পরিষেবা কর্মীর onfetch হ্যান্ডলারের মাধ্যমে আসা প্রতিক্রিয়াগুলি অন্তর্ভুক্ত নাও হতে পারে৷ declarativeNetRequest পরিষেবা কর্মী দ্বারা উত্পন্ন বা CacheStorage থেকে পুনরুদ্ধার করা প্রতিক্রিয়াগুলিকে প্রভাবিত করবে না, তবে এটি একটি পরিষেবা কর্মীতে fetch() আনার কলগুলিকে প্রভাবিত করবে৷

ওয়েব অ্যাক্সেসযোগ্য সম্পদ

একটি declarativeNetRequest নিয়ম একটি পাবলিক রিসোর্স রিকোয়েস্ট থেকে এমন রিসোর্সে রিডাইরেক্ট করতে পারে না যা ওয়েব অ্যাক্সেসযোগ্য নয়। এটি করা একটি ত্রুটি ট্রিগার করে। নির্দিষ্ট ওয়েব অ্যাক্সেসযোগ্য সম্পদ পুনঃনির্দেশিত এক্সটেনশনের মালিকানাধীন হলেও এটি সত্য। declarativeNetRequest-এর জন্য সম্পদ ঘোষণা করতে, ম্যানিফেস্টের "web_accessible_resources" অ্যারে ব্যবহার করুন।

উদাহরণ

কোড উদাহরণ

গতিশীল নিয়ম আপডেট করুন

নিম্নলিখিত উদাহরণ দেখায় কিভাবে updateDynamicRules() কল করতে হয়। updateSessionRules() এর পদ্ধতি একই।

// Get arrays containing new and old rules
const newRules = await getNewRules();
const oldRules = await chrome.declarativeNetRequest.getDynamicRules();
const oldRuleIds = oldRules.map(rule => rule.id);

// Use the arrays to update the dynamic rules
await chrome.declarativeNetRequest.updateDynamicRules({
  removeRuleIds: oldRuleIds,
  addRules: newRules
});

স্ট্যাটিক রুলসেট আপডেট করুন

নিম্নলিখিত উদাহরণটি দেখায় কিভাবে রুলসেটগুলিকে সক্রিয় এবং নিষ্ক্রিয় করতে হয় যখন উপলব্ধ সংখ্যা এবং সক্রিয় স্ট্যাটিক রুলসেটের সর্বাধিক সংখ্যা বিবেচনা করে৷ আপনি এটি করবেন যখন আপনার প্রয়োজনীয় স্ট্যাটিক নিয়মের সংখ্যা অনুমোদিত সংখ্যা ছাড়িয়ে যাবে। এটি কাজ করার জন্য, আপনার কিছু নিয়ম সেট অক্ষম করে ইনস্টল করা উচিত (মেনিফেস্ট ফাইলের মধ্যে "Enabled" সেট করা false )।

async function updateStaticRules(enableRulesetIds, disableCandidateIds) {
  // Create the options structure for the call to updateEnabledRulesets()
  let options = { enableRulesetIds: enableRulesetIds }
  // Get the number of enabled static rules
  const enabledStaticCount = await chrome.declarativeNetRequest.getEnabledRulesets();
  // Compare rule counts to determine if anything needs to be disabled so that
  // new rules can be enabled
  const proposedCount = enableRulesetIds.length;
  if (enabledStaticCount + proposedCount > chrome.declarativeNetRequest.MAX_NUMBER_OF_ENABLED_STATIC_RULESETS) {
    options.disableRulesetIds = disableCandidateIds
  }
  // Update the enabled static rules
  await chrome.declarativeNetRequest.updateEnabledRulesets(options);
}

নিয়ম উদাহরণ

নিম্নলিখিত উদাহরণগুলি ব্যাখ্যা করে যে কীভাবে Chrome একটি এক্সটেনশনে নিয়মগুলিকে অগ্রাধিকার দেয়৷ সেগুলি পর্যালোচনা করার সময়, আপনি একটি পৃথক উইন্ডোতে অগ্রাধিকারের নিয়মগুলি খুলতে চাইতে পারেন৷

"অগ্রাধিকার" কী

এই উদাহরণগুলির জন্য হোস্টের অনুমতি প্রয়োজন *://*.example.com/*

একটি নির্দিষ্ট URL-এর অগ্রাধিকার নির্ধারণ করতে, (ডেভেলপার-সংজ্ঞায়িত) "priority" কী, "action" কী এবং "urlFilter" কী দেখুন। এই উদাহরণগুলি তাদের নীচে দেখানো উদাহরণের নিয়ম ফাইলের উল্লেখ করে।

https://google.com-এ নেভিগেশন
দুটি নিয়ম এই ইউআরএল কভার করে: আইডি 1 এবং 4 এর নিয়ম। আইডি 1 এর নিয়মটি প্রযোজ্য কারণ " "redirect" "block" অ্যাকশনের অগ্রাধিকার বেশি। বাকি নিয়মগুলি প্রযোজ্য নয় কারণ সেগুলি দীর্ঘ URL এর জন্য৷
https://google.com/1234-এ নেভিগেশন
দীর্ঘ ইউআরএলের কারণে, আইডি 2-এর নিয়মটি এখন আইডি 1 এবং 4-এর নিয়মগুলির সাথে মেলে৷ আইডি 2-এর নিয়মটি প্রযোজ্য কারণ "allow" -এর "block" এবং "redirect" এর চেয়ে বেশি অগ্রাধিকার রয়েছে৷
https://google.com/12345-এ নেভিগেশন
চারটি নিয়ম এই URL এর সাথে মিলে যায়। আইডি 3 এর নিয়মটি প্রযোজ্য কারণ এর বিকাশকারী-সংজ্ঞায়িত অগ্রাধিকার গ্রুপের সর্বোচ্চ।
[
  {
    "id": 1,
    "priority": 1,
    "action": { "type": "block" },
    "condition": {"urlFilter": "google.com", "resourceTypes": ["main_frame"] }
  },
  {
    "id": 2,
    "priority": 1,
    "action": { "type": "allow" },
    "condition": { "urlFilter": "google.com/123", "resourceTypes": ["main_frame"] }
  },
  {
    "id": 3,
    "priority": 2,
    "action": { "type": "block" },
    "condition": { "urlFilter": "google.com/12345", "resourceTypes": ["main_frame"] }
  },
  {
    "id": 4,
    "priority": 1,
    "action": { "type": "redirect", "redirect": { "url": "https://example.com" } },
    "condition": { "urlFilter": "google.com", "resourceTypes": ["main_frame"] }
  },
]

পুনঃনির্দেশ

নীচের উদাহরণের জন্য হোস্টের অনুমতি প্রয়োজন *://*.example.com/*

নিম্নলিখিত উদাহরণটি দেখায় কিভাবে extension.com থেকে এক্সটেনশনের মধ্যে একটি পৃষ্ঠায় একটি অনুরোধ পুনঃনির্দেশ করা যায়৷ এক্সটেনশন পাথ /a.jpg chrome-extension://EXTENSION_ID/a.jpg তে সমাধান করে, যেখানে EXTENSION_ID হল আপনার এক্সটেনশনের ID৷ এটি কাজ করার জন্য ম্যানিফেস্টকে /a.jpg একটি ওয়েব অ্যাক্সেসযোগ্য সম্পদ হিসাবে ঘোষণা করা উচিত।

{
  "id": 1,
  "priority": 1,
  "action": { "type": "redirect", "redirect": { "extensionPath": "/a.jpg" } },
  "condition": {
    "urlFilter": "https://www.example.com",
    "resourceTypes": ["main_frame"]
  }
}

উদাহরণ.com-এর একটি সাবডোমেনে পুনঃনির্দেশিত করতে নিম্নলিখিত "transform" কী ব্যবহার করে। এটি example.com থেকে যেকোনো স্কিমের সাথে অনুরোধগুলিকে আটকাতে একটি ডোমেন নাম অ্যাঙ্কর ("||") ব্যবহার করে৷ "scheme" -এ "স্কিম "transform" কী নির্দিষ্ট করে যে সাবডোমেনে পুনঃনির্দেশ সর্বদা "https" ব্যবহার করবে।

{
  "id": 1,
  "priority": 1,
  "action": {
    "type": "redirect",
    "redirect": {
      "transform": { "scheme": "https", "host": "new.example.com" }
    }
  },
  "condition": {
    "urlFilter": "||example.com",
    "resourceTypes": ["main_frame"]
  }
}

নিম্নলিখিত উদাহরণটি https://www.abc.xyz.com/path থেকে https://abc.xyz.com/path এ পুনঃনির্দেশিত করতে নিয়মিত অভিব্যক্তি ব্যবহার করে। "regexFilter" কী-তে, লক্ষ্য করুন কিভাবে পিরিয়ড এস্কেপ করা হয় এবং ক্যাপচারিং গ্রুপ "abc" বা "def" নির্বাচন করে। "regexSubstitution" কী "\1" ব্যবহার করে রেগুলার এক্সপ্রেশনের প্রথম প্রত্যাবর্তিত মিল নির্দিষ্ট করে। এই ক্ষেত্রে, "abc" পুনঃনির্দেশিত URL থেকে ক্যাপচার করা হয় এবং প্রতিস্থাপনে স্থাপন করা হয়।

{
  "id": 1,
  "priority": 1,
  "action": {
    "type": "redirect",
    "redirect": {
      "regexSubstitution": "https://\\1.xyz.com/"
    }
  },
  "condition": {
    "regexFilter": "^https://www\\.(abc|def)\\.xyz\\.com/",
    "resourceTypes": [
      "main_frame"
    ]
  }
}

হেডার

নিম্নলিখিত উদাহরণটি একটি প্রধান ফ্রেম এবং যেকোনো সাব ফ্রেম উভয় থেকে সমস্ত কুকি সরিয়ে দেয়।

{
  "id": 1,
  "priority": 1,
  "action": {
    "type": "modifyHeaders",
    "requestHeaders": [{ "header": "cookie", "operation": "remove" }]
  },
  "condition": { "resourceTypes": ["main_frame", "sub_frame"] }
}

প্রকারভেদ

DomainType

এটি বর্ণনা করে যে অনুরোধটি প্রথম বা তৃতীয় পক্ষ যে ফ্রেমে এটি উদ্ভূত হয়েছিল। অনুরোধটি যে ফ্রেমে এসেছে সেই ফ্রেমের মতো একই ডোমেন (eTLD+1) থাকলে সেটিকে প্রথম পক্ষ বলা হয়।

এনাম

"প্রথম পার্টি"
নেটওয়ার্ক অনুরোধটি ফ্রেমের প্রথম পক্ষ যেখানে এটি উদ্ভূত হয়েছে৷

"তৃতীয় পক্ষ"
নেটওয়ার্ক অনুরোধটি ফ্রেমের তৃতীয় পক্ষ যা এটির উদ্ভব হয়েছে৷

ExtensionActionOptions

Chrome 88+

বৈশিষ্ট্য

  • displayActionCountAsBadgeText

    বুলিয়ান ঐচ্ছিক

    এক্সটেনশনের ব্যাজ পাঠ্য হিসাবে একটি পৃষ্ঠার জন্য স্বয়ংক্রিয়ভাবে কর্ম গণনা প্রদর্শন করা হবে কিনা। এই পছন্দটি সেশন জুড়ে টিকে থাকে।

  • ট্যাব আপডেট

    TabActionCountUpdate ঐচ্ছিক

    Chrome 89+

    ট্যাবের অ্যাকশন গণনা কীভাবে সামঞ্জস্য করা উচিত তার বিশদ বিবরণ।

GetDisabledRuleIdsOptions

Chrome 111+

বৈশিষ্ট্য

  • নিয়ম আইডি

    স্ট্রিং

    একটি স্ট্যাটিক Ruleset সাথে সম্পর্কিত আইডি।

GetRulesFilter

Chrome 111+

বৈশিষ্ট্য

  • নিয়ম আইডি

    সংখ্যা[] ঐচ্ছিক

    যদি নির্দিষ্ট করা থাকে, শুধুমাত্র মিল আইডি সহ নিয়ম অন্তর্ভুক্ত করা হয়।

HeaderOperation

Chrome 86+

এটি একটি "modifyHeaders" নিয়মের সম্ভাব্য ক্রিয়াকলাপ বর্ণনা করে।

এনাম

"সংযোজন"
নির্দিষ্ট হেডারের জন্য একটি নতুন এন্ট্রি যোগ করে। এই অপারেশন অনুরোধ শিরোনাম জন্য সমর্থিত নয়.

"সেট"
নির্দিষ্ট শিরোনামের জন্য একটি নতুন মান সেট করে, একই নামের যেকোন বিদ্যমান শিরোনামকে সরিয়ে দেয়।

"অপসারণ"
নির্দিষ্ট শিরোনামের জন্য সমস্ত এন্ট্রি সরিয়ে দেয়।

IsRegexSupportedResult

Chrome 87+

বৈশিষ্ট্য

  • সমর্থিত

    বুলিয়ান

  • কারণ

    রেগুলার এক্সপ্রেশন কেন সমর্থিত নয় তার কারণ উল্লেখ করে। শুধুমাত্র যদি isSupported মিথ্যা হয় প্রদান করা হয়.

MatchedRule

বৈশিষ্ট্য

  • নিয়ম আইডি

    সংখ্যা

    একটি মিলে যাওয়া নিয়মের আইডি।

  • নিয়ম আইডি

    স্ট্রিং

    এই নিয়মের অন্তর্গত Ruleset এর ID। গতিশীল নিয়মের সেট থেকে উদ্ভূত একটি নিয়মের জন্য, এটি DYNAMIC_RULESET_ID এর সমান হবে।

MatchedRuleInfo

বৈশিষ্ট্য

  • ট্যাবআইডি

    সংখ্যা

    ট্যাবের ট্যাবআইডি যেখান থেকে অনুরোধটি এসেছে যদি ট্যাবটি এখনও সক্রিয় থাকে। অন্য -1.

  • টাইমস্ট্যাম্প

    সংখ্যা

    সেই নিয়মেই মিলে গেল সময়। টাইমস্ট্যাম্পগুলি সময়ের জন্য জাভাস্ক্রিপ্ট কনভেনশনের সাথে সঙ্গতিপূর্ণ হবে, অর্থাৎ যুগ থেকে মিলিসেকেন্ডের সংখ্যা।

MatchedRuleInfoDebug

বৈশিষ্ট্য

MatchedRulesFilter

বৈশিষ্ট্য

  • minTimeStamp

    সংখ্যা ঐচ্ছিক

    নির্দিষ্ট করা থাকলে, প্রদত্ত টাইমস্ট্যাম্পের পরে শুধুমাত্র নিয়মের সাথে মেলে।

  • ট্যাবআইডি

    সংখ্যা ঐচ্ছিক

    নির্দিষ্ট করা থাকলে, শুধুমাত্র প্রদত্ত ট্যাবের নিয়মের সাথে মেলে। -1 তে সেট করা থাকলে কোনো সক্রিয় ট্যাবের সাথে মিলিত নিয়ম।

ModifyHeaderInfo

Chrome 86+

বৈশিষ্ট্য

  • হেডার

    স্ট্রিং

    হেডারের নাম পরিবর্তন করতে হবে।

  • একটি হেডারে সঞ্চালিত অপারেশন।

  • মান

    স্ট্রিং ঐচ্ছিক

    হেডারের জন্য নতুন মান। append এবং set অপারেশনের জন্য নির্দিষ্ট করা আবশ্যক।

QueryKeyValue

বৈশিষ্ট্য

  • চাবি

    স্ট্রিং

  • শুধুমাত্র প্রতিস্থাপন

    বুলিয়ান ঐচ্ছিক

    Chrome 94+

    সত্য হলে, ক্যোয়ারী কীটি পরিবর্তন করা হবে শুধুমাত্র যদি এটি ইতিমধ্যে উপস্থিত থাকে। অন্যথায়, এটি অনুপস্থিত থাকলে কীটিও যোগ করা হয়। ডিফল্ট থেকে মিথ্যা.

  • মান

    স্ট্রিং

QueryTransform

বৈশিষ্ট্য

  • addOrReplaceParams

    QueryKeyValue [] ঐচ্ছিক

    ক্যোয়ারী কী-মান জোড়ার তালিকা যোগ করা বা প্রতিস্থাপন করা হবে।

  • পরামস অপসারণ করুন

    স্ট্রিং[] ঐচ্ছিক

    অপসারণ করার জন্য অনুসন্ধান কীগুলির তালিকা৷

Redirect

বৈশিষ্ট্য

  • এক্সটেনশনপথ

    স্ট্রিং ঐচ্ছিক

    এক্সটেনশন ডিরেক্টরির সাথে সম্পর্কিত পাথ। '/' দিয়ে শুরু করা উচিত।

  • regex সাবস্টিটিউশন

    স্ট্রিং ঐচ্ছিক

    নিয়মগুলির প্রতিস্থাপন প্যাটার্ন যা একটি regexFilter নির্দিষ্ট করে। url-এর মধ্যে regexFilter এর প্রথম মিল এই প্যাটার্ন দিয়ে প্রতিস্থাপিত হবে। regexSubstitution এর মধ্যে, ব্যাকস্ল্যাশ-এস্কেপড ডিজিটগুলি (\1 থেকে \9) সংশ্লিষ্ট ক্যাপচার গ্রুপগুলি সন্নিবেশ করতে ব্যবহার করা যেতে পারে। \0 সম্পূর্ণ মিলে যাওয়া পাঠ্যকে বোঝায়।

  • রূপান্তর

    সঞ্চালনের জন্য ইউআরএল রূপান্তর।

  • url

    স্ট্রিং ঐচ্ছিক

    রিডাইরেক্ট ইউআরএল। জাভাস্ক্রিপ্ট ইউআরএলে পুনঃনির্দেশ অনুমোদিত নয়।

RegexOptions

Chrome 87+

বৈশিষ্ট্য

  • কেস সংবেদনশীল

    বুলিয়ান ঐচ্ছিক

    নির্দিষ্ট করা regex কেস সংবেদনশীল কিনা। ডিফল্ট সত্য.

  • regex

    স্ট্রিং

    নিয়মিত এক্সপ্রেশন চেক করতে হবে।

  • প্রয়োজন ক্যাপচারিং

    বুলিয়ান ঐচ্ছিক

    নির্দিষ্ট করা regex ক্যাপচারিং প্রয়োজন কিনা। ক্যাপচারিং শুধুমাত্র রিডাইরেক্ট নিয়মের জন্য প্রয়োজন যা একটি regexSubstition অ্যাকশন নির্দিষ্ট করে। ডিফল্ট মিথ্যা.

RequestDetails

বৈশিষ্ট্য

  • ডকুমেন্ট আইডি

    স্ট্রিং ঐচ্ছিক

    Chrome 106+

    ফ্রেমের নথির অনন্য শনাক্তকারী, যদি এই অনুরোধটি একটি ফ্রেমের জন্য হয়।

  • নথি জীবনচক্র
    Chrome 106+

    ফ্রেমের নথির জীবনচক্র, যদি এই অনুরোধটি একটি ফ্রেমের জন্য হয়।

  • ফ্রেমআইডি

    সংখ্যা

    মান 0 নির্দেশ করে যে অনুরোধটি প্রধান ফ্রেমে ঘটে; একটি ইতিবাচক মান একটি সাবফ্রেমের ID নির্দেশ করে যেখানে অনুরোধটি ঘটে। যদি একটি (সাব-)ফ্রেমের নথি লোড করা হয় ( type হল main_frame বা sub_frame ), frameId এই ফ্রেমের আইডি নির্দেশ করে, বাইরের ফ্রেমের আইডি নয়। ফ্রেম আইডি একটি ট্যাবের মধ্যে অনন্য।

  • ফ্রেম টাইপ

    ফ্রেম টাইপ ঐচ্ছিক

    Chrome 106+

    ফ্রেমের ধরন, যদি এই অনুরোধটি একটি ফ্রেমের জন্য হয়।

  • সূচনাকারী

    স্ট্রিং ঐচ্ছিক

    মূল যেখান থেকে অনুরোধ করা হয়েছিল। এটি পুনঃনির্দেশের মাধ্যমে পরিবর্তন হয় না। যদি এটি একটি অস্বচ্ছ উৎপত্তি হয়, স্ট্রিং 'নাল' ব্যবহার করা হবে।

  • পদ্ধতি

    স্ট্রিং

    স্ট্যান্ডার্ড HTTP পদ্ধতি।

  • parentDocumentId

    স্ট্রিং ঐচ্ছিক

    Chrome 106+

    ফ্রেমের মূল নথির জন্য অনন্য শনাক্তকারী, যদি এই অনুরোধটি একটি ফ্রেমের জন্য হয় এবং একটি অভিভাবক থাকে।

  • parentFrameId

    সংখ্যা

    ফ্রেমের আইডি যা অনুরোধ পাঠানো ফ্রেমটিকে মোড়ানো। কোন প্যারেন্ট ফ্রেম বিদ্যমান না থাকলে -1 এ সেট করুন।

  • অনুরোধ আইডি

    স্ট্রিং

    অনুরোধের আইডি। একটি ব্রাউজার সেশনের মধ্যে অনুরোধ আইডি অনন্য।

  • ট্যাবআইডি

    সংখ্যা

    যে ট্যাবে অনুরোধ করা হয় তার আইডি। অনুরোধটি ট্যাবের সাথে সম্পর্কিত না হলে -1 এ সেট করুন।

  • অনুরোধের রিসোর্স প্রকার।

  • url

    স্ট্রিং

    অনুরোধের URL।

RequestMethod

Chrome 91+

এটি একটি নেটওয়ার্ক অনুরোধের HTTP অনুরোধ পদ্ধতি বর্ণনা করে।

এনাম

"সংযোগ"

"মুছে ফেলা"

"পাওয়া"

"মাথা"

"বিকল্প"

"প্যাচ"

"পোস্ট"

"করানো"

"অন্য"

ResourceType

এটি নেটওয়ার্ক অনুরোধের রিসোর্স প্রকার বর্ণনা করে।

এনাম

"প্রধান_ফ্রেম"

"সাব_ফ্রেম"

"স্টাইলশীট"

"লিপি"

"ছবি"

"ফন্ট"

"বস্তু"

"xmlhttp অনুরোধ"

"পিং"

"csp_report"

"মিডিয়া"

"ওয়েবসকেট"

"ওয়েবট্রান্সপোর্ট"

"ওয়েববান্ডেল"

"অন্য"

Rule

বৈশিষ্ট্য

  • এই নিয়ম মেলে কি ব্যবস্থা নিতে হবে।

  • অবস্থা

    যে শর্তে এই নিয়ম চালু হয়।

  • আইডি

    সংখ্যা

    একটি আইডি যা একটি নিয়মকে স্বতন্ত্রভাবে সনাক্ত করে। বাধ্যতামূলক এবং হওয়া উচিত >= 1।

  • অগ্রাধিকার

    সংখ্যা ঐচ্ছিক

    শাসনের অগ্রাধিকার। 1-এ ডিফল্ট। নির্দিষ্ট করা হলে, >= 1 হওয়া উচিত।

RuleAction

বৈশিষ্ট্য

  • পুনর্নির্দেশ

    বর্ণনা কিভাবে পুনঃনির্দেশ সঞ্চালিত করা উচিত. শুধুমাত্র পুনঃনির্দেশিত নিয়মের জন্য বৈধ।

  • অনুরোধ শিরোনাম

    ModifyHeaderInfo [] ঐচ্ছিক

    Chrome 86+

    অনুরোধের জন্য সংশোধন করার জন্য অনুরোধ শিরোনাম। RuleActionType "modifyHeaders" হলেই বৈধ।

  • প্রতিক্রিয়া শিরোনাম

    ModifyHeaderInfo [] ঐচ্ছিক

    Chrome 86+

    অনুরোধের জন্য পরিবর্তন করার জন্য প্রতিক্রিয়া শিরোনাম। RuleActionType "modifyHeaders" হলেই বৈধ।

  • কার্য সম্পাদনের ধরন।

RuleActionType

একটি প্রদত্ত নিয়ম শর্ত মিলে গেলে কি ধরনের পদক্ষেপ নিতে হবে তা বর্ণনা করে।

এনাম

"ব্লক"
নেটওয়ার্ক অনুরোধ ব্লক করুন.

"পুনঃনির্দেশ"
নেটওয়ার্ক অনুরোধ পুনর্নির্দেশ করুন.

"অনুমতি দিন"
নেটওয়ার্ক অনুরোধের অনুমতি দিন। এর সাথে মেলে এমন একটি অনুমতির নিয়ম থাকলে অনুরোধটি আটকানো হবে না।

"আপগ্রেড স্কিম"
যদি অনুরোধটি http বা ftp হয় তাহলে নেটওয়ার্ক অনুরোধ url-এর স্কিমটিকে https-এ আপগ্রেড করুন৷

"মডিফাই হেডার"
নেটওয়ার্ক অনুরোধ থেকে অনুরোধ/প্রতিক্রিয়া শিরোনাম পরিবর্তন করুন।

"Allow AllRequests"
ফ্রেমের অনুরোধ সহ একটি ফ্রেম অনুক্রমের মধ্যে সমস্ত অনুরোধের অনুমতি দিন।

RuleCondition

বৈশিষ্ট্য

  • ডোমেইন টাইপ

    ডোমেন টাইপ ঐচ্ছিক

    নেটওয়ার্ক অনুরোধটি যে ডোমেন থেকে এটি উদ্ভূত হয়েছে তার প্রথম-পক্ষ বা তৃতীয়-পক্ষ কিনা তা নির্দিষ্ট করে৷ যদি বাদ দেওয়া হয়, সব অনুরোধ গ্রহণ করা হয়.

  • ডোমেইন

    স্ট্রিং[] ঐচ্ছিক

    Chrome 101 থেকে অবরুদ্ধ

    পরিবর্তে initiatorDomains ব্যবহার করুন

    নিয়মটি শুধুমাত্র domains তালিকা থেকে উদ্ভূত নেটওয়ার্ক অনুরোধের সাথে মেলে।

  • বাদ দেওয়া ডোমেন

    স্ট্রিং[] ঐচ্ছিক

    Chrome 101 থেকে অবরুদ্ধ

    পরিবর্তে excludedInitiatorDomains ব্যবহার করুন

    নিয়মটি excludedDomains তালিকা থেকে উদ্ভূত নেটওয়ার্ক অনুরোধের সাথে মেলে না।

  • বাদ দেওয়া ইনিশিয়েটরডোমেন

    স্ট্রিং[] ঐচ্ছিক

    Chrome 101+

    নিয়মটি excludedInitiatorDomains এর তালিকা থেকে উদ্ভূত নেটওয়ার্ক অনুরোধের সাথে মেলে না। তালিকা খালি বা বাদ দেওয়া হলে, কোনো ডোমেইন বাদ দেওয়া হয় না। এটি initiatorDomains এর চেয়ে অগ্রাধিকার নেয়।

    মন্তব্য:

    • "a.example.com" এর মতো সাব-ডোমেনগুলিও অনুমোদিত৷
    • এন্ট্রিতে শুধুমাত্র ascii অক্ষর থাকতে হবে।
    • আন্তর্জাতিকীকৃত ডোমেনের জন্য punycode এনকোডিং ব্যবহার করুন।
    • এটি অনুরোধের সূচনাকারীর সাথে মেলে এবং অনুরোধ url এর সাথে নয়৷
    • তালিকাভুক্ত ডোমেনগুলির সাব-ডোমেনগুলিও বাদ দেওয়া হয়েছে।
  • excludedRequestDomains

    স্ট্রিং[] ঐচ্ছিক

    Chrome 101+

    নিয়মটি নেটওয়ার্ক অনুরোধের সাথে মিলবে না যখন ডোমেনগুলি excludedRequestDomains এর তালিকা থেকে একটির সাথে মেলে। তালিকা খালি বা বাদ দেওয়া হলে, কোনো ডোমেইন বাদ দেওয়া হয় না। এটি requestDomains চেয়ে অগ্রাধিকার নেয়।

    মন্তব্য:

    • "a.example.com" এর মতো সাব-ডোমেনগুলিও অনুমোদিত৷
    • এন্ট্রিতে শুধুমাত্র ascii অক্ষর থাকতে হবে।
    • আন্তর্জাতিকীকৃত ডোমেনের জন্য punycode এনকোডিং ব্যবহার করুন।
    • তালিকাভুক্ত ডোমেনগুলির সাব-ডোমেনগুলিও বাদ দেওয়া হয়েছে।
  • excludedRequest Methods
    Chrome 91+

    অনুরোধ পদ্ধতির তালিকা যা নিয়ম মেলে না। requestMethods এবং excludedRequestMethods মধ্যে শুধুমাত্র একটি নির্দিষ্ট করা উচিত। যদি তাদের কোনোটিই নির্দিষ্ট করা না থাকে, তাহলে সমস্ত অনুরোধের পদ্ধতি মেলে।

  • excludedResource Types

    রিসোর্স টাইপ [] ঐচ্ছিক

    রিসোর্সের প্রকারের তালিকা যা নিয়ম মেলে না। resourceTypes এবং excludedResourceTypes মধ্যে শুধুমাত্র একটি নির্দিষ্ট করা উচিত। যদি তাদের কোনোটিই নির্দিষ্ট করা না থাকে, তাহলে "main_frame" ছাড়া সব ধরনের রিসোর্স ব্লক করা হয়।

  • বাদ দেওয়া ট্যাবআইডি

    সংখ্যা[] ঐচ্ছিক

    Chrome 92+

    tabs.Tab.id এর তালিকা যা নিয়ম মেলে না। ট্যাবগুলির একটি আইডি৷ tabs.TAB_ID_NONE এমন অনুরোধগুলিকে বাদ দেয় যা কোনও ট্যাব থেকে আসে না৷ শুধুমাত্র সেশন-স্কোপড নিয়মের জন্য সমর্থিত।

  • ইনিশিয়েটর ডোমেন

    স্ট্রিং[] ঐচ্ছিক

    Chrome 101+

    নিয়মটি শুধুমাত্র initiatorDomains এর তালিকা থেকে উদ্ভূত নেটওয়ার্ক অনুরোধের সাথে মেলে। যদি তালিকাটি বাদ দেওয়া হয়, তবে নিয়মটি সমস্ত ডোমেনের অনুরোধে প্রয়োগ করা হয়। একটি খালি তালিকা অনুমোদিত নয়.

    মন্তব্য:

    • "a.example.com" এর মতো সাব-ডোমেনগুলিও অনুমোদিত৷
    • এন্ট্রিতে শুধুমাত্র ascii অক্ষর থাকতে হবে।
    • আন্তর্জাতিকীকৃত ডোমেনের জন্য punycode এনকোডিং ব্যবহার করুন।
    • এটি অনুরোধের সূচনাকারীর সাথে মেলে এবং অনুরোধ url এর সাথে নয়৷
    • তালিকাভুক্ত ডোমেইনগুলির সাব-ডোমেনগুলিও মিলেছে।
  • isUrlFilterCaseSensitive

    বুলিয়ান ঐচ্ছিক

    urlFilter বা regexFilter (যেটি নির্দিষ্ট করা আছে) কেস সংবেদনশীল কিনা। ডিফল্ট মিথ্যা.

  • regexFilter

    স্ট্রিং ঐচ্ছিক

    নেটওয়ার্ক অনুরোধ url-এর সাথে মেলে রেগুলার এক্সপ্রেশন। এটি RE2 সিনট্যাক্স অনুসরণ করে।

    দ্রষ্টব্য: শুধুমাত্র একটি urlFilter বা regexFilter নির্দিষ্ট করা যেতে পারে।

    দ্রষ্টব্য: regexFilter শুধুমাত্র ASCII অক্ষর দিয়ে গঠিত হতে হবে। এটি একটি url-এর সাথে মিলে যায় যেখানে হোস্টটি punycode বিন্যাসে এনকোড করা হয় (আন্তর্জাতিক ডোমেনের ক্ষেত্রে) এবং অন্য কোনো অ-ascii অক্ষর utf-8 এ url এনকোড করা হয়।

  • অনুরোধ ডোমেন

    স্ট্রিং[] ঐচ্ছিক

    Chrome 101+

    নিয়মটি তখনই নেটওয়ার্ক অনুরোধের সাথে মেলে যখন ডোমেন requestDomains তালিকা থেকে একটির সাথে মেলে। যদি তালিকাটি বাদ দেওয়া হয়, তবে নিয়মটি সমস্ত ডোমেনের অনুরোধে প্রয়োগ করা হয়। একটি খালি তালিকা অনুমোদিত নয়.

    মন্তব্য:

    • "a.example.com" এর মতো সাব-ডোমেনগুলিও অনুমোদিত৷
    • এন্ট্রিতে শুধুমাত্র ascii অক্ষর থাকতে হবে।
    • আন্তর্জাতিকীকৃত ডোমেনের জন্য punycode এনকোডিং ব্যবহার করুন।
    • তালিকাভুক্ত ডোমেইনগুলির সাব-ডোমেনগুলিও মিলেছে।
  • অনুরোধ পদ্ধতি
    Chrome 91+

    HTTP অনুরোধ পদ্ধতির তালিকা যা নিয়ম মেলে। একটি খালি তালিকা অনুমোদিত নয়.

    দ্রষ্টব্য: requestMethods নিয়মের শর্ত উল্লেখ করলে নন-HTTP(গুলি) অনুরোধগুলিও বাদ যাবে, যেখানে excludedRequestMethods নির্দিষ্ট করা হবে না।

  • সম্পদের প্রকার

    রিসোর্স টাইপ [] ঐচ্ছিক

    রিসোর্স প্রকারের তালিকা যা নিয়ম মেলে। একটি খালি তালিকা অনুমোদিত নয়.

    দ্রষ্টব্য: এটি অবশ্যই allowAllRequests নিয়মগুলির জন্য নির্দিষ্ট করতে হবে এবং শুধুমাত্র sub_frame এবং main_frame রিসোর্স প্রকারগুলি অন্তর্ভুক্ত করতে পারে৷

  • ট্যাবআইডি

    সংখ্যা[] ঐচ্ছিক

    Chrome 92+

    tabs.Tab.id এর তালিকা যা নিয়মটি মেলে। ট্যাবগুলির একটি আইডি৷ tabs.TAB_ID_NONE অনুরোধের সাথে মেলে যা একটি ট্যাব থেকে আসে না৷ একটি খালি তালিকা অনুমোদিত নয়. শুধুমাত্র সেশন-স্কোপড নিয়মের জন্য সমর্থিত।

  • url ফিল্টার

    স্ট্রিং ঐচ্ছিক

    নেটওয়ার্ক অনুরোধ url এর সাথে মিলে যাওয়া প্যাটার্ন। সমর্থিত নির্মাণ:

    '*' : ওয়াইল্ডকার্ড: যেকোনো অক্ষরের সাথে মিলে যায়।

    '|' : বাম/ডান অ্যাঙ্কর: প্যাটার্নের উভয় প্রান্তে ব্যবহার করা হলে, যথাক্রমে url-এর শুরু/শেষ নির্দিষ্ট করে।

    '||' : ডোমেন নাম অ্যাঙ্কর: প্যাটার্নের শুরুতে ব্যবহার করা হলে, URL-এর একটি (সাব-) ডোমেনের শুরু নির্দিষ্ট করে।

    '^' : বিভাজক অক্ষর: এটি একটি অক্ষর, একটি অঙ্ক বা নিম্নলিখিতগুলির একটি ছাড়া অন্য যেকোনো কিছুর সাথে মেলে: _ , - , . , বা % । এটিও ইউআরএলের শেষের সাথে মিলে যায়।

    তাই urlFilter নিম্নলিখিত অংশগুলি নিয়ে গঠিত: (ঐচ্ছিক বাম/ডোমেন নাম অ্যাঙ্কর) + প্যাটার্ন + (ঐচ্ছিক ডান অ্যাঙ্কর)।

    যদি বাদ দেওয়া হয়, সব ইউআরএল মিলে যায়। একটি খালি স্ট্রিং অনুমোদিত নয়৷

    ||* দিয়ে শুরু হওয়া একটি প্যাটার্ন অনুমোদিত নয়৷ পরিবর্তে * ব্যবহার করুন।

    দ্রষ্টব্য: শুধুমাত্র একটি urlFilter বা regexFilter নির্দিষ্ট করা যেতে পারে।

    দ্রষ্টব্য: urlFilter শুধুমাত্র ASCII অক্ষর দিয়ে গঠিত হতে হবে। এটি একটি url-এর সাথে মিলে যায় যেখানে হোস্টটি punycode বিন্যাসে এনকোড করা হয় (আন্তর্জাতিক ডোমেনের ক্ষেত্রে) এবং অন্য কোনো অ-ascii অক্ষর utf-8 এ url এনকোড করা হয়। উদাহরণস্বরূপ, যখন অনুরোধের url হয় http://abc.рф?q=ф, তখন urlFilter url http://abc.xn--p1ai/?q=%D1%84 এর সাথে মিলিত হবে৷

Ruleset

বৈশিষ্ট্য

  • সক্রিয়

    বুলিয়ান

    রুলসেট ডিফল্টরূপে সক্রিয় করা আছে কিনা।

  • আইডি

    স্ট্রিং

    একটি অ-খালি স্ট্রিং অনন্যভাবে নিয়ম সেট সনাক্ত করে। '_' দিয়ে শুরু হওয়া আইডিগুলি অভ্যন্তরীণ ব্যবহারের জন্য সংরক্ষিত।

  • পথ

    স্ট্রিং

    JSON রুলসেটের পাথ এক্সটেনশন ডিরেক্টরির সাথে সম্পর্কিত।

RulesMatchedDetails

বৈশিষ্ট্য

  • নিয়ম মিলে যাওয়া তথ্য

    প্রদত্ত ফিল্টার মেলে নিয়ম.

TabActionCountUpdate

Chrome 89+

বৈশিষ্ট্য

  • বৃদ্ধি

    সংখ্যা

    ট্যাবের অ্যাকশন কাউন্ট বাড়ানোর পরিমাণ। নেতিবাচক মান গণনা হ্রাস করবে।

  • ট্যাবআইডি

    সংখ্যা

    যে ট্যাবটির জন্য অ্যাকশন কাউন্ট আপডেট করতে হবে।

TestMatchOutcomeResult

Chrome 103+

বৈশিষ্ট্য

  • মিলে যাওয়া নিয়ম

    অনুমানমূলক অনুরোধের সাথে মেলে এমন নিয়ম (যদি থাকে)।

TestMatchRequestDetails

Chrome 103+

বৈশিষ্ট্য

  • সূচনাকারী

    স্ট্রিং ঐচ্ছিক

    অনুমানমূলক অনুরোধের জন্য ইনিশিয়েটর URL (যদি থাকে)।

  • পদ্ধতি

    অনুমানমূলক অনুরোধের স্ট্যান্ডার্ড HTTP পদ্ধতি। HTTP অনুরোধের জন্য ডিফল্ট "পাওয়া" এবং নন-HTTP অনুরোধের জন্য উপেক্ষা করা হয়।

  • ট্যাবআইডি

    সংখ্যা ঐচ্ছিক

    ট্যাবের আইডি যেখানে অনুমানমূলক অনুরোধটি ঘটে। একটি বাস্তব ট্যাব আইডির সাথে মিলিত হওয়ার প্রয়োজন নেই। ডিফল্ট হল -1, যার অর্থ অনুরোধটি একটি ট্যাবের সাথে সম্পর্কিত নয়।

  • অনুমানমূলক অনুরোধের রিসোর্স প্রকার।

  • url

    স্ট্রিং

    অনুমানমূলক অনুরোধের URL।

UnsupportedRegexReason

Chrome 87+

একটি প্রদত্ত রেগুলার এক্সপ্রেশন কেন সমর্থিত নয় তার কারণ বর্ণনা করে।

এনাম

"বাক্যগঠন ত্রুটি"
রেগুলার এক্সপ্রেশনটি সিনট্যাক্টিকভাবে ভুল, বা RE2 সিনট্যাক্সে উপলব্ধ নয় এমন বৈশিষ্ট্য ব্যবহার করে।

"স্মৃতির সীমা ছাড়িয়ে গেছে"
রেগুলার এক্সপ্রেশন মেমরির সীমা ছাড়িয়ে গেছে।

UpdateRuleOptions

Chrome 87+

বৈশিষ্ট্য

  • নিয়ম যোগ করুন

    নিয়ম [] ঐচ্ছিক

    যোগ করার নিয়ম।

  • RuleIds রিমুভ করুন

    সংখ্যা[] ঐচ্ছিক

    আইডি মুছে ফেলার নিয়ম। কোন অবৈধ আইডি উপেক্ষা করা হবে.

UpdateRulesetOptions

Chrome 87+

বৈশিষ্ট্য

  • রুলসেটআইডি অক্ষম করুন

    স্ট্রিং[] ঐচ্ছিক

    একটি স্ট্যাটিক Ruleset সাথে সম্পর্কিত আইডির সেট যা নিষ্ক্রিয় করা উচিত।

  • RulesetIds সক্রিয় করুন

    স্ট্রিং[] ঐচ্ছিক

    একটি স্ট্যাটিক Ruleset সাথে সম্পর্কিত আইডিগুলির সেট যা সক্ষম করা উচিত৷

UpdateStaticRulesOptions

Chrome 111+

বৈশিষ্ট্য

  • নিষ্ক্রিয় RuleIds

    সংখ্যা[] ঐচ্ছিক

    নিষ্ক্রিয় করার জন্য Ruleset এর নিয়মের সাথে সঙ্গতিপূর্ণ আইডির সেট।

  • EnableRuleIds

    সংখ্যা[] ঐচ্ছিক

    সক্রিয় করার জন্য Ruleset এর নিয়মের সাথে সঙ্গতিপূর্ণ আইডির সেট।

  • নিয়ম আইডি

    স্ট্রিং

    একটি স্ট্যাটিক Ruleset সাথে সম্পর্কিত আইডি।

URLTransform

বৈশিষ্ট্য

  • টুকরা

    স্ট্রিং ঐচ্ছিক

    অনুরোধের জন্য নতুন টুকরা. হয় খালি হওয়া উচিত, যে ক্ষেত্রে বিদ্যমান খণ্ডটি সাফ করা হয়; অথবা '#' দিয়ে শুরু করা উচিত।

  • হোস্ট

    স্ট্রিং ঐচ্ছিক

    অনুরোধের জন্য নতুন হোস্ট.

  • পাসওয়ার্ড

    স্ট্রিং ঐচ্ছিক

    অনুরোধের জন্য নতুন পাসওয়ার্ড।

  • পথ

    স্ট্রিং ঐচ্ছিক

    অনুরোধের জন্য নতুন পথ। খালি থাকলে, বিদ্যমান পথ সাফ করা হয়।

  • বন্দর

    স্ট্রিং ঐচ্ছিক

    অনুরোধের জন্য নতুন পোর্ট। খালি থাকলে, বিদ্যমান পোর্টটি সাফ করা হয়।

  • প্রশ্ন

    স্ট্রিং ঐচ্ছিক

    অনুরোধের জন্য নতুন ক্যোয়ারী. হয় খালি হওয়া উচিত, যে ক্ষেত্রে বিদ্যমান প্রশ্নটি সাফ করা হয়; অথবা '?' দিয়ে শুরু করা উচিত।

  • queryTransform

    QueryTransform ঐচ্ছিক

    কোয়েরি কী-মান জোড়া যোগ করুন, সরান বা প্রতিস্থাপন করুন।

  • পরিকল্পনা

    স্ট্রিং ঐচ্ছিক

    অনুরোধের জন্য নতুন স্কিম। অনুমোদিত মান হল "http", "https", "ftp" এবং "chrome-extension"।

  • ব্যবহারকারীর নাম

    স্ট্রিং ঐচ্ছিক

    অনুরোধের জন্য নতুন ব্যবহারকারীর নাম।

বৈশিষ্ট্য

DYNAMIC_RULESET_ID

এক্সটেনশন দ্বারা যুক্ত গতিশীল নিয়মের জন্য Ruleset ID।

মান

"_গতিশীল"

GETMATCHEDRULES_QUOTA_INTERVAL

সময়ের ব্যবধান যার মধ্যে MAX_GETMATCHEDRULES_CALLS_PER_INTERVAL getMatchedRules কল করা যেতে পারে, মিনিটে নির্দিষ্ট করা হয়েছে৷ অতিরিক্ত কল অবিলম্বে ব্যর্থ হবে এবং runtime.lastError সেট করবে। দ্রষ্টব্য: ব্যবহারকারীর অঙ্গভঙ্গির সাথে যুক্ত getMatchedRules কলগুলি কোটা থেকে মুক্ত।

মান

10

GUARANTEED_MINIMUM_STATIC_RULES

Chrome 89+

ন্যূনতম সংখ্যক স্ট্যাটিক নিয়মগুলি এর সক্রিয় স্ট্যাটিক নিয়মসেট জুড়ে একটি এক্সটেনশনের গ্যারান্টিযুক্ত৷ এই সীমার উপরে যে কোনো নিয়ম বিশ্বব্যাপী স্ট্যাটিক নিয়ম সীমার জন্য গণনা করা হবে।

মান

30000

MAX_GETMATCHEDRULES_CALLS_PER_INTERVAL

GETMATCHEDRULES_QUOTA_INTERVAL সময়ের মধ্যে যতবার getMatchedRules কল করা যেতে পারে।

মান

20

MAX_NUMBER_OF_DYNAMIC_RULES

একটি এক্সটেনশন যোগ করতে পারে এমন গতিশীল নিয়মের সর্বাধিক সংখ্যা৷

মান

30000

MAX_NUMBER_OF_ENABLED_STATIC_RULESETS

Chrome 94+

একটি এক্সটেনশন যেকোন সময়ে সক্রিয় করতে পারে এমন সর্বোচ্চ সংখ্যক স্ট্যাটিক Rulesets

মান

50

MAX_NUMBER_OF_REGEX_RULES

একটি এক্সটেনশন যোগ করতে পারে এমন সর্বাধিক সংখ্যক রেগুলার এক্সপ্রেশন নিয়ম। এই সীমাটি গতিশীল নিয়মের সেটের জন্য আলাদাভাবে মূল্যায়ন করা হয় এবং নিয়ম সংস্থান ফাইলে নির্দিষ্ট করা হয়।

মান

1000

MAX_NUMBER_OF_SESSION_RULES

Chrome 120+

একটি এক্সটেনশন যোগ করতে পারে এমন সর্বোচ্চ সংখ্যক সেশন স্কোপড নিয়ম।

মান

5000

MAX_NUMBER_OF_STATIC_RULESETS

একটি এক্সটেনশন "rule_resources" ম্যানিফেস্ট কী-এর অংশ হিসেবে সর্বাধিক সংখ্যক স্ট্যাটিক Rulesets সেট করতে পারে৷

মান

100

MAX_NUMBER_OF_UNSAFE_DYNAMIC_RULES

Chrome 120+

একটি এক্সটেনশন যোগ করতে পারে এমন সর্বাধিক "অনিরাপদ" গতিশীল নিয়ম।

মান

5000

MAX_NUMBER_OF_UNSAFE_SESSION_RULES

Chrome 120+

একটি এক্সটেনশন যোগ করতে পারে এমন সর্বাধিক "অনিরাপদ" সেশন স্কোপড নিয়ম।

মান

5000

SESSION_RULESET_ID

Chrome 90+

এক্সটেনশন দ্বারা যোগ করা সেশন-স্কোপড নিয়মগুলির জন্য Ruleset ID।

মান

"_সেশন"

পদ্ধতি

getAvailableStaticRuleCount()

প্রতিশ্রুতি Chrome 89+
chrome.declarativeNetRequest.getAvailableStaticRuleCount(
  callback?: function,
)

বিশ্বব্যাপী স্ট্যাটিক নিয়ম সীমা পৌঁছানোর আগে একটি এক্সটেনশন সক্ষম করতে পারে এমন স্ট্যাটিক নিয়মের সংখ্যা প্রদান করে।

পরামিতি

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি এর মত দেখাচ্ছে:

    (count: number)=>void

    • গণনা

      সংখ্যা

রিটার্নস

  • প্রতিশ্রুতি <সংখ্যা>

    Chrome 91+

    প্রতিশ্রুতিগুলি ম্যানিফেস্ট V3 এবং পরবর্তীতে সমর্থিত, তবে পশ্চাদগামী সামঞ্জস্যের জন্য কলব্যাক প্রদান করা হয়। আপনি একই ফাংশন কলে উভয় ব্যবহার করতে পারবেন না। প্রতিশ্রুতিটি একই ধরণের সাথে সমাধান করে যা কলব্যাকে পাস করা হয়।

getDisabledRuleIds()

প্রতিশ্রুতি Chrome 111+
chrome.declarativeNetRequest.getDisabledRuleIds(
  options: GetDisabledRuleIdsOptions,
  callback?: function,
)

প্রদত্ত Ruleset স্থির নিয়মের তালিকা দেখায় যা বর্তমানে নিষ্ক্রিয় করা আছে।

পরামিতি

  • বিকল্প

    ক্যোয়ারী করার নিয়ম সেট নির্দিষ্ট করে।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি এর মত দেখাচ্ছে:

    (disabledRuleIds: number[])=>void

    • disabledRuleIds

      সংখ্যা[]

রিটার্নস

  • প্রতিশ্রুতি<নম্বর[]>

    প্রতিশ্রুতিগুলি ম্যানিফেস্ট V3 এবং পরবর্তীতে সমর্থিত, তবে পশ্চাদগামী সামঞ্জস্যের জন্য কলব্যাক প্রদান করা হয়। আপনি একই ফাংশন কলে উভয় ব্যবহার করতে পারবেন না। প্রতিশ্রুতিটি একই ধরণের সাথে সমাধান করে যা কলব্যাকের কাছে চলে যায়।

getDynamicRules()

প্রতিশ্রুতি
chrome.declarativeNetRequest.getDynamicRules(
  filter?: GetRulesFilter,
  callback?: function,
)

এক্সটেনশনের জন্য গতিশীল নিয়মের বর্তমান সেটটি ফিরিয়ে দেয়। কলাররা একটি filter নির্দিষ্ট করে আন্ডার বিধিগুলির তালিকাটি play চ্ছিকভাবে ফিল্টার করতে পারে।

পরামিতি

  • ছাঁকনি

    Getrulesfilter al চ্ছিক

    Chrome 111+

    আনার নিয়মের তালিকা ফিল্টার করার জন্য একটি অবজেক্ট।

  • কলব্যাক

    ফাংশন al চ্ছিক

    callback প্যারামিটারটি দেখে মনে হচ্ছে:

    (rules: Rule[])=>void

রিটার্নস

  • প্রতিশ্রুতি < বিধি []>

    Chrome 91+

    প্রতিশ্রুতিগুলি ম্যানিফেস্ট ভি 3 এবং পরে সমর্থিত, তবে কলব্যাকগুলি পশ্চাদপদ সামঞ্জস্যের জন্য সরবরাহ করা হয়। আপনি একই ফাংশন কল উভয় ব্যবহার করতে পারবেন না। প্রতিশ্রুতিটি একই ধরণের সাথে সমাধান করে যা কলব্যাকের কাছে চলে যায়।

getEnabledRulesets()

প্রতিশ্রুতি
chrome.declarativeNetRequest.getEnabledRulesets(
  callback?: function,
)

সক্ষম স্ট্যাটিক রুলসেটের বর্তমান সেটের জন্য আইডিএস প্রদান করে।

পরামিতি

  • কলব্যাক

    ফাংশন al চ্ছিক

    callback প্যারামিটারটি দেখতে দেখতে:

    (rulesetIds: string[])=>void

    • রুলসেসিডস

      স্ট্রিং[]

রিটার্নস

  • প্রতিশ্রুতি <স্ট্রিং []>

    Chrome 91+

    প্রতিশ্রুতিগুলি ম্যানিফেস্ট ভি 3 এবং পরে সমর্থিত, তবে কলব্যাকগুলি পশ্চাদপদ সামঞ্জস্যের জন্য সরবরাহ করা হয়। আপনি একই ফাংশন কল উভয় ব্যবহার করতে পারবেন না। প্রতিশ্রুতিটি একই ধরণের সাথে সমাধান করে যা কলব্যাকের কাছে চলে যায়।

getMatchedRules()

প্রতিশ্রুতি
chrome.declarativeNetRequest.getMatchedRules(
  filter?: MatchedRulesFilter,
  callback?: function,
)

এক্সটেনশনের জন্য মিলে সমস্ত নিয়ম ফেরত দেয়। কলাররা একটি filter নির্দিষ্ট করে option চ্ছিকভাবে ম্যাচ করা নিয়মের তালিকা ফিল্টার করতে পারে। এই পদ্ধতিটি কেবলমাত্র "declarativeNetRequestFeedback" অনুমতি বা filter নির্দিষ্ট tabId জন্য "activeTab" অনুমতি প্রদানের সাথে এক্সটেনশনের জন্য উপলব্ধ। দ্রষ্টব্য: পাঁচ মিনিটেরও বেশি আগে মেলে এমন কোনও সক্রিয় নথির সাথে সম্পর্কিত নয় এমন নিয়মগুলি ফেরত দেওয়া হবে না।

পরামিতি

রিটার্নস

  • প্রতিশ্রুতি < বিধি

    Chrome 91+

    প্রতিশ্রুতিগুলি ম্যানিফেস্ট ভি 3 এবং পরে সমর্থিত, তবে কলব্যাকগুলি পশ্চাদপদ সামঞ্জস্যের জন্য সরবরাহ করা হয়। আপনি একই ফাংশন কল উভয় ব্যবহার করতে পারবেন না। প্রতিশ্রুতিটি একই ধরণের সাথে সমাধান করে যা কলব্যাকের কাছে চলে যায়।

getSessionRules()

প্রতিশ্রুতি ক্রোম 90+
chrome.declarativeNetRequest.getSessionRules(
  filter?: GetRulesFilter,
  callback?: function,
)

সম্প্রসারণের জন্য সেশন স্কোপড নিয়মের বর্তমান সেটটি ফেরত দেয়। কলাররা একটি filter নির্দিষ্ট করে আন্ডার বিধিগুলির তালিকাটি play চ্ছিকভাবে ফিল্টার করতে পারে।

পরামিতি

  • ছাঁকনি

    Getrulesfilter al চ্ছিক

    Chrome 111+

    আনার নিয়মের তালিকা ফিল্টার করার জন্য একটি অবজেক্ট।

  • কলব্যাক

    ফাংশন al চ্ছিক

    callback প্যারামিটারটি দেখতে দেখতে:

    (rules: Rule[])=>void

রিটার্নস

  • প্রতিশ্রুতি < বিধি []>

    Chrome 91+

    প্রতিশ্রুতিগুলি ম্যানিফেস্ট ভি 3 এবং পরে সমর্থিত, তবে কলব্যাকগুলি পশ্চাদপদ সামঞ্জস্যের জন্য সরবরাহ করা হয়। আপনি একই ফাংশন কল উভয় ব্যবহার করতে পারবেন না। প্রতিশ্রুতিটি একই ধরণের সাথে সমাধান করে যা কলব্যাকের কাছে চলে যায়।

isRegexSupported()

প্রতিশ্রুতি ক্রোম 87+
chrome.declarativeNetRequest.isRegexSupported(
  regexOptions: RegexOptions,
  callback?: function,
)

প্রদত্ত নিয়মিত অভিব্যক্তিটি regexFilter নিয়ম শর্ত হিসাবে সমর্থিত হবে কিনা তা পরীক্ষা করে।

পরামিতি

  • Regexoptions

    চেক করার জন্য নিয়মিত অভিব্যক্তি।

  • কলব্যাক

    ফাংশন al চ্ছিক

    callback প্যারামিটারটি দেখতে কেমন:

    (result: IsRegexSupportedResult)=>void

রিটার্নস

  • প্রতিশ্রুতি <isregexsupportedresult>

    Chrome 91+

    প্রতিশ্রুতিগুলি ম্যানিফেস্ট ভি 3 এবং পরে সমর্থিত, তবে কলব্যাকগুলি পশ্চাদপদ সামঞ্জস্যের জন্য সরবরাহ করা হয়। আপনি একই ফাংশন কল উভয় ব্যবহার করতে পারবেন না। প্রতিশ্রুতিটি একই ধরণের সাথে সমাধান করে যা কলব্যাকের কাছে চলে যায়।

setExtensionActionOptions()

প্রতিশ্রুতি ক্রোম 88+
chrome.declarativeNetRequest.setExtensionActionOptions(
  options: ExtensionActionOptions,
  callback?: function,
)

কনফিগারগুলি যদি ট্যাবগুলির জন্য অ্যাকশন গণনাটি এক্সটেনশন অ্যাকশন ব্যাজ পাঠ্য হিসাবে প্রদর্শিত হয় এবং সেই ক্রিয়া গণনা বাড়ানোর জন্য একটি উপায় সরবরাহ করে।

পরামিতি

রিটার্নস

  • প্রতিশ্রুতি <শূন্য>

    Chrome 91+

    প্রতিশ্রুতিগুলি ম্যানিফেস্ট ভি 3 এবং পরে সমর্থিত, তবে কলব্যাকগুলি পশ্চাদপদ সামঞ্জস্যের জন্য সরবরাহ করা হয়। আপনি একই ফাংশন কল উভয় ব্যবহার করতে পারবেন না। প্রতিশ্রুতিটি একই ধরণের সাথে সমাধান করে যা কলব্যাকের কাছে চলে যায়।

testMatchOutcome()

প্রতিশ্রুতি ক্রোম 103+
chrome.declarativeNetRequest.testMatchOutcome(
  request: TestMatchRequestDetails,
  callback?: function,
)

এক্সটেনশনের ঘোষণাপত্রটিভেনট্রেকুয়েস্ট বিধিগুলির কোনওটি অনুমানমূলক অনুরোধের সাথে মেলে কিনা তা পরীক্ষা করে। দ্রষ্টব্য: কেবল আনপ্যাকড এক্সটেনশনের জন্য উপলব্ধ কারণ এটি কেবলমাত্র এক্সটেনশন বিকাশের সময় ব্যবহার করার উদ্দেশ্যে।

পরামিতি

রিটার্নস

  • প্রতিশ্রুতিগুলি ম্যানিফেস্ট ভি 3 এবং পরে সমর্থিত, তবে কলব্যাকগুলি পশ্চাদপদ সামঞ্জস্যের জন্য সরবরাহ করা হয়। আপনি একই ফাংশন কল উভয় ব্যবহার করতে পারবেন না। প্রতিশ্রুতিটি একই ধরণের সাথে সমাধান করে যা কলব্যাকের কাছে চলে যায়।

updateDynamicRules()

প্রতিশ্রুতি
chrome.declarativeNetRequest.updateDynamicRules(
  options: UpdateRuleOptions,
  callback?: function,
)

এক্সটেনশনের জন্য গতিশীল নিয়মের বর্তমান সেটটি সংশোধন করে। options.removeRuleIds তালিকাভুক্ত আইডিএস সহ নিয়মগুলি প্রথমে সরানো হয়, এবং তারপরে options.addRules দেওয়া বিধিগুলি add অ্যাডড্রুলগুলি যুক্ত করা হয়। মন্তব্য:

  • এই আপডেটটি একক পারমাণবিক অপারেশন হিসাবে ঘটে: হয় সমস্ত নির্দিষ্ট বিধি যুক্ত এবং সরানো হয়, বা একটি ত্রুটি ফিরে আসে।
  • এই নিয়মগুলি ব্রাউজার সেশনগুলিতে এবং এক্সটেনশন আপডেটগুলি জুড়ে অবিরত রয়েছে।
  • এক্সটেনশন প্যাকেজের অংশ হিসাবে নির্দিষ্ট স্ট্যাটিক বিধিগুলি এই ফাংশনটি ব্যবহার করে অপসারণ করা যায় না।
  • MAX_NUMBER_OF_DYNAMIC_AND_SESSION_RULES হ'ল সর্বাধিক সংখ্যক সম্মিলিত গতিশীল এবং সেশন বিধিগুলির একটি এক্সটেনশন যুক্ত করতে পারে।

পরামিতি

  • ক্রোম 87+
  • কলব্যাক

    ফাংশন al চ্ছিক

    callback প্যারামিটারটি দেখতে দেখতে:

    ()=>void

রিটার্নস

  • প্রতিশ্রুতি <শূন্য>

    Chrome 91+

    প্রতিশ্রুতিগুলি ম্যানিফেস্ট ভি 3 এবং পরে সমর্থিত, তবে কলব্যাকগুলি পশ্চাদপদ সামঞ্জস্যের জন্য সরবরাহ করা হয়। আপনি একই ফাংশন কল উভয় ব্যবহার করতে পারবেন না। প্রতিশ্রুতিটি একই ধরণের সাথে সমাধান করে যা কলব্যাকের কাছে চলে যায়।

updateEnabledRulesets()

প্রতিশ্রুতি
chrome.declarativeNetRequest.updateEnabledRulesets(
  options: UpdateRulesetOptions,
  callback?: function,
)

এক্সটেনশনের জন্য সক্ষম স্ট্যাটিক রুলসেটের সেট আপডেট করে। options.disableRulesetIds তালিকাভুক্ত আইডিএস সহ রুলসেটগুলি Disisablerulesetids প্রথমে সরানো হয়, এবং তারপরে options.enableRulesetIds তালিকাভুক্ত রুলসেটগুলি en নোট করুন যে সক্ষম স্ট্যাটিক রুলসেটগুলির সেটটি সেশনগুলি জুড়ে অব্যাহত রয়েছে তবে এক্সটেনশন আপডেটগুলি জুড়ে নয়, অর্থাত্ rule_resources ম্যানিফেস্ট কী প্রতিটি এক্সটেনশন আপডেটে সক্ষম স্ট্যাটিক রুলসেটের সেট নির্ধারণ করবে।

পরামিতি

রিটার্নস

  • প্রতিশ্রুতি <শূন্য>

    Chrome 91+

    প্রতিশ্রুতিগুলি ম্যানিফেস্ট ভি 3 এবং পরে সমর্থিত, তবে কলব্যাকগুলি পশ্চাদপদ সামঞ্জস্যের জন্য সরবরাহ করা হয়। আপনি একই ফাংশন কল উভয় ব্যবহার করতে পারবেন না। প্রতিশ্রুতিটি একই ধরণের সাথে সমাধান করে যা কলব্যাকের কাছে চলে যায়।

updateSessionRules()

প্রতিশ্রুতি ক্রোম 90+
chrome.declarativeNetRequest.updateSessionRules(
  options: UpdateRuleOptions,
  callback?: function,
)

সম্প্রসারণের জন্য সেশন স্কোপড বিধিগুলির বর্তমান সেটটি সংশোধন করে। options.removeRuleIds তালিকাভুক্ত আইডিএস সহ নিয়মগুলি প্রথমে সরানো হয়, এবং তারপরে options.addRules দেওয়া বিধিগুলি add অ্যাডড্রুলগুলি যুক্ত করা হয়। মন্তব্য:

  • এই আপডেটটি একক পারমাণবিক অপারেশন হিসাবে ঘটে: হয় সমস্ত নির্দিষ্ট বিধি যুক্ত এবং সরানো হয়, বা একটি ত্রুটি ফিরে আসে।
  • এই নিয়মগুলি সেশনগুলি জুড়ে অবিরত থাকে না এবং স্মৃতিতে সমর্থন করা হয়।
  • MAX_NUMBER_OF_DYNAMIC_AND_SESSION_RULES হ'ল সর্বাধিক সংখ্যক সম্মিলিত গতিশীল এবং সেশন বিধিগুলির একটি এক্সটেনশন যুক্ত করতে পারে।

পরামিতি

  • কলব্যাক

    ফাংশন al চ্ছিক

    callback প্যারামিটারটি দেখতে দেখতে:

    ()=>void

রিটার্নস

  • প্রতিশ্রুতি <শূন্য>

    Chrome 91+

    প্রতিশ্রুতিগুলি ম্যানিফেস্ট ভি 3 এবং পরে সমর্থিত, তবে কলব্যাকগুলি পশ্চাদপদ সামঞ্জস্যের জন্য সরবরাহ করা হয়। আপনি একই ফাংশন কল উভয় ব্যবহার করতে পারবেন না। প্রতিশ্রুতিটি একই ধরণের সাথে সমাধান করে যা কলব্যাকের কাছে চলে যায়।

updateStaticRules()

প্রতিশ্রুতি ক্রোম 111+
chrome.declarativeNetRequest.updateStaticRules(
  options: UpdateStaticRulesOptions,
  callback?: function,
)

একটি Ruleset পৃথক স্থির নিয়মগুলি অক্ষম করে এবং সক্ষম করে। কোনও প্রতিবন্ধী Ruleset সাথে সম্পর্কিত নিয়মের পরিবর্তনগুলি পরের বার এটি সক্ষম হওয়ার পরে কার্যকর হবে।

পরামিতি

রিটার্নস

  • প্রতিশ্রুতি <শূন্য>

    প্রতিশ্রুতিগুলি ম্যানিফেস্ট ভি 3 এবং পরে সমর্থিত, তবে কলব্যাকগুলি পশ্চাদপদ সামঞ্জস্যের জন্য সরবরাহ করা হয়। আপনি একই ফাংশন কল উভয় ব্যবহার করতে পারবেন না। প্রতিশ্রুতিটি একই ধরণের সাথে সমাধান করে যা কলব্যাকের কাছে চলে যায়।

ঘটনা

onRuleMatchedDebug

chrome.declarativeNetRequest.onRuleMatchedDebug.addListener(
  callback: function,
)

একটি অনুরোধের সাথে কোনও বিধি মেলে যখন বরখাস্ত করা হয়। কেবলমাত্র "declarativeNetRequestFeedback" অনুমতি সহ আনপ্যাকড এক্সটেনশনের জন্য উপলব্ধ কারণ এটি কেবলমাত্র ডিবাগিংয়ের উদ্দেশ্যে ব্যবহার করার উদ্দেশ্যে।

পরামিতি