تاریخ بازآوری: ۲۰۲۶-۰۹-۲۵ روباتها: noindex
شرح
از chrome.vpnProvider API برای پیادهسازی کلاینت VPN استفاده کنید.
اجازهها
vpnProviderدردسترس بودن
کاربرد
استفاده معمول از vpnProvider به این صورت است:
پیکربندیهای ویپیان را بااستفاده از روش
createConfigایجاد کنید. پیکربندی VPN ورودی پایداری است که در میانای کاربر ChromeOS بومی به کاربر نشان داده میشود. کاربر میتواند پیکربندی ویپیان را از فهرست انتخاب کند و به آن متصل شود یا از آن قطع شود.شنوندگان را به رویدادهای
onPlatformMessage،onPacketReceived، وonConfigRemovedاضافه کنید.وقتی کاربر به پیکربندی VPN متصل میشود،
onPlatformMessageبا پیام"connected"دریافت خواهد شد. به دوره بین پیامهای"connected"و"disconnected"جلسه ویپیان میگوییم. در این بازه زمانی، گفته میشود افزونهای که پیام را دریافت میکند مالک جلسه ویپیان است.اتصال به سرور ویپیان را آغاز کنید و کارخواه ویپیان را شروع کنید.
پارامترهای اتصال را بااستفاده از
setParametersتنظیم کنید.وضعیت اتصال را بهعنوان
"connected"بااستفاده ازnotifyConnectionStateChangedاعلام کنید.وقتی مراحل بالا بدون خطا تکمیل شد، تونلی مجازی به پشته شبکه ChromeOS ایجاد میشود. بستههای IP را میتوان بااستفاده از
sendPacketازطریق تونل ارسال کرد و هر بستهای که در دستگاه ChromeOS ایجاد میشود بااستفاده از رویدادonPacketReceivedدریافت خواهد شد.وقتی کاربر از پیکربندی VPN قطع میشود،
onPlatformMessageبا پیام"disconnected"فعال میشود.اگر پیکربندی VPN دیگر لازم نباشد، میتوان آن را بااستفاده از
destroyConfigازبین برد.
انواع
Parameters
مشخصات
-
نشانی
رشته
نشانی IP برای میانای ویپیان در نماد CIDR. درحالحاضر، IPv4 تنها حالت پشتیبانیشده است.
-
broadcastAddress
رشته اختیاری
نشانی همهفرستی برای میانای ویپیان. (پیشفرض: از نشانی IP و ماسک استنتاج شده است)
-
dnsServers
رشته[]
فهرستی از IPهای سرورهای ساناد.
-
domainSearch
رشته[] اختیاری
فهرست دامنههای جستجو. (پیشفرض: بدون دامنه جستجو)
-
exclusionList
رشته[]
ترافیک شبکه به فهرست بلوکهای IP در نماد CIDR را از تونل مستثنی کنید. از این گزینه میتوان برای دور زدن ترافیک به و از سرور VPN استفاده کرد. وقتی قوانین زیادی با مقصد مطابقت داشته باشند، قانونی که طولانیترین پیشوند منطبق را داشته باشد برنده است. ورودیهایی که با بلوک CIDR یکسانی مطابقت دارند بهعنوان تکراری درنظر گرفته میشوند. چنین تکرارهایی در فهرست مرتبشده (exclusionList + inclusionList) حذف میشوند و ورودی تکراری دقیقی که حذف خواهد شد تعریف نشده است.
-
inclusionList
رشته[]
ترافیک شبکه را به فهرست بلوکهای IP در نماد CIDR به تونل اضافه کنید. از این پارامتر میتوان برای راهاندازی تونل تقسیمشده استفاده کرد. بهطور پیشفرض، هیچ ترافیکی به تونل هدایت نمیشود. با افزودن ورودی «0.0.0.0/0» به این فهرست، همه ترافیک کاربر به تونل هدایت میشود. وقتی چندین قانون با یک مقصد مطابقت داشته باشد، قانونی که طولانیترین پیشوند منطبق را داشته باشد برنده میشود. ورودیهایی که با بلوک CIDR یکسانی مطابقت دارند بهعنوان تکراری درنظر گرفته میشوند. چنین موارد تکراری در فهرست مقابلهشده (exclusionList + inclusionList) حذف میشوند و ورودی تکراری دقیقی که حذف خواهد شد تعریف نشده است.
-
mtu
رشته اختیاری
تنظیم MTU برای میانای VPN. (پیشفرض: ۱۵۰۰ بایت)
-
اتصال مجدد
رشته اختیاری
Chrome نسخه ۵۱ به بالااینکه افزونه ویپیان بازاتصال خودکار را پیادهسازی میکند یا نه.
اگر درست باشد، از پیامهای پلاتفرم
linkDown،linkUp،linkChanged،suspend، وresumeبرای علامتدهی رویدادهای مربوطه استفاده خواهد شد. اگر روی false تنظیم شود، درصورت تغییر توپولوژی شبکه، سیستم بهاجبار اتصال VPN را قطع میکند و کاربر باید بهصورت دستی دوباره متصل شود. (پیشفرض: نادرست)این ویژگی در Chrome 51 جدید است؛ در نسخههای قبلی استثنا ایجاد میکند. از try/catch میتوان برای فعال کردن مشروط ویژگی براساس پشتیبانی مرورگر استفاده کرد.
PlatformMessage
پلاتفرم از این شمارشی برای اطلاعرسانی وضعیت جلسه ویپیان به کارخواه استفاده میکند.
شمارشی
«متصل»
نشان میدهد که پیکربندی ویپیان متصل شده است.
«قطعشده»
نشان میدهد که پیکربندی VPN قطع شده است.
«error» (خطا)
نشان میدهد که خطایی در اتصال ویپیان رخ داده است، برای مثال، زمان اتمام. شرح خطا بهعنوان آرگومان خطا به onPlatformMessage داده میشود.
«linkDown»
نشان میدهد که اتصال شبکه فیزیکی پیشفرض قطع است.
«linkUp»
نشان میدهد که اتصال شبکه فیزیکی پیشفرض دوباره برقرار شده است.
"linkChanged"
نشان میدهد که اتصال شبکه فیزیکی پیشفرض تغییر کرده است، مثلاً wifi->mobile.
«تعلیق»
نشان میدهد که سیستمعامل درحال آماده شدن برای تعلیق است، بنابراین VPN باید اتصالش را قطع کند. تضمینی وجود ندارد که افزونه این رویداد را قبلاز تعلیق دریافت کند.
«resume»
نشان میدهد که سیستمعامل ازسر گرفته شده است و کاربر دوباره به سیستم وارد شده است، بنابراین VPN باید دوباره متصل شود.
UIEvent
پلاتفرم از enum برای نشان دادن رویدادی که onUIEvent را راهاندازی کرده است استفاده میکند.
شمارشی
«showAddDialog»
درخواست میکند که کارخواه VPN چارگوش گفتگوی افزودن پیکربندی را به کاربر نشان دهد.
«showConfigureDialog»
درخواست میکند که کارخواه VPN چارگوش گفتگوی تنظیمات پیکربندی را به کاربر نشان دهد.
VpnConnectionState
کارخواه ویپیان از این شمارشی برای اطلاعرسانی وضعیت فعلی خود به پلاتفرم استفاده میکند. این کار به ارائه پیامهای معنیدار به کاربر کمک میکند.
شمارشی
«متصل»
مشخص میکند که اتصال VPN موفقیتآمیز بوده است.
«failure»
مشخص میکند که اتصال ویپیان ناموفق بوده است.
روشها
createConfig()
chrome.vpnProvider.createConfig(
name: string,
callback?: function,
): Promise<string>
پیکربندی VPN جدیدی ایجاد میکند که در چندین جلسه ورود به سیستم کاربر باقی میماند.
پارامترها
-
نام
رشته
نام پیکربندی ویپیان.
-
تماس برگشتی
تابع اختیاری
پارامتر
callbackبهاینصورت است:(id: string) => void
-
id
رشته
شناسه یکتای پیکربندی ایجادشده، یا
undefinedدرصورت عدم موفقیت.
-
بازگشتیها
-
Promise<string>
Chrome نسخه ۹۶ و بالاتریک Promise برمیگرداند که وقتی پیکربندی ایجاد میشود حل میشود یا اگر خطایی وجود داشته باشد رد میشود.
Promises فقط برای «مانیفست نسخه ۳» و نسخههای جدیدتر پشتیبانی میشود، پلاتفرمهای دیگر باید از callbacks استفاده کنند.
destroyConfig()
chrome.vpnProvider.destroyConfig(
id: string,
callback?: function,
): Promise<void>
پیکربندی VPN ایجادشده توسط افزونه را ازبین میبرد.
پارامترها
-
id
رشته
شناسه پیکربندی VPN برای ازبین بردن.
-
بازخوانی
تابع اختیاری
پارامتر
callbackبهصورت زیر است:() => void
بازگشتیها
-
Promise<void>
Chrome نسخه ۹۶ و بالاتریک Promise برمیگرداند که وقتی پیکربندی ازبین میرود حل میشود یا اگر خطایی وجود داشته باشد رد میشود.
وعدهها فقط برای «مانیفست نسخه ۳» و نسخههای جدیدتر پشتیبانی میشوند، پلاتفرمهای دیگر باید از «بازخوانها» استفاده کنند.
notifyConnectionStateChanged()
chrome.vpnProvider.notifyConnectionStateChanged(
state: VpnConnectionState,
callback?: function,
): Promise<void>
وضعیت جلسه ویپیان را به پلاتفرم اطلاع میدهد. این کار فقط زمانی موفقیتآمیز خواهد بود که افزونه مالک جلسه ویپیان باشد.
پارامترها
-
ایالت
وضعیت جلسه VPN کارخواه VPN.
-
تماس برگشتی
تابع اختیاری
پارامتر
callbackبهصورت زیر است:() => void
بازگشتیها
-
Promise<void>
Chrome نسخه ۹۶ و بالاتریک Promise برمیگرداند که وقتی اعلان کامل میشود حل میشود یا اگر خطایی وجود داشته باشد رد میشود.
Promises فقط برای «مانیفست نسخه ۳» و نسخههای جدیدتر پشتیبانی میشود، پلاتفرمهای دیگر باید از callbacks استفاده کنند.
sendPacket()
chrome.vpnProvider.sendPacket(
data: ArrayBuffer,
callback?: function,
): Promise<void>
بسته IP را ازطریق تونل ایجادشده برای جلسه ویپیان ارسال میکند. این کار فقط زمانی موفقیتآمیز خواهد بود که افزونه مالک جلسه ویپیان باشد.
پارامترها
-
داده
ArrayBuffer
بسته IP که باید به پلاتفرم ارسال شود.
-
تماس برگشتی
تابع اختیاری
پارامتر
callbackبهصورت زیر است:() => void
بازگشتیها
-
Promise<void>
Chrome نسخه ۹۶ به بالایک Promise برمیگرداند که وقتی بسته ارسال میشود حل میشود یا اگر خطایی وجود داشته باشد رد میشود.
Promises فقط برای «مانیفست نسخه ۳» و نسخههای جدیدتر پشتیبانی میشود، پلاتفرمهای دیگر باید از callbacks استفاده کنند.
setParameters()
chrome.vpnProvider.setParameters(
parameters: Parameters,
callback?: function,
): Promise<void>
پارامترهای جلسه VPN را تنظیم میکند. این باید بلافاصله پساز دریافت "connected" از پلاتفرم فراخوانی شود. این کار فقط زمانی موفقیتآمیز خواهد بود که جلسه VPN متعلق به افزونه باشد.
پارامترها
-
پارامترها
پارامترهای جلسه VPN.
-
بازخوانی
تابع اختیاری
پارامتر
callbackبهصورت زیر است:() => void
بازگشتیها
-
Promise<void>
Chrome نسخه ۹۶ به بالایک Promise برمیگرداند که وقتی پارامترها تنظیم میشوند حل میشود یا اگر خطایی وجود داشته باشد رد میشود.
وعدهها فقط برای «مانیفست نسخه ۳» و نسخههای جدیدتر پشتیبانی میشوند، پلاتفرمهای دیگر باید از «بازخوانها» استفاده کنند.
رویدادها
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,
)
وقتی بسته IP ازطریق تونل برای جلسه ویپیان متعلق به افزونه دریافت میشود، راهاندازی میشود.
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(data: ArrayBuffer) => void
-
داده
ArrayBuffer
-
onPlatformMessage
chrome.vpnProvider.onPlatformMessage.addListener(
callback: function,
)
وقتی پیامی از پلاتفرم برای پیکربندی ویپیان متعلق به افزونه دریافت میشود، راهاندازی میشود.
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهاینصورت است:(id: string, message: PlatformMessage, error: string) => void
-
id
رشته
-
پیام
-
خطا
رشته
-
onUIEvent
chrome.vpnProvider.onUIEvent.addListener(
callback: function,
)
Triggered when there is a UI event for the extension. رویدادهای واسط کاربر سیگنالهایی از پلاتفرم هستند که به برنامه نشان میدهند که باید کادر گفتگوی واسط کاربر به کاربر نشان داده شود.