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