বর্ণনা
chrome.declarativeNetRequest API ঘোষণামূলক নিয়মগুলি নির্দিষ্ট করে নেটওয়ার্ক অনুরোধগুলিকে ব্লক বা সংশোধন করতে ব্যবহার করা হয়৷ এটি এক্সটেনশনগুলিকে তাদের বাধা না দিয়ে এবং তাদের সামগ্রী না দেখে নেটওয়ার্ক অনুরোধগুলিকে সংশোধন করতে দেয়, এইভাবে আরও গোপনীয়তা প্রদান করে৷
অনুমতি
declarativeNetRequestdeclarativeNetRequestWithHostAccess " declarativeNetRequest " এবং " declarativeNetRequestWithHostAccess " অনুমতি একই ক্ষমতা প্রদান করে৷ তাদের মধ্যে পার্থক্য হল যখন অনুমতি অনুরোধ করা হয় বা দেওয়া হয়।
-
"declarativeNetRequest" - ইনস্টল করার সময় একটি অনুমতি সতর্কতা ট্রিগার করে কিন্তু
allow,allowAllRequestsএবংblockনিয়মগুলির অন্তর্নিহিত অ্যাক্সেস প্রদান করে৷ হোস্টগুলিতে সম্পূর্ণ অ্যাক্সেসের অনুরোধ করার প্রয়োজন এড়াতে যখন সম্ভব তখন এটি ব্যবহার করুন। -
"declarativeNetRequestFeedback" - আনপ্যাক করা এক্সটেনশনগুলির জন্য ডিবাগিং বৈশিষ্ট্যগুলি সক্ষম করে, বিশেষত
getMatchedRules()এবংonRuleMatchedDebug৷ -
"declarativeNetRequestWithHostAccess" - একটি অনুমতি সতর্কতা ইনস্টল করার সময় দেখানো হয় না, কিন্তু আপনি একটি হোস্টে কোনো কাজ সম্পাদন করার আগে আপনাকে হোস্ট অনুমতির অনুরোধ করতে হবে। এটি উপযুক্ত যখন আপনি একটি এক্সটেনশনে ঘোষণামূলক নেট অনুরোধের নিয়মগুলি ব্যবহার করতে চান যার ইতিমধ্যেই অতিরিক্ত সতর্কতা তৈরি না করে হোস্টের অনুমতি রয়েছে৷
প্রাপ্যতা
উদ্ভাসিত
পূর্বে বর্ণিত অনুমতিগুলি ছাড়াও, নির্দিষ্ট ধরণের নিয়মসেট, স্ট্যাটিক নিয়মসেটগুলির জন্য বিশেষভাবে "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" কী ব্যবহার করে আইডিগুলিকে সংজ্ঞায়িত করা হয়। 5000 অক্ষম স্ট্যাটিক নিয়মের সর্বোচ্চ সীমা আছে।
স্ট্যাটিক রুলসেট সক্রিয় বা নিষ্ক্রিয় করতে, 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"]
}
}
ইউআরএল মিল
ডিক্লারেটিভ নেট রিকোয়েস্ট একটি প্যাটার্ন ম্যাচিং সিনট্যাক্স বা রেগুলার এক্সপ্রেশনের সাথে ইউআরএল মেলানোর ক্ষমতা প্রদান করে।
ইউআরএল ফিল্টার সিনট্যাক্স
একটি নিয়মের "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://a.example.company | 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 |
নিয়মিত অভিব্যক্তি
শর্তগুলিও রেগুলার এক্সপ্রেশন ব্যবহার করতে পারে। "regexFilter" কী দেখুন। এই শর্তগুলির জন্য প্রযোজ্য সীমা সম্পর্কে জানতে, রেগুলার এক্সপ্রেশন ব্যবহার করে এমন নিয়মগুলি দেখুন।
ভাল URL শর্ত লিখুন
একটি সম্পূর্ণ ডোমেনের সাথে মেলে এমন নিয়ম লেখার সময় যত্ন নিন। অন্যথায়, আপনার নিয়ম অপ্রত্যাশিত পরিস্থিতিতে মিলতে পারে। উদাহরণস্বরূপ, প্যাটার্ন ম্যাচিং সিনট্যাক্স ব্যবহার করার সময়:
-
google.comভুলভাবেhttps://example.com/?param=google.comসাথে মেলে -
||google.comভুলভাবেhttps://google.companyসাথে মেলে -
https://www.google.comভুলভাবে মেলেhttps://example.com/?param=https://www.google.com
ব্যবহার বিবেচনা করুন:
-
||google.com/, যা সমস্ত পাথ এবং সমস্ত সাবডোমেনের সাথে মেলে৷ -
|https://www.google.com/যা সমস্ত পাথের সাথে মেলে এবং কোনো সাবডোমেন নেই৷
একইভাবে, রেগুলার এক্সপ্রেশন অ্যাঙ্কর করতে ^ এবং / অক্ষর ব্যবহার করুন। উদাহরণস্বরূপ, ^https:\/\/www\.google\.com\/ https://www.google.com-এর যেকোনো পাথের সাথে মেলে।
নিয়ম মূল্যায়ন
নেটওয়ার্ক অনুরোধ জীবনচক্রের বিভিন্ন পর্যায়ে ব্রাউজার দ্বারা DNR নিয়ম প্রয়োগ করা হয়।
অনুরোধের আগে
একটি অনুরোধ করার আগে, একটি এক্সটেনশন একটি ম্যাচিং নিয়মের সাথে এটিকে ব্লক বা রিডাইরেক্ট করতে পারে (স্কিমটিকে HTTP থেকে HTTPS-এ আপগ্রেড করা সহ)।
প্রতিটি এক্সটেনশনের জন্য, ব্রাউজার মিলিত নিয়মের একটি তালিকা নির্ধারণ করে। একটি modifyHeaders অ্যাকশন সহ নিয়মগুলি এখানে অন্তর্ভুক্ত করা হয়নি কারণ সেগুলি পরে পরিচালনা করা হবে৷ অতিরিক্তভাবে, responseHeaders কন্ডিশন সহ নিয়মগুলি পরে বিবেচনা করা হবে (যখন রেসপন্স হেডার উপলব্ধ থাকে) এবং অন্তর্ভুক্ত করা হয় না।
তারপর, প্রতিটি এক্সটেনশনের জন্য, Chrome প্রতি অনুরোধে সর্বাধিক একজন প্রার্থীকে বেছে নেয়। ক্রোম একটি মিলে যাওয়া নিয়ম খুঁজে পায়, সমস্ত মিলে যাওয়া নিয়মগুলিকে অগ্রাধিকার দিয়ে অর্ডার করে৷ একই অগ্রাধিকার সহ নিয়মগুলি ক্রিয়া দ্বারা আদেশ করা হয় ( allow বা allowAllRequests > block > upgradeScheme > redirect )।
প্রার্থী যদি একটি allow বা allowAllRequests নিয়ম হয়, অথবা যে ফ্রেমে অনুরোধটি করা হচ্ছে সেটি এই এক্সটেনশন থেকে উচ্চতর বা সমান অগ্রাধিকারের একটি allowAllRequests নিয়মের সাথে মিলে যায়, তাহলে অনুরোধটি "অনুমতিপ্রাপ্ত" হয় এবং এক্সটেনশন অনুরোধের উপর কোনো প্রভাব ফেলবে না।
যদি একাধিক এক্সটেনশন এই অনুরোধটিকে ব্লক বা পুনঃনির্দেশ করতে চায়, তবে একটি একক পদক্ষেপ নেওয়ার জন্য বেছে নেওয়া হয়। ক্রম block > redirect বা upgradeScheme > allow বা allowAllRequests এ নিয়মগুলি সাজানোর মাধ্যমে Chrome এটি করে। যদি দুটি নিয়ম একই ধরনের হয়, Chrome সাম্প্রতিক ইনস্টল করা এক্সটেনশন থেকে নিয়মটি বেছে নেয়।
অনুরোধ শিরোনাম পাঠানো হয় আগে
Chrome সার্ভারে অনুরোধ শিরোনাম পাঠানোর আগে, শিরোনামগুলি আপডেট করা হয় modifyHeaders নিয়মের সাথে মিল রেখে।
একটি একক এক্সটেনশনের মধ্যে, Chrome সমস্ত মিলে যাওয়া modifyHeaders নিয়মগুলি খুঁজে বের করে সম্পাদন করার জন্য পরিবর্তনগুলির তালিকা তৈরি করে৷ আগের মতই, শুধুমাত্র যে নিয়মগুলিকে যেকোন মিলের চেয়ে বেশি অগ্রাধিকার দেওয়া হয়েছে allow বা allowAllRequests নিয়মগুলি অন্তর্ভুক্ত করা হয়েছে৷
এই নিয়মগুলি Chrome দ্বারা এমন একটি ক্রমে প্রয়োগ করা হয় যাতে একটি অতি সাম্প্রতিক ইনস্টল করা এক্সটেনশনের নিয়মগুলি সর্বদা একটি পুরানো এক্সটেনশনের নিয়মগুলির আগে মূল্যায়ন করা হয়৷ উপরন্তু, একই এক্সটেনশন থেকে নিম্ন অগ্রাধিকারের নিয়মের আগে একটি এক্সটেনশন থেকে উচ্চ অগ্রাধিকারের নিয়ম সবসময় প্রয়োগ করা হয়। উল্লেখযোগ্যভাবে, এমনকি এক্সটেনশন জুড়ে:
- যদি একটি নিয়ম একটি শিরোলেখের সাথে যুক্ত হয়, তাহলে নিম্ন অগ্রাধিকারের নিয়মগুলি শুধুমাত্র সেই শিরোলেখের সাথে যুক্ত হতে পারে। সেট এবং অপসারণ অপারেশন অনুমোদিত নয়.
- যদি একটি নিয়ম একটি শিরোনাম সেট করে, তবে একই এক্সটেনশন থেকে শুধুমাত্র নিম্ন অগ্রাধিকারের নিয়মগুলি সেই শিরোলেখের সাথে যুক্ত করা যেতে পারে। অন্য কোন পরিবর্তন অনুমোদিত নয়.
- যদি একটি নিয়ম একটি শিরোনাম অপসারণ করে, তাহলে নিম্ন অগ্রাধিকারের নিয়মগুলি শিরোনামটিকে আরও সংশোধন করতে পারে না।
একবার একটি প্রতিক্রিয়া পাওয়া যায়
একবার প্রতিক্রিয়া শিরোনামগুলি পাওয়া গেলে, Chrome একটি responseHeaders শর্ত সহ নিয়মগুলি মূল্যায়ন করে৷
এই নিয়মগুলিকে action এবং priority অনুসারে বাছাই করার পরে এবং একটি মিলিত allow বা allowAllRequests সমস্ত অনুরোধ নিয়মের দ্বারা অপ্রয়োজনীয় করে দেওয়া নিয়মগুলি বাদ দেওয়ার পরে (এটি "অনুরোধের আগে"-এর ধাপগুলির সাথে একইভাবে ঘটে), Chrome একটি এক্সটেনশনের পক্ষ থেকে অনুরোধটিকে ব্লক বা রিডাইরেক্ট করতে পারে।
মনে রাখবেন যে এই পর্যায়ে একটি অনুরোধ করা হলে, অনুরোধটি ইতিমধ্যেই সার্ভারে পাঠানো হয়েছে এবং সার্ভার অনুরোধের বডির মতো ডেটা পেয়েছে। একটি রেসপন্স হেডার কন্ডিশন সহ একটি ব্লক বা রিডাইরেক্ট নিয়ম এখনও চলবে-কিন্তু আসলে অনুরোধটিকে ব্লক বা রিডাইরেক্ট করতে পারবে না।
একটি ব্লক নিয়মের ক্ষেত্রে, এটি সেই পৃষ্ঠা দ্বারা পরিচালিত হয় যা অনুরোধটিকে একটি ব্লকড প্রতিক্রিয়া প্রাপ্ত করে এবং Chrome তাড়াতাড়ি অনুরোধটি বন্ধ করে দেয়। রিডাইরেক্ট নিয়মের ক্ষেত্রে, ক্রোম রিডাইরেক্ট করা ইউআরএলে একটি নতুন অনুরোধ করে। এই আচরণগুলি আপনার এক্সটেনশনের জন্য গোপনীয়তার প্রত্যাশা পূরণ করে কিনা তা বিবেচনা করতে ভুলবেন না।
যদি অনুরোধটি ব্লক বা পুনঃনির্দেশিত না হয়, Chrome যেকোনও modifyHeaders নিয়ম প্রয়োগ করে। প্রতিক্রিয়া শিরোনামগুলিতে পরিবর্তনগুলি প্রয়োগ করা "অনুরোধ শিরোনাম পাঠানোর আগে" তে বর্ণিত একইভাবে কাজ করে। অনুরোধের শিরোনামগুলিতে পরিবর্তনগুলি প্রয়োগ করা কিছুই করে না, যেহেতু অনুরোধটি ইতিমধ্যেই করা হয়েছে৷
নিরাপদ নিয়ম
নিরাপদ নিয়মগুলি block , allow , allowAllRequests বা upgradeScheme এর একটি ক্রিয়া সহ নিয়ম হিসাবে সংজ্ঞায়িত করা হয়। এই নিয়মগুলি একটি বর্ধিত গতিশীল নিয়মের কোটা সাপেক্ষে।
নিয়ম সীমা
ব্রাউজারে নিয়ম লোড করা এবং মূল্যায়ন করার জন্য একটি কর্মক্ষমতা ওভারহেড আছে, তাই 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 হিসাবে প্রকাশ করা হয়েছে। 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" অ্যারে ব্যবহার করুন।
হেডার পরিবর্তন
যুক্ত করার ক্রিয়াকলাপটি শুধুমাত্র নিম্নলিখিত শিরোনামগুলির জন্য সমর্থিত: accept , accept-encoding , accept-language , access-control-request-headers , cache-control , connection , content-language , cookie , forwarded , if-match , if-none-match হয় , keep-alive , range , te , trailer transfer-encoding ট্রান্সফার , upgrade user-agent , via , want-digest , x-forwarded-for ।
উদাহরণ
কোড উদাহরণ
গতিশীল নিয়ম আপডেট করুন
নিম্নলিখিত উদাহরণ দেখায় কিভাবে 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
বৈশিষ্ট্য
- displayActionCountAsBadgeText
বুলিয়ান ঐচ্ছিক
এক্সটেনশনের ব্যাজ পাঠ্য হিসাবে একটি পৃষ্ঠার জন্য স্বয়ংক্রিয়ভাবে কর্ম গণনা প্রদর্শন করা হবে কিনা। এই পছন্দটি সেশন জুড়ে টিকে থাকে।
- ট্যাব আপডেট
TabActionCountUpdate ঐচ্ছিক
Chrome 89+ট্যাবের অ্যাকশন গণনা কীভাবে সামঞ্জস্য করা উচিত তার বিশদ বিবরণ।
GetDisabledRuleIdsOptions
বৈশিষ্ট্য
- নিয়ম আইডি
স্ট্রিং
একটি স্ট্যাটিক
Rulesetসাথে সম্পর্কিত আইডি।
GetRulesFilter
বৈশিষ্ট্য
- নিয়ম আইডি
সংখ্যা[] ঐচ্ছিক
যদি নির্দিষ্ট করা থাকে, শুধুমাত্র মিল আইডি সহ নিয়ম অন্তর্ভুক্ত করা হয়।
HeaderInfo
বৈশিষ্ট্য
- বর্জিত মান
স্ট্রিং[] ঐচ্ছিক
নির্দিষ্ট করা হলে, শিরোনামটি বিদ্যমান থাকলে এই শর্তটি মেলে না কিন্তু এর মান এই তালিকায় অন্তত একটি উপাদান ধারণ করে। এটি
valuesহিসাবে একই ম্যাচ প্যাটার্ন সিনট্যাক্স ব্যবহার করে। - হেডার
স্ট্রিং
হেডারের নাম। এই শর্তটি শুধুমাত্র নামের সাথে মেলে যদি উভয়
valuesএবংexcludedValuesনির্দিষ্ট করা না থাকে। - মান
স্ট্রিং[] ঐচ্ছিক
নির্দিষ্ট করা হলে, এই শর্ত মেলে যদি হেডারের মান এই তালিকার অন্তত একটি প্যাটার্নের সাথে মেলে। এটি কেস-অসংবেদনশীল হেডার মান মেলে এবং নিম্নলিখিত গঠন সমর্থন করে:
'*' : যেকোনো অক্ষরের সাথে মিলে যায়।
'?' : শূন্য বা এক অক্ষর(গুলি) মেলে।
'*' এবং '?' ব্যাকস্ল্যাশ দিয়ে পালানো যায়, যেমন '\*' এবং '\?'
HeaderOperation
এটি একটি "modifyHeaders" নিয়মের সম্ভাব্য ক্রিয়াকলাপ বর্ণনা করে।
এনাম
"সংযোজন" "সেট" "সরান"
নির্দিষ্ট হেডারের জন্য একটি নতুন এন্ট্রি যোগ করে। এই অপারেশন অনুরোধ শিরোনাম জন্য সমর্থিত নয়.
নির্দিষ্ট শিরোনামের জন্য একটি নতুন মান সেট করে, একই নামের যেকোন বিদ্যমান শিরোনামকে সরিয়ে দেয়।
নির্দিষ্ট শিরোনামের জন্য সমস্ত এন্ট্রি সরিয়ে দেয়।
IsRegexSupportedResult
বৈশিষ্ট্য
- সমর্থিত
বুলিয়ান
- কারণ
অসমর্থিত RegexReason ঐচ্ছিক
রেগুলার এক্সপ্রেশন কেন সমর্থিত নয় তার কারণ উল্লেখ করে। শুধুমাত্র যদি
isSupportedমিথ্যা হয় প্রদান করা হয়.
MatchedRule
বৈশিষ্ট্য
- নিয়ম আইডি
সংখ্যা
একটি মিলে যাওয়া নিয়মের আইডি।
- নিয়ম আইডি
স্ট্রিং
এই নিয়মের অন্তর্গত
Rulesetএর ID। গতিশীল নিয়মের সেট থেকে উদ্ভূত একটি নিয়মের জন্য, এটিDYNAMIC_RULESET_IDএর সমান হবে।
MatchedRuleInfo
বৈশিষ্ট্য
- নিয়ম
- ট্যাবআইডি
সংখ্যা
ট্যাবের ট্যাবআইডি যেখান থেকে অনুরোধটি এসেছে যদি ট্যাবটি এখনও সক্রিয় থাকে। অন্য -1.
- টাইমস্ট্যাম্প
সংখ্যা
সেই নিয়মেই মিলে গেল সময়। টাইমস্ট্যাম্পগুলি সময়ের জন্য জাভাস্ক্রিপ্ট কনভেনশনের সাথে সঙ্গতিপূর্ণ হবে, অর্থাৎ যুগ থেকে মিলিসেকেন্ডের সংখ্যা।
MatchedRuleInfoDebug
বৈশিষ্ট্য
- অনুরোধ
যে অনুরোধের জন্য নিয়ম মেলে সে সম্পর্কে বিশদ বিবরণ।
- নিয়ম
MatchedRulesFilter
বৈশিষ্ট্য
- minTimeStamp
সংখ্যা ঐচ্ছিক
নির্দিষ্ট করা থাকলে, প্রদত্ত টাইমস্ট্যাম্পের পরে শুধুমাত্র নিয়মের সাথে মেলে।
- ট্যাবআইডি
সংখ্যা ঐচ্ছিক
নির্দিষ্ট করা থাকলে, শুধুমাত্র প্রদত্ত ট্যাবের নিয়মের সাথে মেলে। -1 তে সেট করা থাকলে কোনো সক্রিয় ট্যাবের সাথে মিলিত নিয়ম।
ModifyHeaderInfo
বৈশিষ্ট্য
- হেডার
স্ট্রিং
হেডারের নাম পরিবর্তন করতে হবে।
- অপারেশন
একটি হেডারে সঞ্চালিত অপারেশন।
- মান
স্ট্রিং ঐচ্ছিক
হেডারের জন্য নতুন মান।
appendএবংsetঅপারেশনের জন্য নির্দিষ্ট করা আবশ্যক।
QueryKeyValue
বৈশিষ্ট্য
- চাবি
স্ট্রিং
- শুধুমাত্র প্রতিস্থাপন
বুলিয়ান ঐচ্ছিক
Chrome 94+সত্য হলে, ক্যোয়ারী কীটি পরিবর্তন করা হবে শুধুমাত্র যদি এটি ইতিমধ্যে উপস্থিত থাকে। অন্যথায়, এটি অনুপস্থিত থাকলে কীটিও যোগ করা হয়। ডিফল্ট থেকে মিথ্যা.
- মান
স্ট্রিং
QueryTransform
বৈশিষ্ট্য
- addOrReplaceParams
QueryKeyValue [] ঐচ্ছিক
ক্যোয়ারী কী-মান জোড়ার তালিকা যোগ করা বা প্রতিস্থাপন করা হবে।
- পরামস অপসারণ করুন
স্ট্রিং[] ঐচ্ছিক
অপসারণ করার জন্য অনুসন্ধান কীগুলির তালিকা৷
Redirect
বৈশিষ্ট্য
- এক্সটেনশনপথ
স্ট্রিং ঐচ্ছিক
এক্সটেনশন ডিরেক্টরির সাথে সম্পর্কিত পাথ। '/' দিয়ে শুরু করা উচিত।
- regex সাবস্টিটিউশন
স্ট্রিং ঐচ্ছিক
নিয়মগুলির প্রতিস্থাপন প্যাটার্ন যা একটি
regexFilterনির্দিষ্ট করে। url-এর মধ্যেregexFilterএর প্রথম মিল এই প্যাটার্ন দিয়ে প্রতিস্থাপিত হবে।regexSubstitutionমধ্যে, ব্যাকস্ল্যাশ-এস্কেপড ডিজিটগুলি (\1 থেকে \9) সংশ্লিষ্ট ক্যাপচার গ্রুপগুলি সন্নিবেশ করতে ব্যবহার করা যেতে পারে। \0 সম্পূর্ণ মিলে যাওয়া পাঠ্যকে বোঝায়। - রূপান্তর
URL ট্রান্সফর্ম ঐচ্ছিক
সঞ্চালনের জন্য ইউআরএল রূপান্তর।
- url
স্ট্রিং ঐচ্ছিক
রিডাইরেক্ট ইউআরএল। জাভাস্ক্রিপ্ট ইউআরএলে পুনঃনির্দেশ অনুমোদিত নয়।
RegexOptions
বৈশিষ্ট্য
- কেস সংবেদনশীল
বুলিয়ান ঐচ্ছিক
নির্দিষ্ট করা
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
এটি একটি নেটওয়ার্ক অনুরোধের HTTP অনুরোধ পদ্ধতি বর্ণনা করে।
এনাম
"সংযোগ" "মুছুন" "পাও" "মাথা" "বিকল্প" "প্যাচ" "পোস্ট" "করানো" "অন্য"
ResourceType
এটি নেটওয়ার্ক অনুরোধের রিসোর্স প্রকার বর্ণনা করে।
এনাম
"প্রধান_ফ্রেম" "সাব_ফ্রেম" "স্টাইলশীট" "লিপি" "ছবি" "ফন্ট" "বস্তু" "xmlhttp অনুরোধ" "পিং" "csp_report" "মিডিয়া" "ওয়েবসকেট" "ওয়েবট্রান্সপোর্ট" "ওয়েববান্ডেল" "অন্য"
Rule
বৈশিষ্ট্য
- কর্ম
এই নিয়ম মেলে কি ব্যবস্থা নিতে হবে।
- অবস্থা
যে শর্তে এই নিয়ম চালু হয়।
- আইডি
সংখ্যা
একটি আইডি যা একটি নিয়মকে স্বতন্ত্রভাবে সনাক্ত করে। বাধ্যতামূলক এবং হওয়া উচিত >= 1।
- অগ্রাধিকার
সংখ্যা ঐচ্ছিক
শাসনের অগ্রাধিকার। 1-এ ডিফল্ট। নির্দিষ্ট করা হলে, >= 1 হওয়া উচিত।
RuleAction
বৈশিষ্ট্য
- পুনর্নির্দেশ
ঐচ্ছিক পুনর্নির্দেশ
বর্ণনা কিভাবে পুনঃনির্দেশ সঞ্চালিত করা উচিত. শুধুমাত্র পুনঃনির্দেশিত নিয়মের জন্য বৈধ।
- অনুরোধ শিরোনাম
ModifyHeaderInfo [] ঐচ্ছিক
Chrome 86+অনুরোধের জন্য সংশোধন করার জন্য অনুরোধ শিরোনাম। RuleActionType "modifyHeaders" হলেই বৈধ।
- প্রতিক্রিয়া শিরোনাম
ModifyHeaderInfo [] ঐচ্ছিক
Chrome 86+অনুরোধের জন্য পরিবর্তন করার জন্য প্রতিক্রিয়া শিরোনাম। RuleActionType "modifyHeaders" হলেই বৈধ।
- প্রকার
কার্য সম্পাদনের ধরন।
RuleActionType
একটি প্রদত্ত নিয়ম শর্ত মিলে গেলে কি ধরনের পদক্ষেপ নিতে হবে তা বর্ণনা করে।
এনাম
"ব্লক" "পুনঃনির্দেশ" "অনুমতি দিন" "আপগ্রেড স্কিম" "মডিফাই হেডার" "Allow AllRequests"
নেটওয়ার্ক অনুরোধ ব্লক করুন.
নেটওয়ার্ক অনুরোধ পুনর্নির্দেশ করুন.
নেটওয়ার্ক অনুরোধের অনুমতি দিন। এর সাথে মেলে এমন একটি অনুমতির নিয়ম থাকলে অনুরোধটি আটকানো হবে না।
যদি অনুরোধটি http বা ftp হয় তাহলে নেটওয়ার্ক অনুরোধ url-এর স্কিমটিকে https-এ আপগ্রেড করুন৷
নেটওয়ার্ক অনুরোধ থেকে অনুরোধ/প্রতিক্রিয়া শিরোনাম পরিবর্তন করুন।
ফ্রেমের অনুরোধ সহ একটি ফ্রেম অনুক্রমের মধ্যে সমস্ত অনুরোধের অনুমতি দিন।
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" ছাড়া সব ধরনের রিসোর্স ব্লক করা হয়। - বাদ দেওয়া প্রতিক্রিয়া শিরোনাম
HeaderInfo [] ঐচ্ছিক
Chrome 128+অনুরোধটি এই তালিকার কোনো প্রতিক্রিয়া শিরোনামের শর্তের সাথে মেলে (যদি নির্দিষ্ট করা থাকে) নিয়ম মেলে না। যদি
excludedResponseHeadersএবংresponseHeadersউভয়ই নির্দিষ্ট করা থাকে, তাহলেexcludedResponseHeadersসম্পত্তি অগ্রাধিকার পায়। - বাদ দেওয়া ট্যাবআইডি
সংখ্যা[] ঐচ্ছিক
Chrome 92+tabs.Tab.idএর তালিকা যা নিয়ম মেলে না।tabs.TAB_ID_NONEএকটি আইডি৷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 128+অনুরোধটি এই তালিকার যেকোনো প্রতিক্রিয়া হেডার শর্তের সাথে মেলে (যদি নির্দিষ্ট করা থাকে) নিয়ম মেলে।
- ট্যাবআইডি
সংখ্যা[] ঐচ্ছিক
Chrome 92+tabs.Tab.idএর তালিকা যা নিয়মটি মেলে।tabs.TAB_ID_NONEএকটি আইডি৷TAB_ID_NONE অনুরোধের সাথে মেলে যা একটি ট্যাব থেকে আসে না৷ একটি খালি তালিকা অনুমোদিত নয়. শুধুমাত্র সেশন-স্কোপড নিয়মের জন্য সমর্থিত। - url ফিল্টার
স্ট্রিং ঐচ্ছিক
নেটওয়ার্ক অনুরোধ url এর সাথে মিলে যাওয়া প্যাটার্ন। সমর্থিত নির্মাণ:
'*' : ওয়াইল্ডকার্ড: যেকোনো অক্ষরের সাথে মিলে যায়।
'|' : বাম/ডান অ্যাঙ্কর: প্যাটার্নের উভয় প্রান্তে ব্যবহার করা হলে, যথাক্রমে url-এর শুরু/শেষ নির্দিষ্ট করে।
'||' : ডোমেন নাম অ্যাঙ্কর: প্যাটার্নের শুরুতে ব্যবহার করা হলে, URL-এর একটি (সাব-) ডোমেনের শুরু নির্দিষ্ট করে।
'^' : বিভাজক অক্ষর: এটি একটি অক্ষর, একটি অঙ্ক বা নিম্নলিখিতগুলির একটি ছাড়া অন্য যেকোনো কিছুর সাথে মেলে:
_,-,., বা%। এটিও ইউআরএলের শেষের সাথে মিলে যায়।তাই
urlFilterনিম্নলিখিত অংশগুলি নিয়ে গঠিত: (ঐচ্ছিক বাম/ডোমেন নাম অ্যাঙ্কর) + প্যাটার্ন + (ঐচ্ছিক ডান অ্যাঙ্কর)।যদি বাদ দেওয়া হয়, সব ইউআরএল মিলে যায়। একটি খালি স্ট্রিং অনুমোদিত নয়৷
||*দিয়ে শুরু হওয়া একটি প্যাটার্ন অনুমোদিত নয়৷ পরিবর্তে*ব্যবহার করুন।দ্রষ্টব্য: শুধুমাত্র একটি
urlFilterবাregexFilterনির্দিষ্ট করা যেতে পারে।দ্রষ্টব্য:
urlFilterশুধুমাত্র ASCII অক্ষর দিয়ে গঠিত হতে হবে। এটি একটি url-এর সাথে মিলে যায় যেখানে হোস্টটি punycode বিন্যাসে এনকোড করা হয় (আন্তর্জাতিক ডোমেনের ক্ষেত্রে) এবং অন্য কোনো অ-ascii অক্ষর utf-8 এ url এনকোড করা হয়। উদাহরণস্বরূপ, যখন অনুরোধের url হয় http://abc.рф?q=ф, তখনurlFilterurl http://abc.xn--p1ai/?q=%D1%84 এর সাথে মিলিত হবে৷
Ruleset
বৈশিষ্ট্য
- সক্রিয়
বুলিয়ান
রুলসেট ডিফল্টরূপে সক্রিয় করা আছে কিনা।
- আইডি
স্ট্রিং
একটি অ-খালি স্ট্রিং অনন্যভাবে নিয়ম সেট সনাক্ত করে। '_' দিয়ে শুরু হওয়া আইডিগুলি অভ্যন্তরীণ ব্যবহারের জন্য সংরক্ষিত।
- পথ
স্ট্রিং
এক্সটেনশন ডিরেক্টরির সাথে সম্পর্কিত JSON রুলসেটের পথ।
RulesMatchedDetails
বৈশিষ্ট্য
- নিয়ম মিলে যাওয়া তথ্য
প্রদত্ত ফিল্টার মেলে নিয়ম.
TabActionCountUpdate
বৈশিষ্ট্য
- বৃদ্ধি
সংখ্যা
ট্যাবের ক্রিয়া গণনা দ্বারা বর্ধিত করার পরিমাণ। নেতিবাচক মান গণনা হ্রাস করবে।
- তাবিড
সংখ্যা
ট্যাব যার জন্য অ্যাকশন গণনা আপডেট করতে হবে।
TestMatchOutcomeResult
বৈশিষ্ট্য
- ম্যাচড্রুলস
ম্যাচড্রুল []
অনুমানমূলক অনুরোধের সাথে মেলে এমন নিয়মগুলি (যদি থাকে)।
TestMatchRequestDetails
বৈশিষ্ট্য
- সূচনাকারী
স্ট্রিং al চ্ছিক
অনুমানের অনুরোধের জন্য ইনিশিয়েটার ইউআরএল (যদি থাকে)।
- পদ্ধতি
অনুরোধমথোড al চ্ছিক
অনুমানের অনুরোধের স্ট্যান্ডার্ড এইচটিটিপি পদ্ধতি। এইচটিটিপি অনুরোধগুলির জন্য "পেতে" ডিফল্ট এবং এইচটিটিপি অনুরোধগুলির জন্য উপেক্ষা করা হয়।
- প্রতিক্রিয়া শিরোনাম
অবজেক্ট al চ্ছিক
Chrome 129+যদি অনুরোধটি প্রেরণের আগে অবরুদ্ধ বা পুনঃনির্দেশিত না হয় তবে একটি অনুমানমূলক প্রতিক্রিয়া দ্বারা সরবরাহ করা শিরোনামগুলি। এমন একটি অবজেক্ট হিসাবে উপস্থাপিত যা স্ট্রিং মানগুলির তালিকার একটি শিরোনামের নাম মানচিত্র করে। যদি নির্দিষ্ট না করা হয় তবে অনুমানমূলক প্রতিক্রিয়া খালি প্রতিক্রিয়া শিরোনামগুলি ফিরিয়ে দেবে, যা নিয়মের সাথে মেলে যা শিরোনামগুলির অস্তিত্বের সাথে মেলে। উদাহরণস্বরূপ
{"content-type": ["text/html; charset=utf-8", "multipart/form-data"]} - তাবিড
সংখ্যা al চ্ছিক
ট্যাবটির আইডি যেখানে অনুমানমূলক অনুরোধটি ঘটে। একটি বাস্তব ট্যাব আইডির সাথে সামঞ্জস্য করার দরকার নেই। ডিফল্ট হ'ল -1, যার অর্থ অনুরোধটি কোনও ট্যাবের সাথে সম্পর্কিত নয়।
- প্রকার
অনুমানের অনুরোধের সংস্থান প্রকার।
- url
স্ট্রিং
অনুমানের অনুরোধের ইউআরএল।
UnsupportedRegexReason
প্রদত্ত নিয়মিত অভিব্যক্তি সমর্থিত না হওয়ার কারণ বর্ণনা করে।
এনাম
"সিনট্যাক্সারর" "মেমরিলিমাইটেক্সেডডেড"
নিয়মিত অভিব্যক্তিটি সিনট্যাকটিক্যালি ভুল, বা RE2 সিনট্যাক্সে উপলভ্য বৈশিষ্ট্যগুলি ব্যবহার করে।
নিয়মিত অভিব্যক্তি মেমরির সীমা ছাড়িয়ে যায়।
UpdateRuleOptions
বৈশিষ্ট্য
- নিয়ম যোগ করুন
নিয়ম [] al চ্ছিক
যোগ করার নিয়ম।
- রিমুভারুলাইডস
সংখ্যা [] al চ্ছিক
অপসারণ নিয়মের আইডি। যে কোনও অবৈধ আইডি উপেক্ষা করা হবে।
UpdateRulesetOptions
বৈশিষ্ট্য
UpdateStaticRulesOptions
বৈশিষ্ট্য
URLTransform
বৈশিষ্ট্য
- খণ্ড
স্ট্রিং al চ্ছিক
অনুরোধের জন্য নতুন খণ্ড। হয় খালি হওয়া উচিত, সেক্ষেত্রে বিদ্যমান খণ্ডটি সাফ হয়ে গেছে; বা '#' দিয়ে শুরু করা উচিত।
- হোস্ট
স্ট্রিং al চ্ছিক
অনুরোধের জন্য নতুন হোস্ট।
- পাসওয়ার্ড
স্ট্রিং al চ্ছিক
অনুরোধের জন্য নতুন পাসওয়ার্ড।
- পথ
স্ট্রিং al চ্ছিক
অনুরোধের জন্য নতুন পথ। যদি খালি হয় তবে বিদ্যমান পথটি সাফ হয়ে গেছে।
- বন্দর
স্ট্রিং al চ্ছিক
অনুরোধের জন্য নতুন বন্দর। যদি খালি হয় তবে বিদ্যমান বন্দরটি সাফ হয়ে গেছে।
- প্রশ্ন
স্ট্রিং al চ্ছিক
অনুরোধের জন্য নতুন ক্যোয়ারী। হয় খালি হওয়া উচিত, সেক্ষেত্রে বিদ্যমান ক্যোয়ারী সাফ হয়ে গেছে; বা '?' দিয়ে শুরু করা উচিত।
- ক্যোয়ার ট্রান্সফর্ম
ক্যোয়ার ট্রান্সফর্ম al চ্ছিক
ক্যোয়ারী কী-মান জোড়া যুক্ত করুন, সরান বা প্রতিস্থাপন করুন।
- স্কিম
স্ট্রিং al চ্ছিক
অনুরোধের জন্য নতুন স্কিম। অনুমোদিত মানগুলি হ'ল "এইচটিটিপি", "এইচটিটিপিএস", "এফটিপি" এবং "ক্রোম-এক্সটেনশন"।
- ব্যবহারকারীর নাম
স্ট্রিং al চ্ছিক
অনুরোধের জন্য নতুন ব্যবহারকারীর নাম।
বৈশিষ্ট্য
DYNAMIC_RULESET_ID
এক্সটেনশন দ্বারা যুক্ত গতিশীল নিয়মের জন্য রুলসেট আইডি।
মান
"_ডাইনামিক"
GETMATCHEDRULES_QUOTA_INTERVAL
সময়ের ব্যবধান যার মধ্যে MAX_GETMATCHEDRULES_CALLS_PER_INTERVAL getMatchedRules কল করা যেতে পারে, কয়েক মিনিটের মধ্যে নির্দিষ্ট করা যেতে পারে। অতিরিক্ত কলগুলি অবিলম্বে ব্যর্থ হবে এবং runtime.lastError সেট করবে L দ্রষ্টব্য: কোনও ব্যবহারকারীর অঙ্গভঙ্গির সাথে সম্পর্কিত getMatchedRules কলগুলি কোটা থেকে অব্যাহতিপ্রাপ্ত।
মান
10
GUARANTEED_MINIMUM_STATIC_RULES
তার সক্ষম স্ট্যাটিক রুলসেটগুলি জুড়ে কোনও এক্সটেনশনের গ্যারান্টিযুক্ত ন্যূনতম স্ট্যাটিক বিধিগুলির সংখ্যা। এই সীমাটির উপরে যে কোনও নিয়ম বিশ্বব্যাপী স্ট্যাটিক নিয়ম সীমাতে গণনা করবে।
মান
30000
MAX_GETMATCHEDRULES_CALLS_PER_INTERVAL
GETMATCHEDRULES_QUOTA_INTERVAL এর সময়ের মধ্যে getMatchedRules বার কল করা যেতে পারে।
মান
20
MAX_NUMBER_OF_DYNAMIC_RULES
একটি এক্সটেনশন যুক্ত করতে পারে এমন গতিশীল নিয়মের সর্বাধিক সংখ্যা।
মান
30000
MAX_NUMBER_OF_ENABLED_STATIC_RULESETS
একটি এক্সটেনশন যে কোনও সময়ে সক্ষম করতে পারে এমন স্ট্যাটিক Rulesets সর্বাধিক সংখ্যা।
মান
50
MAX_NUMBER_OF_REGEX_RULES
নিয়মিত এক্সপ্রেশন নিয়মের সর্বাধিক সংখ্যা যা একটি এক্সটেনশন যুক্ত করতে পারে। এই সীমাটি গতিশীল নিয়মের সেট এবং নিয়ম সংস্থান ফাইলে নির্দিষ্ট করাগুলির জন্য পৃথকভাবে মূল্যায়ন করা হয়।
মান
1000
MAX_NUMBER_OF_SESSION_RULES
সর্বাধিক সংখ্যক সেশন স্কোপড নিয়ম যা একটি এক্সটেনশন যুক্ত করতে পারে।
মান
5000
MAX_NUMBER_OF_STATIC_RULESETS
একটি এক্সটেনশান স্ট্যাটিক Rulesets সর্বাধিক সংখ্যা "rule_resources" ম্যানিফেস্ট কী এর অংশ হিসাবে নির্দিষ্ট করতে পারে।
মান
100
MAX_NUMBER_OF_UNSAFE_DYNAMIC_RULES
সর্বাধিক সংখ্যক "অনিরাপদ" গতিশীল নিয়ম যা একটি এক্সটেনশন যুক্ত করতে পারে।
মান
5000
MAX_NUMBER_OF_UNSAFE_SESSION_RULES
সর্বাধিক সংখ্যক "অনিরাপদ" সেশন স্কোপড নিয়মগুলি যা কোনও এক্সটেনশন যুক্ত করতে পারে।
মান
5000
SESSION_RULESET_ID
এক্সটেনশন দ্বারা যুক্ত সেশন-স্কোপড বিধিগুলির জন্য রুলসেট আইডি।
মান
"_সেশন"
পদ্ধতি
getAvailableStaticRuleCount()
chrome.declarativeNetRequest.getAvailableStaticRuleCount(): Promise<number>
বিশ্বব্যাপী স্ট্যাটিক নিয়মের সীমা পৌঁছানোর আগে একটি এক্সটেনশন সক্ষম করতে পারে এমন স্ট্যাটিক নিয়মের সংখ্যাটি প্রদান করে।
রিটার্নস
প্রতিশ্রুতি <সংখ্যা>
Chrome 91+
getDisabledRuleIds()
chrome.declarativeNetRequest.getDisabledRuleIds(
options: GetDisabledRuleIdsOptions,
): Promise<number[]>
প্রদত্ত Ruleset বর্তমানে অক্ষম থাকা স্ট্যাটিক বিধিগুলির তালিকা প্রদান করে।
পরামিতি
- বিকল্প
ক্যোয়ারীতে রুলসেট নির্দিষ্ট করে।
রিটার্নস
প্রতিশ্রুতি <সংখ্যা []>
getDynamicRules()
chrome.declarativeNetRequest.getDynamicRules(
filter?: GetRulesFilter,
): Promise<Rule[]>
এক্সটেনশনের জন্য গতিশীল নিয়মের বর্তমান সেটটি ফিরিয়ে দেয়। কলাররা একটি filter নির্দিষ্ট করে আন্ডার বিধিগুলির তালিকাটি play চ্ছিকভাবে ফিল্টার করতে পারে।
পরামিতি
- ফিল্টার
Getrulesfilter al চ্ছিক
ক্রোম 111+আনার নিয়মের তালিকা ফিল্টার করার জন্য একটি অবজেক্ট।
রিটার্নস
প্রতিশ্রুতি < বিধি []>
Chrome 91+
getEnabledRulesets()
chrome.declarativeNetRequest.getEnabledRulesets(): Promise<string[]>
সক্ষম স্ট্যাটিক রুলসেটের বর্তমান সেটের জন্য আইডিএস প্রদান করে।
রিটার্নস
প্রতিশ্রুতি <স্ট্রিং []>
Chrome 91+
getMatchedRules()
chrome.declarativeNetRequest.getMatchedRules(
filter?: MatchedRulesFilter,
): Promise<RulesMatchedDetails>
এক্সটেনশনের জন্য মিলে সমস্ত নিয়ম ফেরত দেয়। কলাররা একটি filter নির্দিষ্ট করে option চ্ছিকভাবে ম্যাচ করা নিয়মের তালিকা ফিল্টার করতে পারে। এই পদ্ধতিটি কেবলমাত্র "declarativeNetRequestFeedback" অনুমতি বা filter নির্দিষ্ট tabId জন্য "activeTab" অনুমতি প্রদানের সাথে এক্সটেনশনের জন্য উপলব্ধ। দ্রষ্টব্য: পাঁচ মিনিটেরও বেশি আগে মেলে এমন কোনও সক্রিয় নথির সাথে সম্পর্কিত নয় এমন নিয়মগুলি ফেরত দেওয়া হবে না।
পরামিতি
- ফিল্টার
ম্যাচড্রুলসফিল্টার al চ্ছিক
ম্যাচ করা নিয়মের তালিকা ফিল্টার করার জন্য একটি অবজেক্ট।
রিটার্নস
প্রতিশ্রুতি < রুলম্যাচডডেটেলস >
Chrome 91+
getSessionRules()
chrome.declarativeNetRequest.getSessionRules(
filter?: GetRulesFilter,
): Promise<Rule[]>
সম্প্রসারণের জন্য সেশন স্কোপড নিয়মের বর্তমান সেটটি ফেরত দেয়। কলাররা একটি filter নির্দিষ্ট করে আন্ডার বিধিগুলির তালিকাটি play চ্ছিকভাবে ফিল্টার করতে পারে।
পরামিতি
- ফিল্টার
Getrulesfilter al চ্ছিক
ক্রোম 111+আনার নিয়মের তালিকা ফিল্টার করার জন্য একটি অবজেক্ট।
রিটার্নস
প্রতিশ্রুতি < বিধি []>
Chrome 91+
isRegexSupported()
chrome.declarativeNetRequest.isRegexSupported(
regexOptions: RegexOptions,
): Promise<IsRegexSupportedResult>
প্রদত্ত নিয়মিত অভিব্যক্তিটি regexFilter নিয়ম শর্ত হিসাবে সমর্থিত হবে কিনা তা পরীক্ষা করে।
পরামিতি
- Regexoptions
চেক করার জন্য নিয়মিত অভিব্যক্তি।
রিটার্নস
প্রতিশ্রুতি <isregexsupportedresult>
Chrome 91+
setExtensionActionOptions()
chrome.declarativeNetRequest.setExtensionActionOptions(
options: ExtensionActionOptions,
): Promise<void>
কনফিগারগুলি যদি ট্যাবগুলির জন্য অ্যাকশন গণনাটি এক্সটেনশন অ্যাকশন ব্যাজ পাঠ্য হিসাবে প্রদর্শিত হয় এবং সেই ক্রিয়া গণনা বাড়ানোর জন্য একটি উপায় সরবরাহ করে।
পরামিতি
- বিকল্প
রিটার্নস
প্রতিশ্রুতি <void>
Chrome 91+
testMatchOutcome()
chrome.declarativeNetRequest.testMatchOutcome(
request: TestMatchRequestDetails,
): Promise<TestMatchOutcomeResult>
এক্সটেনশনের ঘোষণাপত্রটিভেনট্রেকুয়েস্ট বিধিগুলির কোনওটি অনুমানমূলক অনুরোধের সাথে মেলে কিনা তা পরীক্ষা করে। দ্রষ্টব্য: কেবল আনপ্যাকড এক্সটেনশনের জন্য উপলব্ধ কারণ এটি কেবলমাত্র এক্সটেনশন বিকাশের সময় ব্যবহার করার উদ্দেশ্যে।
পরামিতি
- অনুরোধ
রিটার্নস
প্রতিশ্রুতি < টেস্টম্যাচআউটকোমেরসাল্ট >
updateDynamicRules()
chrome.declarativeNetRequest.updateDynamicRules(
options: UpdateRuleOptions,
): Promise<void>
এক্সটেনশনের জন্য গতিশীল নিয়মের বর্তমান সেটটি সংশোধন করে। options.removeRuleIds তালিকাভুক্ত আইডিএস সহ নিয়মগুলি প্রথমে সরানো হয়, এবং তারপরে options.addRules দেওয়া বিধিগুলি add অ্যাডড্রুলগুলি যুক্ত করা হয়। নোট:
- এই আপডেটটি একক পারমাণবিক অপারেশন হিসাবে ঘটে: হয় সমস্ত নির্দিষ্ট বিধি যুক্ত এবং সরানো হয়, বা একটি ত্রুটি ফিরে আসে।
- এই নিয়মগুলি ব্রাউজার সেশনগুলিতে এবং এক্সটেনশন আপডেটগুলি জুড়ে অবিরত রয়েছে।
- এক্সটেনশন প্যাকেজের অংশ হিসাবে নির্দিষ্ট স্ট্যাটিক বিধিগুলি এই ফাংশনটি ব্যবহার করে অপসারণ করা যায় না।
-
MAX_NUMBER_OF_DYNAMIC_RULESহ'ল সর্বাধিক সংখ্যক গতিশীল নিয়ম যা একটি এক্সটেনশন যুক্ত করতে পারে। অনিরাপদ বিধিগুলির সংখ্যা অবশ্যইMAX_NUMBER_OF_UNSAFE_DYNAMIC_RULESবেশি হবে না।
পরামিতি
- বিকল্পক্রোম 87+
রিটার্নস
প্রতিশ্রুতি <void>
Chrome 91+
updateEnabledRulesets()
chrome.declarativeNetRequest.updateEnabledRulesets(
options: UpdateRulesetOptions,
): Promise<void>
এক্সটেনশনের জন্য সক্ষম স্ট্যাটিক রুলসেটের সেট আপডেট করে। options.disableRulesetIds তালিকাভুক্ত আইডিএস সহ রুলসেটগুলি Disisablerulesetids প্রথমে সরানো হয়, এবং তারপরে options.enableRulesetIds তালিকাভুক্ত রুলসেটগুলি en নোট করুন যে সক্ষম স্ট্যাটিক রুলসেটগুলির সেটটি সেশনগুলি জুড়ে অব্যাহত রয়েছে তবে এক্সটেনশন আপডেটগুলি জুড়ে নয়, অর্থাত্ rule_resources ম্যানিফেস্ট কী প্রতিটি এক্সটেনশন আপডেটে সক্ষম স্ট্যাটিক বিধিগুলির সেট নির্ধারণ করবে।
পরামিতি
- বিকল্পক্রোম 87+
রিটার্নস
প্রতিশ্রুতি <void>
Chrome 91+
updateSessionRules()
chrome.declarativeNetRequest.updateSessionRules(
options: UpdateRuleOptions,
): Promise<void>
সম্প্রসারণের জন্য সেশন স্কোপড বিধিগুলির বর্তমান সেটটি সংশোধন করে। options.removeRuleIds তালিকাভুক্ত আইডিএস সহ নিয়মগুলি প্রথমে সরানো হয়, এবং তারপরে options.addRules দেওয়া বিধিগুলি add অ্যাডড্রুলগুলি যুক্ত করা হয়। নোট:
- এই আপডেটটি একক পারমাণবিক অপারেশন হিসাবে ঘটে: হয় সমস্ত নির্দিষ্ট বিধি যুক্ত এবং সরানো হয়, বা একটি ত্রুটি ফিরে আসে।
- এই নিয়মগুলি সেশনগুলি জুড়ে অবিরত থাকে না এবং স্মৃতিতে সমর্থন করা হয়।
-
MAX_NUMBER_OF_SESSION_RULESহ'ল সর্বাধিক সংখ্যক সেশন বিধি যা একটি এক্সটেনশন যুক্ত করতে পারে।
পরামিতি
- বিকল্প
রিটার্নস
প্রতিশ্রুতি <void>
Chrome 91+
updateStaticRules()
chrome.declarativeNetRequest.updateStaticRules(
options: UpdateStaticRulesOptions,
): Promise<void>
একটি Ruleset পৃথক স্থির নিয়মগুলি অক্ষম করে এবং সক্ষম করে। কোনও প্রতিবন্ধী Ruleset সাথে সম্পর্কিত নিয়মের পরিবর্তনগুলি পরের বার এটি সক্ষম হওয়ার পরে কার্যকর হবে।
পরামিতি
- বিকল্প
রিটার্নস
প্রতিশ্রুতি <void>
ঘটনা
onRuleMatchedDebug
chrome.declarativeNetRequest.onRuleMatchedDebug.addListener(
callback: function,
)
একটি অনুরোধের সাথে কোনও বিধি মেলে যখন বরখাস্ত করা হয়। কেবলমাত্র "declarativeNetRequestFeedback" অনুমতি সহ আনপ্যাকড এক্সটেনশনের জন্য উপলব্ধ কারণ এটি কেবলমাত্র ডিবাগিংয়ের উদ্দেশ্যে ব্যবহার করার উদ্দেশ্যে।
পরামিতি
- কলব্যাক
ফাংশন
callbackপ্যারামিটারটি এর মতো দেখাচ্ছে:(info: MatchedRuleInfoDebug) => void
- তথ্য