বর্ণনা
একটি VPN ক্লায়েন্ট বাস্তবায়ন করতে chrome.vpnProvider
API ব্যবহার করুন৷
অনুমতি
vpnProvider
প্রাপ্যতা
ধারণা এবং ব্যবহার
chrome.vpnProvider
এর সাধারণ ব্যবহার নিম্নরূপ:
createConfig()
কল করে VPN কনফিগারেশন তৈরি করুন। একটি VPN কনফিগারেশন হল একটি ক্রমাগত এন্ট্রি যা একটি ChromeOS UI এ ব্যবহারকারীকে দেখানো হয়। ব্যবহারকারী একটি তালিকা থেকে একটি VPN কনফিগারেশন নির্বাচন করতে পারেন এবং এটির সাথে সংযোগ করতে বা এটি থেকে সংযোগ বিচ্ছিন্ন করতে পারেন৷onPlatformMessage
,onPacketReceived
এবংonConfigRemoved
ইভেন্টে শ্রোতাদের যোগ করুন।ব্যবহারকারী যখন VPN কনফিগারেশনের সাথে সংযোগ স্থাপন করেন, তখন
onPlatformMessage
"connected"
বার্তাটি পাবেন।"connected"
এবং"disconnected"
বার্তাগুলির মধ্যে সময়কালকে "VPN সেশন" বলা হয়। এই সময়ের মধ্যে, যে এক্সটেনশনটি বার্তাটি গ্রহণ করে সেটিকে VPN সেশনের মালিক বলে বলা হয়।VPN সার্ভারের সাথে সংযোগ শুরু করুন এবং VPN ক্লায়েন্ট শুরু করুন।
setParameters()
কল করে সংযোগের পরামিতি সেট করুন।notifyConnectionStateChanged()
কল করে সংযোগের অবস্থাকে"connected"
হিসাবে অবহিত করুন।পূর্ববর্তী পদক্ষেপগুলি ত্রুটি ছাড়াই সম্পন্ন হলে, ChromeOS-এর নেটওয়ার্ক স্ট্যাকে একটি ভার্চুয়াল টানেল তৈরি করা হয়৷
sendPacket()
কল করে আইপি প্যাকেটগুলি টানেলের মাধ্যমে পাঠানো যেতে পারে এবং ChromeOS ডিভাইসে উৎপন্ন যেকোন প্যাকেটonPacketReceived
ইভেন্ট হ্যান্ডলার ব্যবহার করে গৃহীত হবে।যখন ব্যবহারকারী VPN কনফিগারেশন থেকে সংযোগ বিচ্ছিন্ন করে, তখন
onPlatformMessage
"disconnected"
বার্তা দিয়ে বহিস্কার করা হবে।যদি VPN কনফিগারেশনের আর প্রয়োজন না হয়, তাহলে
destroyConfig()
কল করে এটি ধ্বংস করা যেতে পারে।
প্রকারভেদ
Parameters
বৈশিষ্ট্য
- ঠিকানা
স্ট্রিং
CIDR স্বরলিপিতে VPN ইন্টারফেসের জন্য IP ঠিকানা। IPv4 বর্তমানে একমাত্র সমর্থিত মোড।
- সম্প্রচার ঠিকানা
স্ট্রিং ঐচ্ছিক
VPN ইন্টারফেসের জন্য সম্প্রচার ঠিকানা। (ডিফল্ট: আইপি ঠিকানা এবং মুখোশ থেকে প্রাপ্ত)
- ডিএনএস সার্ভার
স্ট্রিং[]
DNS সার্ভারের জন্য আইপিগুলির একটি তালিকা।
- ডোমেইন অনুসন্ধান
স্ট্রিং[] ঐচ্ছিক
অনুসন্ধান ডোমেনগুলির একটি তালিকা৷ (ডিফল্ট: কোন অনুসন্ধান ডোমেন নেই)
- বর্জনের তালিকা
স্ট্রিং[]
টানেল থেকে CIDR নোটেশনে IP ব্লকের তালিকায় নেটওয়ার্ক ট্র্যাফিক বাদ দিন। এটি ভিপিএন সার্ভারে এবং থেকে ট্র্যাফিক বাইপাস করতে ব্যবহার করা যেতে পারে। যখন অনেক নিয়ম একটি গন্তব্যের সাথে মেলে, সবচেয়ে দীর্ঘমেয়াদী উপসর্গ সহ নিয়মটি জয়ী হয়। একই CIDR ব্লকের সাথে সম্পর্কিত এন্ট্রিগুলিকে ডুপ্লিকেট হিসাবে গণ্য করা হয়। সমন্বিত (বহির্ভূত তালিকা + অন্তর্ভুক্তি তালিকা) তালিকার এই জাতীয় সদৃশগুলি মুছে ফেলা হয় এবং সঠিক নকল এন্ট্রি যা বাদ দেওয়া হবে তা অনির্ধারিত।
- অন্তর্ভুক্তি তালিকা
স্ট্রিং[]
টানেলে CIDR স্বরলিপিতে IP ব্লকের তালিকায় নেটওয়ার্ক ট্র্যাফিক অন্তর্ভুক্ত করুন। এই প্যারামিটারটি একটি বিভক্ত টানেল সেট আপ করতে ব্যবহার করা যেতে পারে। ডিফল্টরূপে কোন ট্র্যাফিক টানেলের দিকে পরিচালিত হয় না। এই তালিকায় "0.0.0.0/0" এন্ট্রি যোগ করলে সমস্ত ব্যবহারকারীর ট্র্যাফিক টানেলে পুনঃনির্দেশিত হয়৷ যখন অনেক নিয়ম একটি গন্তব্যের সাথে মেলে, সবচেয়ে দীর্ঘমেয়াদী উপসর্গ সহ নিয়মটি জয়ী হয়। একই CIDR ব্লকের সাথে সম্পর্কিত এন্ট্রিগুলিকে ডুপ্লিকেট হিসাবে গণ্য করা হয়। সমন্বিত (বহির্ভূত তালিকা + অন্তর্ভুক্তি তালিকা) তালিকার এই জাতীয় সদৃশগুলি মুছে ফেলা হয় এবং সঠিক নকল এন্ট্রি যা বাদ দেওয়া হবে তা অনির্ধারিত।
- mtu
স্ট্রিং ঐচ্ছিক
VPN ইন্টারফেসের জন্য MTU সেটিং। (ডিফল্ট: 1500 বাইট)
- পুনরায় সংযোগ করা
স্ট্রিং ঐচ্ছিক
Chrome 51+ভিপিএন এক্সটেনশন স্বয়ংক্রিয়-পুনঃসংযোগ প্রয়োগ করে কিনা।
সত্য হলে,
linkDown
,linkUp
,linkChanged
,suspend
, এবংresume
প্ল্যাটফর্ম বার্তাগুলি সংশ্লিষ্ট ইভেন্টগুলিকে সংকেত দিতে ব্যবহার করা হবে৷ মিথ্যা হলে, নেটওয়ার্ক টপোলজি পরিবর্তন হলে সিস্টেম জোরপূর্বক VPN সংযোগ বিচ্ছিন্ন করবে এবং ব্যবহারকারীকে ম্যানুয়ালি পুনরায় সংযোগ করতে হবে। (ডিফল্ট: মিথ্যা)এই বৈশিষ্ট্যটি Chrome 51-এ নতুন; এটি পূর্ববর্তী সংস্করণগুলিতে একটি ব্যতিক্রম তৈরি করবে। ব্রাউজার সমর্থনের উপর ভিত্তি করে শর্তসাপেক্ষে বৈশিষ্ট্যটি সক্ষম করতে try/catch ব্যবহার করা যেতে পারে।
PlatformMessage
ভিপিএন সেশন স্ট্যাটাস ক্লায়েন্টকে অবহিত করতে প্ল্যাটফর্ম দ্বারা enum ব্যবহার করা হয়।
এনাম
"সংযুক্ত" "সংযোগ বিচ্ছিন্ন" "ত্রুটি" "লিংকডাউন" "লিংকআপ" "লিংক পরিবর্তিত" "সাসপেন্ড" "পুনরাবৃত্ত"
নির্দেশ করে যে VPN কনফিগারেশন সংযুক্ত।
নির্দেশ করে যে VPN কনফিগারেশন সংযোগ বিচ্ছিন্ন হয়েছে৷
নির্দেশ করে যে VPN সংযোগে একটি ত্রুটি ঘটেছে, উদাহরণস্বরূপ একটি সময়সীমা। ত্রুটির একটি বিবরণ onPlatformMessage-এ ত্রুটি যুক্তি হিসাবে দেওয়া হয়েছে।
নির্দেশ করে যে ডিফল্ট শারীরিক নেটওয়ার্ক সংযোগ বন্ধ আছে।
নির্দেশ করে যে ডিফল্ট শারীরিক নেটওয়ার্ক সংযোগ ব্যাক আপ হয়েছে৷
নির্দেশ করে যে ডিফল্ট শারীরিক নেটওয়ার্ক সংযোগ পরিবর্তিত হয়েছে, যেমন wifi->মোবাইল৷
নির্দেশ করে যে OS স্থগিত করার জন্য প্রস্তুতি নিচ্ছে, তাই VPN এর সংযোগ বাদ দেওয়া উচিত। এক্সটেনশন স্থগিত করার আগে এই ইভেন্টটি পাওয়ার নিশ্চয়তা নেই।
নির্দেশ করে যে OS পুনরায় চালু হয়েছে এবং ব্যবহারকারী আবার লগ ইন করেছেন, তাই VPN পুনরায় সংযোগ করার চেষ্টা করা উচিত।
UIEvent
প্ল্যাটফর্ম দ্বারা enum ব্যবহার করা হয় ইভেন্টটি নির্দেশ করতে যা onUIEvent
ট্রিগার করেছে।
এনাম
"সংযোজন ডায়ালগ দেখান" "শো কনফিগার ডায়ালগ"
অনুরোধ করে যে ভিপিএন ক্লায়েন্ট ব্যবহারকারীকে অ্যাড কনফিগারেশন ডায়ালগ বক্সটি দেখায়।
অনুরোধ করে যে ভিপিএন ক্লায়েন্ট ব্যবহারকারীকে কনফিগারেশন সেটিংস ডায়ালগ বক্স দেখায়।
VpnConnectionState
এনামটি ভিপিএন ক্লায়েন্ট প্ল্যাটফর্মকে তার বর্তমান অবস্থা জানাতে ব্যবহার করে। এটি ব্যবহারকারীকে অর্থপূর্ণ বার্তা প্রদান করতে সহায়তা করে।
এনাম
"সংযুক্ত" "ব্যর্থতা"
উল্লেখ করে যে VPN সংযোগ সফল হয়েছে৷
উল্লেখ করে যে VPN সংযোগ ব্যর্থ হয়েছে৷
পদ্ধতি
createConfig()
chrome.vpnProvider.createConfig(
name: string,
): Promise<string>
একটি নতুন VPN কনফিগারেশন তৈরি করে যা ব্যবহারকারীর একাধিক লগইন সেশন জুড়ে থাকে।
পরামিতি
- নাম
স্ট্রিং
ভিপিএন কনফিগারেশনের নাম।
রিটার্নস
প্রতিশ্রুতি<string>
Chrome 96+
destroyConfig()
chrome.vpnProvider.destroyConfig(
id: string,
): Promise<void>
এক্সটেনশন দ্বারা তৈরি একটি VPN কনফিগারেশন ধ্বংস করে।
পরামিতি
- আইডি
স্ট্রিং
ভিপিএন কনফিগারেশনের আইডি ধ্বংস করতে হবে।
রিটার্নস
প্রতিশ্রুতি <void>
Chrome 96+
notifyConnectionStateChanged()
chrome.vpnProvider.notifyConnectionStateChanged(
state: VpnConnectionState,
): Promise<void>
প্ল্যাটফর্মে VPN সেশনের অবস্থা অবহিত করে। এটি তখনই সফল হবে যখন VPN সেশন এক্সটেনশনের মালিকানাধীন।
পরামিতি
- রাষ্ট্র
VPN ক্লায়েন্টের VPN সেশনের অবস্থা।
রিটার্নস
প্রতিশ্রুতি <void>
Chrome 96+
sendPacket()
chrome.vpnProvider.sendPacket(
data: ArrayBuffer,
): Promise<void>
ভিপিএন সেশনের জন্য তৈরি টানেলের মাধ্যমে একটি আইপি প্যাকেট পাঠায়। এটি তখনই সফল হবে যখন VPN সেশন এক্সটেনশনের মালিকানাধীন।
পরামিতি
- তথ্য
ArrayBuffer
আইপি প্যাকেটটি প্ল্যাটফর্মে পাঠাতে হবে।
রিটার্নস
প্রতিশ্রুতি <void>
Chrome 96+
setParameters()
chrome.vpnProvider.setParameters(
parameters: Parameters,
): Promise<void>
VPN সেশনের জন্য প্যারামিটার সেট করে। প্ল্যাটফর্ম থেকে "connected"
পাওয়ার পর অবিলম্বে এটি কল করা উচিত। এটি তখনই সফল হবে যখন VPN সেশন এক্সটেনশনের মালিকানাধীন।
পরামিতি
- পরামিতি
ভিপিএন সেশনের পরামিতি।
রিটার্নস
প্রতিশ্রুতি <void>
Chrome 96+
ঘটনা
onConfigCreated
chrome.vpnProvider.onConfigCreated.addListener(
callback: function,
)
ট্রিগার হয় যখন এক্সটেনশনের জন্য প্ল্যাটফর্ম দ্বারা একটি কনফিগারেশন তৈরি করা হয়।
পরামিতি
- কলব্যাক
ফাংশন
callback
প্যারামিটারটি এর মতো দেখাচ্ছে:(id: string, name: string, data: object) => void
- আইডি
স্ট্রিং
- নাম
স্ট্রিং
- তথ্য
বস্তু
onConfigRemoved
chrome.vpnProvider.onConfigRemoved.addListener(
callback: function,
)
এক্সটেনশন দ্বারা তৈরি একটি কনফিগারেশন প্ল্যাটফর্ম দ্বারা সরানো হলে ট্রিগার হয়৷
পরামিতি
- কলব্যাক
ফাংশন
callback
প্যারামিটারটি এর মতো দেখাচ্ছে:(id: string) => void
- আইডি
স্ট্রিং
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
- আইডি
স্ট্রিং
- বার্তা
- ত্রুটি
স্ট্রিং
onUIEvent
chrome.vpnProvider.onUIEvent.addListener(
callback: function,
)
যখন এক্সটেনশনের জন্য একটি UI ইভেন্ট থাকে তখন ট্রিগার হয়৷ UI ইভেন্টগুলি হল প্ল্যাটফর্মের সংকেত যা অ্যাপটিকে নির্দেশ করে যে ব্যবহারকারীকে একটি UI ডায়ালগ দেখানো দরকার।
পরামিতি
- কলব্যাক
ফাংশন
callback
প্যারামিটারটি এর মতো দেখাচ্ছে:(event: UIEvent, id?: string) => void
- ঘটনা
- আইডি
স্ট্রিং ঐচ্ছিক