refresh date: 2026-09-25 robots: noindex
বিবরণ
Chrome-এর প্রক্সি সেটিংস ম্যানেজ করতে chrome.proxy API ব্যবহার করুন। প্রক্সি কনফিগারেশন পাওয়া ও সেট করার জন্য এই API ChromeSetting প্রোটোটাইপ অফ দ্য টাইপ API-এর উপর নির্ভর করে।
অনুমতি
proxyম্যানিফেস্ট
প্রক্সি সেটিংস API ব্যবহার করতে আপনাকে এক্সটেনশন ম্যানিফেস্টে "প্রক্সি" সংক্রান্ত অনুমতি ঘোষণা করতে হবে। যেমন:
{
"name": "My extension",
...
"permissions": [
"proxy"
],
...
}
অবজেক্ট ও প্রপার্টি
প্রক্সি সেটিংস proxy.ProxyConfig অবজেক্টে সংজ্ঞায়িত করা হয়। Chrome-এর প্রক্সি সেটিংসের উপর নির্ভর করে,
সেটিংসে proxy.ProxyRules বা proxy.PacScript থাকতে পারে।
প্রক্সি মোড
ProxyConfig অবজেক্টের mode অ্যাট্রিবিউট প্রক্সি ব্যবহারের ক্ষেত্রে Chrome-এর সামগ্রিক আচরণ নির্ধারণ করে। এটি নিম্নলিখিত ভ্যালু নিতে পারে:
directdirectমোডে সব কানেকশন সরাসরি তৈরি করা হয়, কোনও প্রক্সি ব্যবহার করা হয় না। এই মোডProxyConfigঅবজেক্টে আর কোনও প্যারামিটার অনুমোদন করে না।auto_detectauto_detectমোডে প্রক্সি কনফিগারেশন PAC স্ক্রিপ্ট দ্বারা নির্ধারিত হয় যা http://wpad/wpad.dat থেকে ডাউনলোড করা যাবে। এই মোডProxyConfigঅবজেক্টে আর কোনও প্যারামিটার অনুমোদন করে না।pac_scriptpac_scriptমোডে প্রক্সি কনফিগারেশন PAC স্ক্রিপ্ট দ্বারা নির্ধারিত হয় যা হয়proxy.PacScriptঅবজেক্টে নির্দিষ্ট করা URL থেকে উদ্ধার করা হয় অথবাproxy.PacScriptঅবজেক্টে নির্দিষ্ট করাdataএলিমেন্ট থেকে আক্ষরিকভাবে নেওয়া হয়। এছাড়াও, এই মোডProxyConfigঅবজেক্টে আরও প্যারামিটার যোগ করার অনুমতি দেয় না।fixed_serversfixed_serversমোডে প্রক্সি কনফিগারেশনproxy.ProxyRulesঅবজেক্টে কোডিফাই করা হয়। এর গঠন প্রক্সি সংক্রান্ত নিয়ম-এ বর্ণনা করা হয়েছে। এছাড়াও,fixed_serversমোডProxyConfigঅবজেক্টে আর কোনও প্যারামিটার অনুমতি দেয় না।systemsystemমোডে প্রক্সি কনফিগারেশন অপারেটিং সিস্টেম থেকে নেওয়া হয়। এই মোডProxyConfigঅবজেক্টে আরও প্যারামিটার যোগ করার অনুমতি দেয় না। মনে রাখবেন যেsystemমোডটি কোনও প্রক্সি কনফিগারেশন সেট না করার থেকে আলাদা। পরবর্তী ক্ষেত্রে, Chrome সিস্টেম সেটিংসে ফিরে আসে শুধুমাত্র যদি কোনও কমান্ড-লাইন বিকল্প প্রক্সি কনফিগারেশনকে প্রভাবিত না করে।
প্রক্সি সংক্রান্ত নিয়ম
proxy.ProxyRules অবজেক্টে হয় singleProxy অ্যাট্রিবিউট অথবা
proxyForHttp, proxyForHttps, proxyForFtp ও fallbackProxy-এর সাবসেট থাকতে পারে।
প্রথম ক্ষেত্রে, HTTP, HTTPS এবং FTP ট্রাফিক নির্দিষ্ট প্রক্সি সার্ভারের মাধ্যমে প্রক্সি করা হয়। অন্যান্য
ট্রাফিক সরাসরি পাঠানো হয়। পরবর্তী ক্ষেত্রে আচরণটি একটু বেশি সূক্ষ্ম: HTTP, HTTPS বা FTP প্রোটোকলের জন্য কোনও প্রক্সি সার্ভার
কনফিগার করা থাকলে, সংশ্লিষ্ট ট্রাফিক নির্দিষ্ট সার্ভারের মাধ্যমে
প্রক্সি করা হয়। এই ধরনের কোনও প্রক্সি সার্ভার নির্দিষ্ট করা না থাকলে অথবা ট্রাফিক HTTP, HTTPS বা FTP-এর থেকে আলাদা প্রোটোকল ব্যবহার করলে,
fallbackProxy ব্যবহার করা হয়। কোনও fallbackProxy নির্দিষ্ট করা না থাকলে, প্রক্সি সার্ভার ছাড়াই
সরাসরি ট্রাফিক পাঠানো হয়।
প্রক্সি সার্ভার অবজেক্ট
proxy.ProxyServer অবজেক্টে প্রক্সি সার্ভার কনফিগার করা আছে। প্রক্সি সার্ভারের সাথে কানেকশন
(host অ্যাট্রিবিউট দ্বারা নির্ধারিত) scheme অ্যাট্রিবিউটে নির্ধারিত প্রোটোকল ব্যবহার করে। কোনও
scheme নির্দিষ্ট করা না থাকলে, প্রক্সি কানেকশন ডিফল্ট হিসেবে http-এ সেট করা হয়।
proxy.ProxyServer অবজেক্টে কোনও port নির্দিষ্ট করা না থাকলে, স্কিম থেকে পোর্ট নেওয়া হয়।
ডিফল্ট পোর্টগুলি হল:
| স্কিম | পোর্ট |
|---|---|
| http | ৮০ |
| https | 443 |
| socks4 | 1080 |
| socks5 | 1080 |
বাইপাস তালিকা
bypassList-এর মাধ্যমে প্রক্সি করা থেকে স্বতন্ত্র সার্ভার বাদ দেওয়া হতে পারে। এই তালিকায় নিম্নলিখিত
এন্ট্রি থাকতে পারে:
[SCHEME://]HOST_PATTERN[:PORT]HOST_PATTERNপ্যাটার্নের সাথে মেলে এমন সব হোস্টনেম ম্যাচ করুন। প্রথমে থাকা"."-কে"*."হিসেবে ব্যাখ্যা করা হয়।উদাহরণ:
"foobar.com", "*foobar.com", "*.foobar.com", "*foobar.com:99", "https://x.*.y.com:99"।প্যাটার্ন ম্যাচ না মেলা URL ".foobar.com""www.foobar.com""foobar.com""*.foobar.com""www.foobar.com""foobar.com""foobar.com""foobar.com""www.foobar.com""*foobar.com""foobar.com","www.foobar.com","foofoobar.com"[SCHEME://]IP_LITERAL[:PORT]IP অ্যাড্রেস লিটারেল আছে এমন URL-এর সাথে মিল আছে। ধারণাগতভাবে এটি প্রথম কেসের মতোই, তবে IP লিটারেল ক্যানোনিকালাইজেশন ম্যানেজ করার জন্য বিশেষ কেস সহ। যেমন, "[0:0:0::1]" ম্যাচ করা ও "[::1]" ম্যাচ করা একই, কারণ IPv6 ক্যানোনিকালাইজেশন ইন্টার্নালি করা হয়।
উদাহরণ:
127.0.1,[0:0::1],[::1]:80,https://[::1]:443IP_LITERAL/PREFIX_LENGTH_IN_BITSপ্রদত্ত রেঞ্জের মধ্যে IP লিটারেল (
IP_LITERAL) আছে এমন যেকোনও URL-এর সাথে মিল আছে। IP রেঞ্জ (PREFIX_LENGTH_IN_BITS) CIDR নোটেশন ব্যবহার করে নির্দিষ্ট করা হয়েছে।প্রদত্ত রেঞ্জের মধ্যে IP লিটারেল আছে এমন যেকোনও URL-এর সাথে ম্যাচ করুন। CIDR নোটেশন ব্যবহার করে IP রেঞ্জ নির্দিষ্ট করা হয়। উদাহরণ:
"192.168.1.1/16", "fefe:13::abc/33"<local>লিটারেল স্ট্রিং
<local>সাধারণ হোস্টনেমের সাথে ম্যাচ করে। একটি সাধারণ হোস্টনেম হল এমন একটি নাম যাতে কোনও ডট থাকে না এবং এটি কোনও IP লিটারেল নয়। যেমন,exampleএবংlocalhostহল সাধারণ হোস্টনেম, কিন্তুexample.com,example.এবং[::1]তা নয়।উদাহরণ:
"<local>"
উদাহরণ
নিম্নলিখিত কোডটি foobar.com ছাড়া সব সার্ভারে HTTP কানেকশনের জন্য SOCKS 5 প্রক্সি সেট করে এবং অন্যান্য সব প্রোটোকলের জন্য সরাসরি কানেকশন ব্যবহার করে। সেটিংস সাধারণ ও ছদ্মবেশী উইন্ডোর ক্ষেত্রে প্রযোজ্য হয়, কারণ ছদ্মবেশী উইন্ডো সাধারণ উইন্ডো থেকে সেটিংস গ্রহণ করে। এছাড়াও, Types API ডকুমেন্টেশন দেখুন।
var config = {
mode: "fixed_servers",
rules: {
proxyForHttp: {
scheme: "socks5",
host: "1.2.3.4"
},
bypassList: ["foobar.com"]
}
};
chrome.proxy.settings.set(
{value: config, scope: 'regular'},
function() {}
);
নিম্নলিখিত কোডটি একটি কাস্টম PAC স্ক্রিপ্ট সেট করে।
var config = {
mode: "pac_script",
pacScript: {
data: "function FindProxyForURL(url, host) {\n" +
" if (host == 'foobar.com')\n" +
" return 'PROXY blackhole:80';\n" +
" return 'DIRECT';\n" +
"}"
}
};
chrome.proxy.settings.set(
{value: config, scope: 'regular'},
function() {}
);
পরবর্তী স্নিপেট বর্তমানে কার্যকর প্রক্সি সেটিংস কোয়েরি করে। কার্যকরী প্রক্সি সেটিংস অন্য এক্সটেনশন বা নীতির মাধ্যমে নির্ধারণ করা যেতে পারে। বিস্তারিত জানতে Types API ডকুমেন্টেশন দেখুন।
chrome.proxy.settings.get(
{'incognito': false},
function(config) {
console.log(JSON.stringify(config));
}
);
মনে রাখবেন যে set()-এ পাস করা value অবজেক্টটি get()-এর কলব্যাক ফাংশনে পাস করা value অবজেক্টের মতো নয়। পরেরটিতে rules.proxyForHttp.port এলিমেন্ট থাকবে।
ধরন
Mode
Enum
"direct"
"auto_detect"
"pac_script"
"fixed_servers"
"সিস্টেম"
PacScript
প্রক্সি অটো-কনফিগারেশন সংক্রান্ত তথ্য সহ অবজেক্ট। ফিল্ডগুলির মধ্যে ঠিক একটি খালি রাখা যাবে না।
প্রপার্টি
-
ডেটা
স্ট্রিং ঐচ্ছিক
একটি PAC স্ক্রিপ্ট।
-
বাধ্যতামূলক
বুলিয়ান ঐচ্ছিক
এটি সত্য হলে, একটি ভুল PAC স্ক্রিপ্ট নেটওয়ার্ক স্ট্যাককে সরাসরি কানেকশনে ফিরে যেতে বাধা দেবে। ডিফল্ট হিসেবে false সেট করা থাকে।
-
URL
স্ট্রিং ঐচ্ছিক
ব্যবহার করার জন্য PAC ফাইলের URL।
ProxyConfig
সম্পূর্ণ প্রক্সি কনফিগারেশন এনক্যাপসুলেট করা একটি অবজেক্ট।
প্রপার্টি
-
মোড
'direct' = কখনও প্রক্সি ব্যবহার করবেন না 'auto_detect' = প্রক্সি সেটিংস অটোমেটিক শনাক্ত করুন 'pac_script' = নির্দিষ্ট করা PAC স্ক্রিপ্ট ব্যবহার করুন 'fixed_servers' = ম্যানুয়ালি প্রক্সি সার্ভার নির্দিষ্ট করুন 'system' = সিস্টেম প্রক্সি সেটিংস ব্যবহার করুন
-
pacScript
PacScript ঐচ্ছিক
এই কনফিগারেশনের জন্য প্রক্সি অটো-কনফিগ (PAC) স্ক্রিপ্ট। 'pac_script' মোডের জন্য এটি ব্যবহার করুন।
-
নীয়মগুলি
ProxyRules ঐচ্ছিক
এই কনফিগারেশন বর্ণনা করে প্রক্সি নিয়ম। 'fixed_servers' মোডের জন্য এটি ব্যবহার করুন।
ProxyRules
সব প্রোটোকলের জন্য প্রক্সি নিয়মের সেট এনক্যাপসুলেট করা একটি অবজেক্ট। 'singleProxy' অথবা 'proxyForHttp', 'proxyForHttps', 'proxyForFtp' ও 'fallbackProxy'-এর (একটি সাবসেট) মধ্যে যেকোনও একটি ব্যবহার করুন।
প্রপার্টি
-
bypassList
string[] ঐচ্ছিক
প্রক্সি সার্ভার ছাড়াই কানেক্ট করার জন্য সার্ভারের তালিকা।
-
fallbackProxy
ProxyServer ঐচ্ছিক
অন্য সবকিছুর জন্য ব্যবহার করার জন্য প্রক্সি সার্ভার বা নির্দিষ্ট proxyFor...-এর কোনওটি নির্দিষ্ট করা না থাকলে।
-
proxyForFtp
ProxyServer ঐচ্ছিক
FTP অনুরোধের জন্য ব্যবহার করার প্রক্সি সার্ভার।
-
proxyForHttp
ProxyServer ঐচ্ছিক
HTTP অনুরোধের জন্য ব্যবহার করার প্রক্সি সার্ভার।
-
proxyForHttps
ProxyServer ঐচ্ছিক
HTTPS অনুরোধের জন্য ব্যবহার করার প্রক্সি সার্ভার।
-
singleProxy
ProxyServer ঐচ্ছিক
প্রতিটি URL-এর অনুরোধের জন্য (যেমন http, https এবং ftp) প্রক্সি সার্ভার ব্যবহার করা হবে।
ProxyServer
একটি অবজেক্ট যা একটি প্রক্সি সার্ভারের স্পেসিফিকেশন এনক্যাপসুলেট করে।
প্রপার্টি
-
হোস্ট
স্ট্রিং
প্রক্সি সার্ভারের হোস্টনেম বা IP অ্যাড্রেস। হোস্টনেম অবশ্যই ASCII (Punycode ফর্ম্যাটে) হতে হবে। IDNA এখনও কাজ করে না।
-
পোর্ট
নম্বর ঐচ্ছিক
প্রক্সি সার্ভারের পোর্ট। ডিফল্ট হিসেবে এমন একটি পোর্ট যা স্কিমের উপর নির্ভর করে।
-
স্কিম
স্কিম ঐচ্ছিক
প্রক্সি সার্ভারের স্কিম (প্রোটোকল)। ডিফল্ট হিসেবে 'http' সেট করা থাকে।
Scheme
Enum
"http"
"https"
"quic"
"socks4"
"socks5"
প্রপার্টি
settings
প্রক্সি সেটিংস ব্যবহার করতে হবে। এই সেটিংয়ের ভ্যালু হল ProxyConfig অবজেক্ট।
ইভেন্ট
onProxyError
chrome.proxy.onProxyError.addListener(
callback: function,
)
প্রক্সি সংক্রান্ত সমস্যার ব্যাপারে বিজ্ঞপ্তি দেয়।
প্যারামিটারগুলি
-
কলব্যাক
ফাংশন
callbackপ্যারামিটারটি দেখতে এইরকম:(details: object) => void
-
বিস্তারিত বিবরণ
অবজেক্ট
-
বিস্তারিত বিবরণ
স্ট্রিং
সমস্যা সম্পর্কে অতিরিক্ত বিবরণ, যেমন জাভাস্ক্রিপ্ট রানটাইম সমস্যা।
-
সমস্যা
স্ট্রিং
সমস্যার বিবরণ।
-
মারাত্মক
বুলিয়ান
সত্য হলে, সমস্যাটি মারাত্মক ছিল এবং নেটওয়ার্ক ট্রানজ্যাকশন বাতিল করা হয়েছে। অন্যথায়, পরিবর্তে সরাসরি কানেকশন ব্যবহার করা হয়।
-
-