বর্ণনা
chrome.declarativeNetRequest
API ঘোষণামূলক নিয়মগুলি নির্দিষ্ট করে নেটওয়ার্ক অনুরোধগুলিকে ব্লক বা সংশোধন করতে ব্যবহার করা হয়৷ এটি এক্সটেনশনগুলিকে তাদের বাধা না দিয়ে এবং তাদের সামগ্রী না দেখে নেটওয়ার্ক অনুরোধগুলিকে সংশোধন করতে দেয়, এইভাবে আরও গোপনীয়তা প্রদান করে৷
অনুমতি
declarativeNetRequest
declarativeNetRequestWithHostAccess
declarativeNetRequestFeedback
host_permissions
প্রাপ্যতা
উদ্ভাসিত
উপরে বর্ণিত অনুমতিগুলি ছাড়াও, নির্দিষ্ট ধরনের নিয়মসেট, স্ট্যাটিক নিয়মসেটগুলির জন্য বিশেষভাবে "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 |
নিয়ম অগ্রাধিকার
নিয়ম ওয়েব পেজ থেকে পাঠানো অনুরোধ দ্বারা ট্রিগার করা হয়. যদি একাধিক নিয়ম একটি নির্দিষ্ট অনুরোধের সাথে মিলে যায়, তাহলে নিয়মগুলিকে অগ্রাধিকার দিতে হবে। এই বিভাগটি ব্যাখ্যা করে যে কীভাবে তাদের অগ্রাধিকার দেওয়া হয়। অগ্রাধিকার দুটি পর্যায়ে ঘটে।
- অগ্রাধিকার একটি এক্সটেনশন মধ্যে নিয়মের জন্য নির্ধারিত হয়.
- যদি একাধিক এক্সটেনশন একটি অনুরোধে একটি নিয়ম প্রয়োগ করতে পারে, তবে একটি নির্দিষ্ট অনুরোধের সাথে মেলে এমন সমস্ত এক্সটেনশনের জন্য অগ্রাধিকার নির্ধারণ করা হয়।
এইভাবে মেলানোর কথা ভাবছেন: একটি নির্দিষ্ট এক্সটেনশন যে নিয়মকে অগ্রাধিকার দেয় তা অন্য এক্সটেনশনের নিয়মের বিপরীতে অগ্রাধিকার দেওয়া হবে।
একটি এক্সটেনশনের মধ্যে নিয়ম অগ্রাধিকার
একটি একক এক্সটেনশনের মধ্যে, নিম্নলিখিত প্রক্রিয়াটি ব্যবহার করে অগ্রাধিকার নির্ধারণ করা হয়:
- সর্বোচ্চ বিকাশকারী-সংজ্ঞায়িত অগ্রাধিকার সহ নিয়মটি (অন্য কথায়,
"priority"
ক্ষেত্র) ফেরত দেওয়া হয়। সর্বোচ্চ বিকাশকারী-সংজ্ঞায়িত অগ্রাধিকার সহ একাধিক নিয়ম থাকলে, নিম্নলিখিত ক্রমে
"action"
ক্ষেত্র ব্যবহার করে নিয়মগুলিকে অগ্রাধিকার দেওয়া হয়:-
allow
-
allowAllRequests
-
block
-
upgradeScheme
-
redirect
-
যদি অ্যাকশনের ধরন
block
বাredirect
না হয়,modifyHeaders
নিয়মগুলি মূল্যায়ন করা হয়। সচেতন থাকুন যে যদি কোনো ডেভেলপার-নির্ধারিত অগ্রাধিকারের সাথে কোনো নিয়ম থাকে যাallow
এবংallowAllRequests
এর জন্য নির্ধারিত অগ্রাধিকারের চেয়ে কম থাকে, তাহলে এই ধরনের নিয়মগুলি উপেক্ষা করা হয়।যদি একাধিক নিয়ম একই শিরোনাম পরিবর্তন করে, তবে পরিবর্তন ডেভেলপার-সংজ্ঞায়িত
"priority"
ক্ষেত্র এবং নির্দিষ্ট ক্রিয়াকলাপ দ্বারা নির্ধারিত হয়।- যদি একটি নিয়ম একটি শিরোলেখের সাথে যুক্ত হয়, তাহলে নিম্ন অগ্রাধিকারের নিয়মগুলি শুধুমাত্র সেই শিরোলেখের সাথে যুক্ত হতে পারে। সেট এবং অপসারণ অপারেশন অনুমোদিত নয়.
- যদি একটি নিয়ম একটি শিরোনাম সেট করে, তাহলে নিম্ন অগ্রাধিকারের নিয়মগুলি শুধুমাত্র সেই শিরোলেখের সাথে যুক্ত হতে পারে। অন্য কোন পরিবর্তন অনুমোদিত নয়.
- যদি একটি নিয়ম একটি শিরোনাম অপসারণ করে, তাহলে নিম্ন অগ্রাধিকারের নিয়মগুলি শিরোনামটিকে আরও সংশোধন করতে পারে না।
এক্সটেনশনের মধ্যে নিয়ম অগ্রাধিকার
যদি শুধুমাত্র একটি এক্সটেনশনের একটি নিয়ম থাকে যা একটি অনুরোধের সাথে মেলে, সেই নিয়মটি প্রয়োগ করা হয়৷ কিন্তু যদি একাধিক এক্সটেনশন একটি অনুরোধের সাথে মেলে, নিম্নলিখিত প্রক্রিয়াটি ব্যবহার করা হয়:
নিম্নলিখিত ক্রমে,
"action"
ক্ষেত্র ব্যবহার করে নিয়মগুলিকে অগ্রাধিকার দেওয়া হয়:-
block
-
redirect
বাupgradeScheme
- AllRequests
allow
বাallowAllRequests
-
যদি একাধিক নিয়ম মিলে যায়, সাম্প্রতিকতম ইনস্টল করা এক্সটেনশনটি অগ্রাধিকার পায়।
নিয়ম সীমা
ব্রাউজারে নিয়ম লোড করা এবং মূল্যায়ন করার জন্য একটি কর্মক্ষমতা ওভারহেড আছে, তাই API ব্যবহার করার সময় কিছু সীমা প্রযোজ্য। সীমাগুলি আপনি যে নিয়ম ব্যবহার করছেন তার উপর নির্ভর করে।
স্ট্যাটিক নিয়ম
স্ট্যাটিক নিয়মগুলি হল ম্যানিফেস্ট ফাইলে ঘোষিত নিয়ম ফাইলগুলিতে নির্দিষ্ট করা৷ একটি এক্সটেনশন "rule_resources"
ম্যানিফেস্ট কী-এর অংশ হিসাবে 50টি পর্যন্ত স্ট্যাটিক নিয়মসেট নির্দিষ্ট করতে পারে, কিন্তু এই নিয়মগুলির মধ্যে মাত্র 10টি একবারে সক্ষম করা যেতে পারে৷ পরবর্তীটিকে MAX_NUMBER_OF_ENABLED_STATIC_RULESETS
বলা হয়। সম্মিলিতভাবে, সেই নিয়মগুলি কমপক্ষে 30,000 নিয়মের গ্যারান্টিযুক্ত। একে বলা হয় GUARANTEED_MINIMUM_STATIC_RULES
।
এর পরে উপলব্ধ নিয়মের সংখ্যা নির্ভর করে ব্যবহারকারীর ব্রাউজারে ইনস্টল করা সমস্ত এক্সটেনশন দ্বারা কতগুলি নিয়ম সক্রিয় করা হয়েছে তার উপর৷ আপনি getAvailableStaticRuleCount()
এ কল করে রানটাইমে এই নম্বরটি খুঁজে পেতে পারেন। আপনি কোড উদাহরণের অধীনে এটির একটি উদাহরণ দেখতে পারেন।
গতিশীল এবং অধিবেশন নিয়ম
গতিশীল এবং সেশন নিয়মে প্রয়োগ করা সীমাগুলি স্থির নিয়মের চেয়ে সহজ। উভয়ের মোট সংখ্যা 5000 এর বেশি হতে পারে না। একে MAX_NUMBER_OF_DYNAMIC_AND_SESSION_RULES
বলা হয়।
নিয়ম যা regex ব্যবহার করে
সব ধরনের নিয়ম রেগুলার এক্সপ্রেশন ব্যবহার করতে পারে; যাইহোক, প্রতিটি ধরণের রেজেক্স নিয়মের মোট সংখ্যা 1000 এর বেশি হতে পারে না। একে MAX_NUMBER_OF_REGEX_RULES বলা হয়।
উপরন্তু, প্রতিটি নিয়ম একবার কম্পাইল করা হলে 2KB এর কম হতে হবে। এটি মোটামুটি নিয়মের জটিলতার সাথে সম্পর্কযুক্ত। আপনি যদি এই সীমা অতিক্রম করে এমন একটি নিয়ম লোড করার চেষ্টা করেন তবে আপনি নীচের মত একটি সতর্কতা দেখতে পাবেন এবং নিয়মটি উপেক্ষা করা হবে।
rules_1.json: Rule with id 1 specified a more complext 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 থেকে যেকোনো স্কিমের সাথে অনুরোধগুলিকে আটকাতে একটি ডোমেন নাম অ্যাঙ্কর ("||") ব্যবহার করে৷ "transform"
-এ "scheme"
কী নির্দিষ্ট করে যে সাবডোমেনে পুনঃনির্দেশ সর্বদা "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" ছাড়া সব ধরনের রিসোর্স ব্লক করা হয়। - বাদ দেওয়া প্রতিক্রিয়া শিরোনাম
হেডার ইনফো [] ঐচ্ছিক
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=ф, তখনurlFilter
url http://abc.xn--p1ai/?q=%D1%84 এর সাথে মিলিত হবে৷
Ruleset
বৈশিষ্ট্য
- সক্রিয়
বুলিয়ান
রুলসেট ডিফল্টরূপে সক্রিয় করা আছে কিনা।
- আইডি
স্ট্রিং
একটি অ-খালি স্ট্রিং অনন্যভাবে নিয়ম সেট সনাক্ত করে। '_' দিয়ে শুরু হওয়া আইডিগুলি অভ্যন্তরীণ ব্যবহারের জন্য সংরক্ষিত।
- পথ
স্ট্রিং
এক্সটেনশন ডিরেক্টরির সাথে সম্পর্কিত JSON রুলসেটের পথ।
RulesMatchedDetails
বৈশিষ্ট্য
- নিয়ম মিলে যাওয়া তথ্য
প্রদত্ত ফিল্টার মেলে নিয়ম.
TabActionCountUpdate
বৈশিষ্ট্য
- বৃদ্ধি
সংখ্যা
ট্যাবের অ্যাকশন কাউন্ট বাড়ানোর পরিমাণ। নেতিবাচক মান গণনা হ্রাস করবে।
- ট্যাবআইডি
সংখ্যা
যে ট্যাবটির জন্য অ্যাকশন কাউন্ট আপডেট করতে হবে।
TestMatchOutcomeResult
বৈশিষ্ট্য
- মিলে যাওয়া নিয়ম
মিলিত নিয়ম []
অনুমানমূলক অনুরোধের সাথে মেলে এমন নিয়ম (যদি থাকে)।
TestMatchRequestDetails
বৈশিষ্ট্য
- সূচনাকারী
স্ট্রিং ঐচ্ছিক
অনুমানমূলক অনুরোধের জন্য ইনিশিয়েটর URL (যদি থাকে)।
- পদ্ধতি
অনুরোধ পদ্ধতি ঐচ্ছিক
অনুমানমূলক অনুরোধের স্ট্যান্ডার্ড HTTP পদ্ধতি। HTTP অনুরোধের জন্য ডিফল্ট "পাওয়া" এবং নন-HTTP অনুরোধের জন্য উপেক্ষা করা হয়।
- প্রতিক্রিয়া শিরোনাম
বস্তু ঐচ্ছিক
Chrome 129+একটি অনুমানমূলক প্রতিক্রিয়া দ্বারা প্রদত্ত শিরোনামগুলি যদি অনুরোধটি পাঠানোর আগে ব্লক বা পুনঃনির্দেশিত না হয়। স্ট্রিং মানগুলির একটি তালিকায় একটি হেডারের নাম ম্যাপ করে এমন একটি বস্তু হিসাবে উপস্থাপন করা হয়। নির্দিষ্ট করা না থাকলে, অনুমানমূলক প্রতিক্রিয়া খালি প্রতিক্রিয়া শিরোনাম ফিরিয়ে দেবে, যা শিরোনামগুলির অ-অস্তিত্বের সাথে মেলে এমন নিয়মগুলির সাথে মেলে। যেমন
{"content-type": ["text/html; charset=utf-8", "multipart/form-data"]}
- ট্যাবআইডি
সংখ্যা ঐচ্ছিক
ট্যাবের আইডি যেখানে অনুমানমূলক অনুরোধটি ঘটে। একটি বাস্তব ট্যাব আইডির সাথে মিলিত হওয়ার প্রয়োজন নেই। ডিফল্ট হল -1, যার অর্থ অনুরোধটি একটি ট্যাবের সাথে সম্পর্কিত নয়।
- টাইপ
অনুমানমূলক অনুরোধের রিসোর্স প্রকার।
- url
স্ট্রিং
অনুমানমূলক অনুরোধের URL।
UnsupportedRegexReason
একটি প্রদত্ত রেগুলার এক্সপ্রেশন কেন সমর্থিত নয় তার কারণ বর্ণনা করে।
এনাম
"সিনট্যাক্স ত্রুটি" "স্মৃতির সীমা ছাড়িয়ে গেছে"
রেগুলার এক্সপ্রেশনটি সিনট্যাক্টিকভাবে ভুল, বা RE2 সিনট্যাক্সে উপলব্ধ নয় এমন বৈশিষ্ট্য ব্যবহার করে।
রেগুলার এক্সপ্রেশন মেমরির সীমা ছাড়িয়ে গেছে।
UpdateRuleOptions
বৈশিষ্ট্য
- নিয়ম যোগ করুন
নিয়ম [] ঐচ্ছিক
যোগ করার নিয়ম।
- RuleIds রিমুভ করুন
সংখ্যা[] ঐচ্ছিক
আইডি মুছে ফেলার নিয়ম। কোন অবৈধ আইডি উপেক্ষা করা হবে.
UpdateRulesetOptions
বৈশিষ্ট্য
UpdateStaticRulesOptions
বৈশিষ্ট্য
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
তার সক্ষম স্ট্যাটিক রুলসেটগুলি জুড়ে কোনও এক্সটেনশনের গ্যারান্টিযুক্ত ন্যূনতম স্ট্যাটিক বিধিগুলির সংখ্যা। এই সীমাটির উপরে যে কোনও নিয়ম বিশ্বব্যাপী স্ট্যাটিক নিয়ম সীমাতে গণনা করবে।
মান
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(
callback?: function,
)
বিশ্বব্যাপী স্ট্যাটিক নিয়মের সীমা পৌঁছানোর আগে একটি এক্সটেনশন সক্ষম করতে পারে এমন স্ট্যাটিক নিয়মের সংখ্যাটি প্রদান করে।
পরামিতি
- কলব্যাক
ফাংশন al চ্ছিক
callback
প্যারামিটারটি দেখে মনে হচ্ছে:(count: number) => void
- গণনা
সংখ্যা
রিটার্নস
প্রতিশ্রুতি <সংখ্যা>
Chrome 91+প্রতিশ্রুতিগুলি কেবল ম্যানিফেস্ট ভি 3 এর জন্য সমর্থিত এবং পরে, অন্যান্য প্ল্যাটফর্মগুলিতে কলব্যাকগুলি ব্যবহার করা দরকার।
getDisabledRuleIds()
chrome.declarativeNetRequest.getDisabledRuleIds(
options: GetDisabledRuleIdsOptions,
callback?: function,
)
প্রদত্ত Ruleset
বর্তমানে অক্ষম থাকা স্ট্যাটিক বিধিগুলির তালিকা প্রদান করে।
পরামিতি
- বিকল্প
ক্যোয়ারীতে রুলসেট নির্দিষ্ট করে।
- কলব্যাক
ফাংশন al চ্ছিক
callback
প্যারামিটারটি দেখে মনে হচ্ছে:(disabledRuleIds: number[]) => void
- প্রতিবন্ধী
সংখ্যা[]
রিটার্নস
প্রতিশ্রুতি <সংখ্যা []>
প্রতিশ্রুতিগুলি কেবল ম্যানিফেস্ট ভি 3 এর জন্য সমর্থিত এবং পরে, অন্যান্য প্ল্যাটফর্মগুলিতে কলব্যাকগুলি ব্যবহার করা দরকার।
getDynamicRules()
chrome.declarativeNetRequest.getDynamicRules(
filter?: GetRulesFilter,
callback?: function,
)
এক্সটেনশনের জন্য গতিশীল নিয়মের বর্তমান সেটটি ফিরিয়ে দেয়। কলাররা একটি filter
নির্দিষ্ট করে আন্ডার বিধিগুলির তালিকাটি play চ্ছিকভাবে ফিল্টার করতে পারে।
পরামিতি
- ফিল্টার
Getrulesfilter al চ্ছিক
ক্রোম 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"
অনুমতি প্রদানের সাথে এক্সটেনশনের জন্য উপলব্ধ। দ্রষ্টব্য: পাঁচ মিনিটেরও বেশি আগে মেলে এমন কোনও সক্রিয় নথির সাথে সম্পর্কিত নয় এমন নিয়মগুলি ফেরত দেওয়া হবে না।
পরামিতি
- ফিল্টার
ম্যাচড্রুলসফিল্টার al চ্ছিক
ম্যাচ করা নিয়মের তালিকা ফিল্টার করার জন্য একটি অবজেক্ট।
- কলব্যাক
ফাংশন al চ্ছিক
callback
প্যারামিটারটি দেখে মনে হচ্ছে:(details: RulesMatchedDetails) => void
- বিস্তারিত
রিটার্নস
প্রতিশ্রুতি < বিধি
Chrome 91+প্রতিশ্রুতিগুলি কেবল ম্যানিফেস্ট ভি 3 এর জন্য সমর্থিত এবং পরে, অন্যান্য প্ল্যাটফর্মগুলিতে কলব্যাকগুলি ব্যবহার করা দরকার।
getSessionRules()
chrome.declarativeNetRequest.getSessionRules(
filter?: GetRulesFilter,
callback?: function,
)
সম্প্রসারণের জন্য সেশন স্কোপড নিয়মের বর্তমান সেটটি ফেরত দেয়। কলাররা একটি filter
নির্দিষ্ট করে আন্ডার বিধিগুলির তালিকাটি play চ্ছিকভাবে ফিল্টার করতে পারে।
পরামিতি
- ফিল্টার
Getrulesfilter al চ্ছিক
ক্রোম 111+আনার নিয়মের তালিকা ফিল্টার করার জন্য একটি অবজেক্ট।
- কলব্যাক
ফাংশন al চ্ছিক
callback
প্যারামিটারটি দেখে মনে হচ্ছে:(rules: Rule[]) => void
- নিয়ম
নিয়ম []
রিটার্নস
প্রতিশ্রুতি < বিধি []>
Chrome 91+প্রতিশ্রুতিগুলি কেবল ম্যানিফেস্ট ভি 3 এর জন্য সমর্থিত এবং পরে, অন্যান্য প্ল্যাটফর্মগুলিতে কলব্যাকগুলি ব্যবহার করা দরকার।
isRegexSupported()
chrome.declarativeNetRequest.isRegexSupported(
regexOptions: RegexOptions,
callback?: function,
)
প্রদত্ত নিয়মিত অভিব্যক্তিটি regexFilter
নিয়ম শর্ত হিসাবে সমর্থিত হবে কিনা তা পরীক্ষা করে।
পরামিতি
- Regexoptions
চেক করার জন্য নিয়মিত অভিব্যক্তি।
- কলব্যাক
ফাংশন al চ্ছিক
callback
প্যারামিটারটি দেখে মনে হচ্ছে:(result: IsRegexSupportedResult) => void
- ফলাফল
রিটার্নস
প্রতিশ্রুতি <isregexsupportedresult>
Chrome 91+প্রতিশ্রুতিগুলি কেবল ম্যানিফেস্ট ভি 3 এর জন্য সমর্থিত এবং পরে, অন্যান্য প্ল্যাটফর্মগুলিতে কলব্যাকগুলি ব্যবহার করা দরকার।
setExtensionActionOptions()
chrome.declarativeNetRequest.setExtensionActionOptions(
options: ExtensionActionOptions,
callback?: function,
)
কনফিগারগুলি যদি ট্যাবগুলির জন্য অ্যাকশন গণনাটি এক্সটেনশন অ্যাকশন ব্যাজ পাঠ্য হিসাবে প্রদর্শিত হয় এবং সেই ক্রিয়া গণনা বাড়ানোর জন্য একটি উপায় সরবরাহ করে।
পরামিতি
- বিকল্প
- কলব্যাক
ফাংশন al চ্ছিক
Chrome 89+callback
প্যারামিটারটি দেখে মনে হচ্ছে:() => void
রিটার্নস
প্রতিশ্রুতি <void>
Chrome 91+প্রতিশ্রুতিগুলি কেবল ম্যানিফেস্ট ভি 3 এর জন্য সমর্থিত এবং পরে, অন্যান্য প্ল্যাটফর্মগুলিতে কলব্যাকগুলি ব্যবহার করা দরকার।
testMatchOutcome()
chrome.declarativeNetRequest.testMatchOutcome(
request: TestMatchRequestDetails,
callback?: function,
)
এক্সটেনশনের ঘোষণাপত্রটিভেনট্রেকুয়েস্ট বিধিগুলির কোনওটি অনুমানমূলক অনুরোধের সাথে মেলে কিনা তা পরীক্ষা করে। দ্রষ্টব্য: কেবল আনপ্যাকড এক্সটেনশনের জন্য উপলব্ধ কারণ এটি কেবলমাত্র এক্সটেনশন বিকাশের সময় ব্যবহার করার উদ্দেশ্যে।
পরামিতি
- অনুরোধ
- কলব্যাক
ফাংশন al চ্ছিক
callback
প্যারামিটারটি দেখে মনে হচ্ছে:(result: TestMatchOutcomeResult) => void
- ফলাফল
রিটার্নস
প্রতিশ্রুতি < টেস্টম্যাচআউটকমারসাল্ট >
প্রতিশ্রুতিগুলি কেবল ম্যানিফেস্ট ভি 3 এর জন্য সমর্থিত এবং পরে, অন্যান্য প্ল্যাটফর্মগুলিতে কলব্যাকগুলি ব্যবহার করা দরকার।
updateDynamicRules()
chrome.declarativeNetRequest.updateDynamicRules(
options: UpdateRuleOptions,
callback?: function,
)
এক্সটেনশনের জন্য গতিশীল নিয়মের বর্তমান সেটটি সংশোধন করে। options.removeRuleIds
তালিকাভুক্ত আইডিএস সহ নিয়মগুলি প্রথমে সরানো হয়, এবং তারপরে options.addRules
দেওয়া বিধিগুলি add অ্যাডড্রুলগুলি যুক্ত করা হয়। নোট:
- এই আপডেটটি একক পারমাণবিক অপারেশন হিসাবে ঘটে: হয় সমস্ত নির্দিষ্ট বিধি যুক্ত এবং সরানো হয়, বা একটি ত্রুটি ফিরে আসে।
- এই নিয়মগুলি ব্রাউজার সেশনগুলিতে এবং এক্সটেনশন আপডেটগুলি জুড়ে অবিরত রয়েছে।
- এক্সটেনশন প্যাকেজের অংশ হিসাবে নির্দিষ্ট স্ট্যাটিক বিধিগুলি এই ফাংশনটি ব্যবহার করে অপসারণ করা যায় না।
-
MAX_NUMBER_OF_DYNAMIC_RULES
হ'ল সর্বাধিক সংখ্যক গতিশীল নিয়ম যা একটি এক্সটেনশন যুক্ত করতে পারে। অনিরাপদ বিধিগুলির সংখ্যা অবশ্যইMAX_NUMBER_OF_UNSAFE_DYNAMIC_RULES
বেশি হবে না।
পরামিতি
- বিকল্পক্রোম 87+
- কলব্যাক
ফাংশন al চ্ছিক
callback
প্যারামিটারটি দেখে মনে হচ্ছে:() => void
রিটার্নস
প্রতিশ্রুতি <void>
Chrome 91+প্রতিশ্রুতিগুলি কেবল ম্যানিফেস্ট ভি 3 এর জন্য সমর্থিত এবং পরে, অন্যান্য প্ল্যাটফর্মগুলিতে কলব্যাকগুলি ব্যবহার করা দরকার।
updateEnabledRulesets()
chrome.declarativeNetRequest.updateEnabledRulesets(
options: UpdateRulesetOptions,
callback?: function,
)
এক্সটেনশনের জন্য সক্ষম স্ট্যাটিক রুলসেটের সেট আপডেট করে। options.disableRulesetIds
তালিকাভুক্ত আইডিএস সহ রুলসেটগুলি Disisablerulesetids প্রথমে সরানো হয়, এবং তারপরে options.enableRulesetIds
তালিকাভুক্ত রুলসেটগুলি en নোট করুন যে সক্ষম স্ট্যাটিক রুলসেটগুলির সেটটি সেশনগুলি জুড়ে অব্যাহত রয়েছে তবে এক্সটেনশন আপডেটগুলি জুড়ে নয়, অর্থাত্ rule_resources
ম্যানিফেস্ট কী প্রতিটি এক্সটেনশন আপডেটে সক্ষম স্ট্যাটিক বিধিগুলির সেট নির্ধারণ করবে।
পরামিতি
- বিকল্পক্রোম 87+
- কলব্যাক
ফাংশন al চ্ছিক
callback
প্যারামিটারটি দেখে মনে হচ্ছে:() => void
রিটার্নস
প্রতিশ্রুতি <void>
Chrome 91+প্রতিশ্রুতিগুলি কেবল ম্যানিফেস্ট ভি 3 এর জন্য সমর্থিত এবং পরে, অন্যান্য প্ল্যাটফর্মগুলিতে কলব্যাকগুলি ব্যবহার করা দরকার।
updateSessionRules()
chrome.declarativeNetRequest.updateSessionRules(
options: UpdateRuleOptions,
callback?: function,
)
সম্প্রসারণের জন্য সেশন স্কোপড বিধিগুলির বর্তমান সেটটি সংশোধন করে। options.removeRuleIds
তালিকাভুক্ত আইডিএস সহ নিয়মগুলি প্রথমে সরানো হয়, এবং তারপরে options.addRules
দেওয়া বিধিগুলি add অ্যাডড্রুলগুলি যুক্ত করা হয়। নোট:
- এই আপডেটটি একক পারমাণবিক অপারেশন হিসাবে ঘটে: হয় সমস্ত নির্দিষ্ট বিধি যুক্ত এবং সরানো হয়, বা একটি ত্রুটি ফিরে আসে।
- এই নিয়মগুলি সেশনগুলি জুড়ে অবিরত থাকে না এবং স্মৃতিতে সমর্থন করা হয়।
-
MAX_NUMBER_OF_SESSION_RULES
হ'ল সর্বাধিক সংখ্যক সেশন বিধি যা একটি এক্সটেনশন যুক্ত করতে পারে।
পরামিতি
- বিকল্প
- কলব্যাক
ফাংশন al চ্ছিক
callback
প্যারামিটারটি দেখে মনে হচ্ছে:() => void
রিটার্নস
প্রতিশ্রুতি <void>
Chrome 91+প্রতিশ্রুতিগুলি কেবল ম্যানিফেস্ট ভি 3 এর জন্য সমর্থিত এবং পরে, অন্যান্য প্ল্যাটফর্মগুলিতে কলব্যাকগুলি ব্যবহার করা দরকার।
updateStaticRules()
chrome.declarativeNetRequest.updateStaticRules(
options: UpdateStaticRulesOptions,
callback?: function,
)
একটি Ruleset
পৃথক স্থির নিয়মগুলি অক্ষম করে এবং সক্ষম করে। কোনও প্রতিবন্ধী Ruleset
সাথে সম্পর্কিত নিয়মের পরিবর্তনগুলি পরের বার এটি সক্ষম হওয়ার পরে কার্যকর হবে।
পরামিতি
- বিকল্প
- কলব্যাক
ফাংশন al চ্ছিক
callback
প্যারামিটারটি দেখে মনে হচ্ছে:() => void
রিটার্নস
প্রতিশ্রুতি <void>
প্রতিশ্রুতিগুলি কেবল ম্যানিফেস্ট ভি 3 এর জন্য সমর্থিত এবং পরে, অন্যান্য প্ল্যাটফর্মগুলিতে কলব্যাকগুলি ব্যবহার করা দরকার।
ঘটনা
onRuleMatchedDebug
chrome.declarativeNetRequest.onRuleMatchedDebug.addListener(
callback: function,
)
একটি অনুরোধের সাথে কোনও বিধি মেলে যখন বরখাস্ত করা হয়। কেবলমাত্র ডিবাগিংয়ের উদ্দেশ্যে ব্যবহার করার উদ্দেশ্যে এটি "declarativeNetRequestFeedback"
অনুমতি সহ আনপ্যাকড এক্সটেনশনের জন্য উপলব্ধ।
পরামিতি
- কলব্যাক
ফাংশন
callback
প্যারামিটারটি দেখে মনে হচ্ছে:(info: MatchedRuleInfoDebug) => void
- তথ্য