chrome.vpnProvider

refresh date: 2026-09-25 robots: noindex

বিবরণ

VPN ক্লায়েন্ট প্রয়োগ করতে chrome.vpnProvider API ব্যবহার করুন।

অনুমতি

vpnProvider

উপলভ্যতা

Chrome 43+ শুধুমাত্র ChromeOS

ব্যবহার

vpnProvider-এর সাধারণ ব্যবহার নিচে উল্লেখ করা হল:

  • createConfig পদ্ধতি ব্যবহার করে VPN কনফিগারেশন তৈরি করুন। VPN কনফিগারেশন হল একটি স্থায়ী এন্ট্রি যা ব্যবহারকারীকে নেটিভ ChromeOS UI-তে দেখানো হয়। ব্যবহারকারী তালিকা থেকে VPN কনফিগারেশন বেছে নিতে এবং সেটিতে কানেক্ট করতে বা ডিসকানেক্ট করতে পারবেন।

  • onPlatformMessage, onPacketReceived এবং onConfigRemoved ইভেন্টে লিসনার যোগ করুন।

  • ব্যবহারকারী VPN কনফিগারেশনের সাথে কানেক্ট করলে, onPlatformMessage মেসেজটি "connected" সহ পাওয়া যাবে। মেসেজ "connected" ও "disconnected"-এর মধ্যবর্তী সময়কে আমরা VPN সেশন হিসেবে উল্লেখ করি। এই সময়সীমার মধ্যে, যে এক্সটেনশন মেসেজটি পায়, সেটি VPN সেশনের মালিক বলে ধরা হয়।

  • VPN সার্ভারের সাথে কানেকশন শুরু করুন এবং VPN ক্লায়েন্ট চালু করুন।

  • setParameters ব্যবহার করে কানেকশনের প্যারামিটার সেট করুন।

  • notifyConnectionStateChanged ব্যবহার করে কানেকশন স্ট্যাটাস "connected" হিসেবে বিজ্ঞপ্তি পাঠাও।

  • উপরে উল্লেখ করা ধাপগুলি কোনও সমস্যা ছাড়াই সম্পূর্ণ করা হলে, ChromeOS-এর নেটওয়ার্ক স্ট্যাকের সাথে একটি ভার্চুয়াল টানেল তৈরি হয়। sendPacket ব্যবহার করে টানেলের মাধ্যমে IP প্যাকেট পাঠানো যেতে পারে এবং ChromeOS ডিভাইসে তৈরি হওয়া যেকোনও প্যাকেট onPacketReceived ইভেন্ট ব্যবহার করে রিসিভ করা হবে।

  • ব্যবহারকারী VPN কনফিগারেশন থেকে ডিসকানেক্ট করলে, "disconnected" মেসেজ সহ onPlatformMessage ফায়ার করা হবে।

  • VPN কনফিগারেশনের আর প্রয়োজন না থাকলে, destroyConfig ব্যবহার করে এটি মুছে ফেলা যাবে।

ধরন

Parameters

প্রপার্টি

  • ঠিকানা

    স্ট্রিং

    CIDR নোটেশনে VPN ইন্টারফেসের জন্য IP অ্যাড্রেস। বর্তমানে শুধুমাত্র IPv4 মোড কাজ করে।

  • broadcastAddress

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

    VPN ইন্টারফেসের জন্য ব্রডকাস্ট অ্যাড্রেস। (ডিফল্ট: IP অ্যাড্রেস ও মাস্ক থেকে অনুমান করা হয়েছে)

  • dnsServers

    স্ট্রিং[]

    ডিএনএস (DNS) সার্ভারের জন্য IP-এর তালিকা।

  • domainSearch

    string[] ঐচ্ছিক

    সার্চ ডোমেনের তালিকা। (ডিফল্ট: কোনও সার্চ ডোমেন নেই)

  • exclusionList

    স্ট্রিং[]

    CIDR নোটেশনে টানেল থেকে IP ব্লকের তালিকায় নেটওয়ার্ক ট্রাফিক বাদ দিন। এটি VPN সার্ভারে ট্রাফিক বাইপাস করতে ব্যবহার করা যেতে পারে। কোনও গন্তব্যের সাথে একাধিক নিয়ম ম্যাচ করলে, সবচেয়ে দীর্ঘ ম্যাচিং প্রিফিক্স সহ নিয়মটি বেছে নেওয়া হয়। একই CIDR ব্লকের সাথে সম্পর্কিত এন্ট্রিগুলিকে ডুপ্লিকেট হিসেবে বিবেচনা করা হয়। সংকলিত (exclusionList + inclusionList) তালিকায় এই ধরনের ডুপ্লিকেট বাদ দেওয়া হয় এবং ঠিক কোন ডুপ্লিকেট এন্ট্রি বাদ দেওয়া হবে তা নির্দিষ্ট করা হয় না।

  • inclusionList

    string[]

    টানেলে CIDR নোটেশনে IP ব্লকের তালিকায় নেটওয়ার্ক ট্রাফিক অন্তর্ভুক্ত করুন। এই প্যারামিটারটি স্প্লিট টানেল সেট-আপ করতে ব্যবহার করা যেতে পারে। ডিফল্ট হিসেবে, কোনও ট্রাফিক টানেলে ডাইরেক্ট করা হয় না। এই তালিকায় "0.0.0.0/0" এন্ট্রি যোগ করলে, ব্যবহারকারীর সব ট্রাফিক টানেলে রিডাইরেক্ট করা হয়। কোনও গন্তব্যের সাথে একাধিক নিয়ম মিলে গেলে, সবচেয়ে দীর্ঘ মিলে যাওয়া প্রিফিক্স সহ নিয়মটি বেছে নেওয়া হয়। একই CIDR ব্লকের সাথে সম্পর্কিত এন্ট্রি ডুপ্লিকেট হিসেবে বিবেচনা করা হয়। সংকলিত (exclusionList + inclusionList) তালিকায় এই ধরনের ডুপ্লিকেট বাদ দেওয়া হয় এবং ঠিক কোন ডুপ্লিকেট এন্ট্রি বাদ দেওয়া হবে তা নির্দিষ্ট করা হয় না।

  • mtu

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

    VPN ইন্টারফেসের জন্য MTU সেটিং। (ডিফল্ট: ১৫০০ বাইট)

  • আবার কানেক্ট করো

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

    Chrome 51+

    VPN এক্সটেনশন অটোমেটিক-রিকানেকশন প্রয়োগ করে কিনা।

    সত্য হলে, linkDown, linkUp, linkChanged, suspend এবং resume প্ল্যাটফর্ম মেসেজ সংশ্লিষ্ট ইভেন্ট সম্পর্কে সিগন্যাল দিতে ব্যবহার করা হবে। মিথ্যা হলে, নেটওয়ার্ক টপোলজি পরিবর্তন হলে সিস্টেম জোরপূর্বক VPN ডিসকানেক্ট করবে এবং ব্যবহারকারীকে ম্যানুয়ালি আবার কানেক্ট করতে হবে। (ডিফল্ট: false)

    এই প্রপার্টি Chrome 51-এ নতুন; এটি আগের ভার্সনে ব্যতিক্রম তৈরি করবে। ব্রাউজার সাপোর্টের উপর ভিত্তি করে ফিচারটি শর্তসাপেক্ষে চালু করতে try/catch ব্যবহার করা যেতে পারে।

PlatformMessage

VPN সেশনের স্ট্যাটাস সম্পর্কে ক্লায়েন্টকে জানাতে প্ল্যাটফর্মের মাধ্যমে enum ব্যবহার করা হয়।

Enum

"কানেক্ট করা হয়েছে"
VPN কনফিগারেশন কানেক্ট করা হয়েছে বলে দেখায়।

"ডিসকানেক্ট করা হয়েছে"
VPN কনফিগারেশন ডিসকানেক্ট করা হয়েছে বলে দেখায়।

"error"
এটি দেখায় যে VPN কানেকশনে কোনও সমস্যা হয়েছে, যেমন টাইমআউট। onPlatformMessage-এ সমস্যার আর্গুমেন্ট হিসেবে সমস্যার বিবরণ দেওয়া আছে।

"linkDown"
এর থেকে বোঝা যায় যে ডিফল্ট ফিজিক্যাল নেটওয়ার্ক কানেকশন কাজ করছে না।

"linkUp"
ডিফল্ট ফিজিক্যাল নেটওয়ার্ক কানেকশন ব্যাক-আপ করা হয়েছে বলে দেখায়।

"linkChanged"
এর থেকে বোঝা যায় যে ডিফল্ট ফিজিক্যাল নেটওয়ার্ক কানেকশন পরিবর্তন হয়েছে, যেমন ওয়াই-ফাই->মোবাইল।

"সাসপেন্ড"
এর থেকে বোঝা যায় যে OS সাসপেন্ড করার জন্য প্রস্তুতি নিচ্ছে, তাই VPN-কে কানেকশন ড্রপ করতে হবে। সাসপেন্ড করার আগে এক্সটেনশন এই ইভেন্ট পাবেই এমন গ্যারান্টি নেই।

"resume"
এটি দেখায় যে OS আবার চালু হয়েছে এবং ব্যবহারকারী আবার লগ-ইন করেছেন, তাই VPN-এর আবার কানেক্ট করার চেষ্টা করা উচিত।

UIEvent

onUIEvent ট্রিগার করা ইভেন্ট নির্দেশ করতে প্ল্যাটফর্মের মাধ্যমে enum ব্যবহার করা হয়।

Enum

"showAddDialog"
VPN ক্লায়েন্টকে ব্যবহারকারীর জন্য কনফিগারেশন যোগ করার ডায়ালগ বক্স দেখানোর অনুরোধ করে।

"showConfigureDialog"
VPN ক্লায়েন্টকে ব্যবহারকারীর কাছে কনফিগারেশন সেটিংস ডায়ালগ বক্স দেখানোর অনুরোধ করে।

VpnConnectionState

VPN ক্লায়েন্ট তার বর্তমান স্ট্যাটাস সম্পর্কে প্ল্যাটফর্মকে জানাতে এই এনুম ব্যবহার করে। এটি ব্যবহারকারীকে অর্থপূর্ণ মেসেজ প্রদান করতে সাহায্য করে।

Enum

"কানেক্ট করা হয়েছে"
VPN কানেকশন সফল হয়েছে কিনা তা নির্দিষ্ট করে।

"failure"
VPN কানেকশন কাজ করেনি তা নির্দিষ্ট করে।

পদ্ধতি

createConfig()

প্রতিশ্রুতি
chrome.vpnProvider.createConfig(
  name: string,
  callback?: function,
)
: Promise<string>

নতুন VPN কনফিগারেশন তৈরি করে যা ব্যবহারকারীর একাধিক লগ-ইন সেশন জুড়ে বজায় থাকে।

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

  • নাম

    স্ট্রিং

    VPN কনফিগারেশনের নাম।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

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

    (id: string) => void

    • id

      স্ট্রিং

      তৈরি করা কনফিগারেশনের জন্য একটি অনন্য আইডি, অথবা ব্যর্থ হলে undefined।

রিটার্ন

  • Promise<string>

    Chrome 96+

    কনফিগারেশন তৈরি হলে সমাধান করে বা কোনও সমস্যা থাকলে বাতিল করে এমন একটি Promise রিটার্ন করে।

    Manifest V3 এবং তার পরবর্তী ভার্সনে শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হয়।

destroyConfig()

প্রতিশ্রুতি
chrome.vpnProvider.destroyConfig(
  id: string,
  callback?: function,
)
: Promise<void>

এক্সটেনশন দ্বারা তৈরি VPN কনফিগারেশন মুছে দেয়।

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

  • id

    স্ট্রিং

    VPN কনফিগারেশনের আইডি নষ্ট করতে হবে।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

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

    () => void

রিটার্ন

  • Promise<void>

    Chrome 96+

    কনফিগারেশন নষ্ট হয়ে গেলে বা কোনও সমস্যা হলে, এটি একটি Promise রিটার্ন করে যা সমাধান করে বা বাতিল করে।

    Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।

notifyConnectionStateChanged()

প্রতিশ্রুতি
chrome.vpnProvider.notifyConnectionStateChanged(
  state: VpnConnectionState,
  callback?: function,
)
: Promise<void>

প্ল্যাটফর্মে VPN সেশনের অবস্থা সম্পর্কে বিজ্ঞপ্তি দেয়। This will succeed only when the VPN session is owned by the extension.

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

  • রাজ্য

    VPN ক্লায়েন্টের VPN সেশন স্ট্যাটাস।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

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

    () => void

রিটার্ন

  • Promise<void>

    Chrome 96+

    বিজ্ঞপ্তি সম্পূর্ণ হলে সমাধান করা হয় এমন একটি Promise রিটার্ন করে অথবা কোনও সমস্যা হলে তা বাতিল করে দেয়।

    Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মকে কলব্যাক ব্যবহার করতে হবে।

sendPacket()

প্রতিশ্রুতি
chrome.vpnProvider.sendPacket(
  data: ArrayBuffer,
  callback?: function,
)
: Promise<void>

VPN সেশনের জন্য তৈরি করা টানেলের মাধ্যমে IP প্যাকেট পাঠায়। This will succeed only when the VPN session is owned by the extension.

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

  • ডেটা

    ArrayBuffer

    IP প্যাকেট প্ল্যাটফর্মে পাঠাতে হবে।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

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

    () => void

রিটার্ন

  • Promise<void>

    Chrome 96+

    প্যাকেট পাঠানো হলে বা কোনও সমস্যা হলে তা বাতিল করা হলে, একটি Promise রিটার্ন করে যা সমাধান করে।

    Manifest V3 ও তার পরবর্তী ভার্সনের ক্ষেত্রেই শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হয়।

setParameters()

প্রতিশ্রুতি
chrome.vpnProvider.setParameters(
  parameters: Parameters,
  callback?: function,
)
: Promise<void>

VPN সেশনের জন্য প্যারামিটার সেট করে। প্ল্যাটফর্ম থেকে "connected" পাওয়ার সাথে সাথেই এটি কল করতে হবে। This will succeed only when the VPN session is owned by the extension.

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

  • VPN সেশনের প্যারামিটার।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

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

    () => void

রিটার্ন

  • Promise<void>

    Chrome 96+

    প্যারামিটার সেট করা হলে সমাধান করে বা কোনও সমস্যা হলে প্রত্যাখ্যান করে এমন একটি প্রমিস ফেরত দেয়।

    Manifest V3 ও তার পরবর্তী ভার্সনের ক্ষেত্রেই শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হয়।

ইভেন্ট

onConfigCreated

chrome.vpnProvider.onConfigCreated.addListener(
  callback: function,
)

এক্সটেনশনের জন্য প্ল্যাটফর্মের মাধ্যমে কোনও কনফিগারেশন তৈরি করা হলে ট্রিগার করা হয়।

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

  • কলব্যাক

    ফাংশন

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

    (id: string, name: string, data: object) => void

    • id

      স্ট্রিং

    • নাম

      স্ট্রিং

    • ডেটা

      অবজেক্ট

onConfigRemoved

chrome.vpnProvider.onConfigRemoved.addListener(
  callback: function,
)

এক্সটেনশন দ্বারা তৈরি কনফিগারেশন প্ল্যাটফর্মের মাধ্যমে সরিয়ে দেওয়া হলে ট্রিগার করা হয়।

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

  • কলব্যাক

    ফাংশন

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

    (id: string) => void

    • id

      স্ট্রিং

onPacketReceived

chrome.vpnProvider.onPacketReceived.addListener(
  callback: function,
)

এক্সটেনশনের মালিকানাধীন VPN সেশনের জন্য টানেলের মাধ্যমে IP প্যাকেট পেলে ট্রিগার করা হয়।

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

  • কলব্যাক

    ফাংশন

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

    (data: ArrayBuffer) => void

    • ডেটা

      ArrayBuffer

onPlatformMessage

chrome.vpnProvider.onPlatformMessage.addListener(
  callback: function,
)

এক্সটেনশনের মালিকানাধীন VPN কনফিগারেশনের জন্য প্ল্যাটফর্ম থেকে কোনও মেসেজ পেলে ট্রিগার করা হয়।

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

  • কলব্যাক

    ফাংশন

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

    (id: string, message: PlatformMessage, error: string) => void

    • id

      স্ট্রিং

    • মেসেজ
    • সমস্যা

      স্ট্রিং

onUIEvent

chrome.vpnProvider.onUIEvent.addListener(
  callback: function,
)

এক্সটেনশনের জন্য কোনও UI ইভেন্ট থাকলে ট্রিগার করা হয়। UI ইভেন্ট হল প্ল্যাটফর্ম থেকে পাওয়া এমন সিগন্যাল যা অ্যাপকে জানায় যে ব্যবহারকারীকে একটি UI ডায়ালগ দেখাতে হবে।

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

  • কলব্যাক

    ফাংশন

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

    (event: UIEvent, id?: string) => void

    • ইভেন্ট
    • id

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