chrome.proxy

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-এর সামগ্রিক আচরণ নির্ধারণ করে। এটি নিম্নলিখিত ভ্যালু নিতে পারে:

direct
direct মোডে সব কানেকশন সরাসরি তৈরি করা হয়, কোনও প্রক্সি ব্যবহার করা হয় না। এই মোড ProxyConfig অবজেক্টে আর কোনও প্যারামিটার অনুমোদন করে না।
auto_detect
auto_detect মোডে প্রক্সি কনফিগারেশন PAC স্ক্রিপ্ট দ্বারা নির্ধারিত হয় যা http://wpad/wpad.dat থেকে ডাউনলোড করা যাবে। এই মোড ProxyConfig অবজেক্টে আর কোনও প্যারামিটার অনুমোদন করে না।
pac_script
pac_script মোডে প্রক্সি কনফিগারেশন PAC স্ক্রিপ্ট দ্বারা নির্ধারিত হয় যা হয় proxy.PacScript অবজেক্টে নির্দিষ্ট করা URL থেকে উদ্ধার করা হয় অথবা proxy.PacScript অবজেক্টে নির্দিষ্ট করা data এলিমেন্ট থেকে আক্ষরিকভাবে নেওয়া হয়। এছাড়াও, এই মোড ProxyConfig অবজেক্টে আরও প্যারামিটার যোগ করার অনুমতি দেয় না।
fixed_servers
fixed_servers মোডে প্রক্সি কনফিগারেশন proxy.ProxyRules অবজেক্টে কোডিফাই করা হয়। এর গঠন প্রক্সি সংক্রান্ত নিয়ম-এ বর্ণনা করা হয়েছে। এছাড়াও, fixed_servers মোড ProxyConfig অবজেক্টে আর কোনও প্যারামিটার অনুমতি দেয় না।
system
system মোডে প্রক্সি কনফিগারেশন অপারেটিং সিস্টেম থেকে নেওয়া হয়। এই মোড 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৮০
https443
socks41080
socks51080

বাইপাস তালিকা

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]:443

IP_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

Chrome 54+

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

Chrome 54+

Enum

"http"

"https"

"quic"

"socks4"

"socks5"

প্রপার্টি

settings

প্রক্সি সেটিংস ব্যবহার করতে হবে। এই সেটিংয়ের ভ্যালু হল ProxyConfig অবজেক্ট।

ইভেন্ট

onProxyError

chrome.proxy.onProxyError.addListener(
  callback: function,
)

প্রক্সি সংক্রান্ত সমস্যার ব্যাপারে বিজ্ঞপ্তি দেয়।

প্যারামিটারগুলি

  • কলব্যাক

    ফাংশন

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

    (details: object) => void

    • বিস্তারিত বিবরণ

      অবজেক্ট

      • বিস্তারিত বিবরণ

        স্ট্রিং

        সমস্যা সম্পর্কে অতিরিক্ত বিবরণ, যেমন জাভাস্ক্রিপ্ট রানটাইম সমস্যা।

      • সমস্যা

        স্ট্রিং

        সমস্যার বিবরণ।

      • মারাত্মক

        বুলিয়ান

        সত্য হলে, সমস্যাটি মারাত্মক ছিল এবং নেটওয়ার্ক ট্রানজ্যাকশন বাতিল করা হয়েছে। অন্যথায়, পরিবর্তে সরাসরি কানেকশন ব্যবহার করা হয়।