refresh date: 2026-09-25 robots: noindex
الوصف
استخدِم واجهة برمجة التطبيقات chrome.vpnProvider لتنفيذ برنامج شبكة VPN.
الأذونات
vpnProviderمدى التوفّر
الاستخدام
في ما يلي الاستخدامات المعتادة لـ vpnProvider:
أنشئ إعدادات شبكة VPN باستخدام الطريقة
createConfig. إعدادات شبكة VPN هي إدخال ثابت يظهر للمستخدم في واجهة مستخدم ChromeOS الأصلية. يمكن للمستخدم اختيار إعدادات شبكة VPN من قائمة والاتصال بها أو قطع الاتصال بها.أضِف أدوات معالجة الأحداث
onPlatformMessageوonPacketReceivedوonConfigRemoved.عندما يتصل المستخدم بإعدادات شبكة VPN، سيتم تلقّي
onPlatformMessageمع الرسالة"connected". نشير إلى الفترة بين الرسالتَين"connected"و"disconnected"باسم جلسة VPN. خلال هذه الفترة الزمنية، يُقال إنّ الإضافة التي تتلقّى الرسالة هي صاحبة جلسة VPN.ابدأ الاتصال بخادم VPN وشغِّل برنامج عميل VPN.
اضبط مَعلمات الاتصال باستخدام
setParameters.أبلِغ عن حالة الاتصال على النحو
"connected"باستخدامnotifyConnectionStateChanged.عند إكمال الخطوات المذكورة أعلاه بدون أخطاء، يتم إنشاء نفق افتراضي لمجموعة بروتوكولات الشبكة في ChromeOS. يمكن إرسال حِزم بروتوكول الإنترنت من خلال النفق باستخدام
sendPacketوسيتم تلقّي أي حِزم مصدرها جهاز ChromeOS باستخدام الحدثonPacketReceived.عندما يقطع المستخدم الاتصال بإعدادات شبكة VPN، سيتم تشغيل
onPlatformMessageمع الرسالة"disconnected".إذا لم يعُد إعداد شبكة VPN ضروريًا، يمكن إيقافه باستخدام
destroyConfig.
الأنواع
Parameters
الخصائص
-
معالجة
سلسلة
عنوان IP لواجهة VPN في تدوين CIDR الإصدار الرابع من بروتوكول الإنترنت (IPv4) هو الوضع الوحيد المتوافق حاليًا.
-
broadcastAddress
سلسلة اختيارية
عنوان البث العام لواجهة شبكة VPN (القيمة التلقائية: يتم استنتاجها من عنوان IP والقناع)
-
dnsServers
string[]
قائمة بعناوين IP لخوادم نظام أسماء النطاقات
-
domainSearch
string[] اختياري
قائمة بنطاقات البحث (القيمة التلقائية: لا يوجد نطاق بحث)
-
exclusionList
string[]
استبعاد حركة بيانات الشبكة إلى قائمة مجموعات عناوين IP في تدوين CIDR من النفق ويمكن استخدام ذلك لتجاوز حركة البيانات من خادم VPN وإليه. عندما تتطابق العديد من القواعد مع وجهة، تفوز القاعدة التي تتضمّن أطول بادئة مطابقة. يتم التعامل مع الإدخالات التي تتوافق مع نطاق CIDR نفسه على أنّها مكرّرة. يتم استبعاد هذه التكرارات في القائمة المجمّعة (exclusionList + inclusionList)، ولا يمكن تحديد الإدخال المكرّر الذي سيتم استبعاده.
-
inclusionList
string[]
أدرِج حركة بيانات الشبكة في قائمة مجموعات عناوين IP في تدوين CIDR إلى النفق. يمكن استخدام هذه المَعلمة لإعداد نفق مقسّم. لا يتم توجيه أي زيارات إلى النفق تلقائيًا. تؤدي إضافة الإدخال "0.0.0.0/0" إلى هذه القائمة إلى إعادة توجيه جميع زيارات المستخدمين إلى النفق. عندما تتطابق العديد من القواعد مع وجهة، تفوز القاعدة التي تتضمّن أطول بادئة مطابقة. يتم التعامل مع الإدخالات التي تتوافق مع نطاق CIDR نفسه على أنّها مكرّرة. يتم استبعاد هذه التكرارات في القائمة المجمّعة (exclusionList + inclusionList)، ولا يمكن تحديد الإدخال المكرّر الذي سيتم استبعاده.
-
mtu
سلسلة اختيارية
إعداد MTU لواجهة شبكة VPN (القيمة التلقائية: 1500 بايت)
-
إعادة الاتصال
سلسلة اختيارية
الإصدار 51 من Chrome والإصدارات الأحدثتحديد ما إذا كانت إضافة VPN تنفّذ عملية إعادة الاتصال تلقائيًا أم لا
في حال ضبط القيمة على "صحيح"، سيتم استخدام رسائل المنصات
linkDownوlinkUpوlinkChangedوsuspendوresumeللإشارة إلى الأحداث المعنية. في حال ضبطها على "خطأ"، سيقطع النظام الاتصال بشبكة VPN بالقوة إذا تغيّرت بنية الشبكة، وسيحتاج المستخدم إلى إعادة الاتصال يدويًا. (القيمة التلقائية: false)هذه السمة جديدة في الإصدار 51 من Chrome، وسيتم إنشاء استثناء في الإصدارات السابقة. يمكن استخدام try/catch لتفعيل الميزة بشكل مشروط استنادًا إلى توافق المتصفّح.
PlatformMessage
يستخدم النظام الأساسي التعداد لإرسال إشعار إلى العميل بشأن حالة جلسة شبكة VPN.
تعداد
"متصل"
تشير إلى أنّ إعدادات شبكة VPN متصلة.
"disconnected"
تشير إلى أنّ إعدادات شبكة VPN غير متصلة.
"error"
يشير إلى حدوث خطأ في الاتصال بشبكة VPN، مثل انتهاء المهلة. يتم تقديم وصف للخطأ كمعلَمة خطأ إلى onPlatformMessage.
"linkDown"
تشير إلى أنّ الاتصال التلقائي بالشبكة الفعلية غير متاح.
"linkUp"
يشير إلى أنّ الاتصال التلقائي بالشبكة الفعلية قد عاد.
"linkChanged"
يشير إلى أنّه تم تغيير اتصال الشبكة الفعلي التلقائي، مثلاً من شبكة Wi-Fi إلى شبكة الجوّال.
"تعليق"
يشير إلى أنّ نظام التشغيل يستعد للتعليق، لذا يجب أن تقطع شبكة VPN اتصالها. لا يُضمَن أن يتلقّى التطبيق هذا الحدث قبل التعليق.
resume
يشير إلى أنّ نظام التشغيل قد استأنف العمل وأنّ المستخدم قد سجّل الدخول مرة أخرى، لذا يجب أن تحاول شبكة VPN إعادة الاتصال.
UIEvent
تستخدم المنصة التعداد للإشارة إلى الحدث الذي أدّى إلى تشغيل onUIEvent.
تعداد
"showAddDialog"
يطلب من برنامج VPN عرض مربّع حوار إضافة إعدادات للمستخدم.
"showConfigureDialog"
يطلب من برنامج VPN عرض مربّع حوار إعدادات الضبط للمستخدم.
VpnConnectionState
يستخدم برنامج VPN هذا النوع من التعداد لإعلام النظام الأساسي بحالته الحالية. يساعد ذلك في تقديم رسائل مفيدة للمستخدم.
تعداد
"متصل"
تحدّد هذه الحالة أنّ اتصال شبكة VPN تم بنجاح.
"failure"
تُستخدَم لتحديد أنّ الاتصال عبر شبكة VPN قد تعذّر.
الطُرق
createConfig()
chrome.vpnProvider.createConfig(
name: string,
callback?: function,
): Promise<string>
تُنشئ هذه السياسة إعدادات جديدة لشبكة VPN تظل سارية على مستوى جلسات تسجيل الدخول المتعددة للمستخدم.
المعلمات
-
الاسم
سلسلة
اسم إعدادات شبكة VPN
-
callback
الدالة اختيارية
تظهر المَعلمة
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
الدالة اختيارية
تظهر المَعلمة
callbackعلى النحو التالي:() => void
المرتجعات
-
Promise<void>
Chrome 96 والإصدارات الأحدثتعرض هذه الدالة Promise يتم تنفيذه عند إيقاف الإعدادات أو رفضها في حال حدوث خطأ.
لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، بينما تحتاج المنصات الأخرى إلى استخدام عمليات معاودة الاتصال.
notifyConnectionStateChanged()
chrome.vpnProvider.notifyConnectionStateChanged(
state: VpnConnectionState,
callback?: function,
): Promise<void>
يُرسِل إشعارًا إلى النظام الأساسي بشأن حالة جلسة شبكة VPN. ولن ينجح ذلك إلا عندما تكون الإضافة هي مالكة جلسة شبكة VPN.
المعلمات
-
الولاية
حالة جلسة شبكة VPN لعميل شبكة VPN
-
callback
الدالة اختيارية
تظهر المَعلمة
callbackعلى النحو التالي:() => void
المرتجعات
-
Promise<void>
Chrome 96 والإصدارات الأحدثتعرض هذه الطريقة Promise يتم تنفيذه عند اكتمال الإشعار أو يتم رفضه في حال حدوث خطأ.
لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، بينما تحتاج المنصات الأخرى إلى استخدام عمليات معاودة الاتصال.
sendPacket()
chrome.vpnProvider.sendPacket(
data: ArrayBuffer,
callback?: function,
): Promise<void>
يرسِل حزمة IP عبر النفق الذي تم إنشاؤه لجلسة VPN. ولن ينجح ذلك إلا عندما تكون الإضافة هي مالكة جلسة شبكة VPN.
المعلمات
-
البيانات
ArrayBuffer
حزمة بروتوكول الإنترنت التي سيتم إرسالها إلى المنصة
-
callback
الدالة اختيارية
تظهر المَعلمة
callbackعلى النحو التالي:() => void
المرتجعات
-
Promise<void>
Chrome 96 والإصدارات الأحدثتعرض هذه الدالة Promise يتم تنفيذه عند إرسال الحزمة أو يتم رفضه في حال حدوث خطأ.
لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، بينما تحتاج المنصات الأخرى إلى استخدام عمليات معاودة الاتصال.
setParameters()
chrome.vpnProvider.setParameters(
parameters: Parameters,
callback?: function,
): Promise<void>
تضبط هذه السمة مَعلمات جلسة شبكة VPN. يجب استدعاء هذا الإجراء فور تلقّي "connected" من المنصة. ولن ينجح ذلك إلا عندما تكون الإضافة هي مالكة جلسة شبكة VPN.
المعلمات
-
المعلمات
مَعلمات جلسة شبكة VPN
-
callback
الدالة اختيارية
تظهر المَعلمة
callbackعلى النحو التالي:() => void
المرتجعات
-
Promise<void>
Chrome 96 والإصدارات الأحدثتعرض هذه الطريقة Promise يتم تنفيذه عند ضبط المَعلمات أو يتم رفضه في حال حدوث خطأ.
لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، بينما تحتاج المنصات الأخرى إلى استخدام عمليات معاودة الاتصال.
الفعاليات
onConfigCreated
chrome.vpnProvider.onConfigCreated.addListener(
callback: function,
)
يتم تشغيل هذا الحدث عندما ينشئ النظام الأساسي إعدادًا للإضافة.
المعلمات
-
callback
دالة
تظهر المَعلمة
callbackعلى النحو التالي:(id: string, name: string, data: object) => void
-
id
سلسلة
-
الاسم
سلسلة
-
البيانات
عنصر
-
onConfigRemoved
chrome.vpnProvider.onConfigRemoved.addListener(
callback: function,
)
يتم تشغيل هذا الحدث عندما تزيل المنصة إعدادًا أنشأته الإضافة.
المعلمات
-
callback
دالة
تظهر المَعلمة
callbackعلى النحو التالي:(id: string) => void
-
id
سلسلة
-
onPacketReceived
chrome.vpnProvider.onPacketReceived.addListener(
callback: function,
)
يتم تشغيل هذا الحدث عند تلقّي حزمة بروتوكول إنترنت عبر النفق لجلسة VPN التي تملكها الإضافة.
المعلمات
-
callback
دالة
تظهر المَعلمة
callbackعلى النحو التالي:(data: ArrayBuffer) => void
-
البيانات
ArrayBuffer
-
onPlatformMessage
chrome.vpnProvider.onPlatformMessage.addListener(
callback: function,
)
يتم تشغيل هذا الحدث عند تلقّي رسالة من النظام الأساسي بشأن إعدادات شبكة VPN تملكها الإضافة.
المعلمات
-
callback
دالة
تظهر المَعلمة
callbackعلى النحو التالي:(id: string, message: PlatformMessage, error: string) => void
-
id
سلسلة
-
رسالة
-
خطأ
سلسلة
-
onUIEvent
chrome.vpnProvider.onUIEvent.addListener(
callback: function,
)
يتم تشغيل هذا الحدث عند وقوع حدث في واجهة المستخدم للإضافة. أحداث واجهة المستخدِم هي إشارات من النظام الأساسي تشير إلى التطبيق بأنّه يجب عرض مربّع حوار خاص بواجهة المستخدِم للمستخدِم.