chrome.vpnProvider

refresh date: 2026-09-25 robots: noindex

תיאור

משתמשים ב-API של chrome.vpnProvider כדי להטמיע לקוח VPN.

הרשאות

vpnProvider

זמינות

Chrome 43 ואילך ChromeOS בלבד

שימוש

השימוש הנפוץ ב-vpnProvider הוא:

  • יוצרים הגדרות VPN באמצעות השיטה createConfig. הגדרת VPN היא רשומה קבועה שמוצגת למשתמש בממשק משתמש מקורי של ChromeOS. המשתמש יכול לבחור הגדרת VPN מרשימה ולהתחבר אליה או להתנתק ממנה.

  • מוסיפים פונקציות event listener לאירועים onPlatformMessage,‏ onPacketReceived ו-onConfigRemoved.

  • כשהמשתמש יתחבר להגדרת ה-VPN, יתקבל onPlatformMessage עם ההודעה "connected". אנחנו מתייחסים לתקופה שבין ההודעות "connected" ו-"disconnected" כסשן VPN. בפרק הזמן הזה, התוסף שמקבל את ההודעה נחשב לבעלים של סשן ה-VPN.

  • יוזמים חיבור לשרת ה-VPN ומפעילים את לקוח ה-VPN.

  • מגדירים את הפרמטרים של החיבור באמצעות setParameters.

  • מודיעים על מצב החיבור כ-"connected" באמצעות notifyConnectionStateChanged.

  • אחרי שהשלבים שלמעלה הושלמו ללא שגיאות, נוצרת מנהרה וירטואלית למקבץ הרשת (network stack) של ChromeOS. אפשר לשלוח חבילות IP דרך המנהרה באמצעות sendPacket, וכל החבילות שמגיעות ממכשיר ChromeOS יתקבלו באמצעות האירוע onPacketReceived.

  • כשהמשתמש מתנתק מהגדרת ה-VPN, האירוע onPlatformMessage יופעל עם ההודעה "disconnected".

  • אם כבר לא צריך את הגדרת ה-VPN, אפשר להשמיד אותה באמצעות destroyConfig.

סוגים

Parameters

מאפיינים

  • כתובת

    מחרוזת

    כתובת ה-IP של ממשק ה-VPN בסימון CIDR. בשלב הזה, IPv4 הוא המצב היחיד שנתמך.

  • broadcastAddress

    מחרוזת אופציונלי

    כתובת שידור לממשק ה-VPN. (ברירת מחדל: נגזרת מכתובת ה-IP ומהמסכה)

  • dnsServers

    string[]‎

    רשימה של כתובות IP לשרתי ה-DNS.

  • 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. (ברירת מחדל: 1,500 בייטים)

  • התחברות מחדש

    מחרוזת אופציונלי

    Chrome 51 ואילך

    אם תוסף ה-VPN מיישם חיבור מחדש אוטומטי.

    אם הערך הוא True, הודעות הפלטפורמה linkDown,‏ linkUp,‏ linkChanged,‏ suspend ו-resume ישמשו לאיתות על האירועים המתאימים. אם הערך הוא False, המערכת תנתק את ה-VPN באופן יזום אם הטופולוגיה של הרשת תשתנה, והמשתמש יצטרך להתחבר מחדש באופן ידני. (ברירת מחדל: false)

    המאפיין הזה חדש ב-Chrome 51. הוא ייצור חריגה בגרסאות קודמות. אפשר להשתמש ב-try/catch כדי להפעיל את התכונה באופן מותנה על סמך התמיכה בדפדפן.

PlatformMessage

הפלטפורמה משתמשת ב-enum כדי להודיע ללקוח על סטטוס הסשן של ה-VPN.

טיפוסים בני מנייה (enum)

"connected"
מציין שהגדרת ה-VPN מחוברת.

"disconnected"
מציין שהגדרת ה-VPN נותקה.

"error"
מציין שאירעה שגיאה בחיבור דרך VPN, למשל זמן קצוב לתפוגה. תיאור השגיאה מופיע כארגומנט השגיאה של onPlatformMessage.

"linkDown"
מציין שהחיבור הפיזי לרשת שמוגדר כברירת מחדל לא פעיל.

"linkUp"
מציין שהחיבור הפיזי המוגדר כברירת מחדל לרשת חזר לפעול.

‫"linkChanged"
מציין שהחיבור הפיזי שמוגדר כברירת מחדל לרשת השתנה, למשל Wi-Fi->נייד.

"suspend"
מציין שמערכת ההפעלה מתכוננת להשעיה, ולכן ה-VPN צריך לנתק את החיבור. לא מובטח שהתוסף יקבל את האירוע הזה לפני ההשעיה.

‫"resume"
מציין שמערכת ההפעלה חזרה לפעול והמשתמש התחבר שוב, ולכן ה-VPN צריך לנסות להתחבר מחדש.

UIEvent

הפלטפורמה משתמשת ב-enum כדי לציין את האירוע שהפעיל את onUIEvent.

טיפוסים בני מנייה (enum)

"showAddDialog"
מבקש מלקוח ה-VPN להציג למשתמש את תיבת הדו-שיח להוספת הגדרה.

"showConfigureDialog"
מבקש מלקוח ה-VPN להציג למשתמש את תיבת הדו-שיח של הגדרות התצורה.

VpnConnectionState

ה-enum משמש את לקוח ה-VPN כדי להודיע לפלטפורמה על המצב הנוכחי שלו. כך אפשר להציג למשתמש הודעות משמעותיות.

טיפוסים בני מנייה (enum)

"connected"
מציין שהחיבור דרך VPN הצליח.

‫"failure"
מציין שהחיבור דרך VPN נכשל.

Methods

createConfig()

Promise
chrome.vpnProvider.createConfig(
  name: string,
  callback?: function,
)
: Promise<string>

יוצרת הגדרת VPN חדשה שנשמרת בכמה סשנים של התחברות של המשתמש.

פרמטרים

  • שם

    מחרוזת

    השם של הגדרת ה-VPN.

  • callback

    function optional

    הפרמטר callback נראה כך:

    (id: string) => void

    • id [מזהה]

      מחרוזת

      מזהה ייחודי של ההגדרה שנוצרה, או undefined אם הפעולה נכשלה.

החזרות

  • Promise<string>

    ‫Chrome מגרסה 96 ואילך

    הפונקציה מחזירה אובייקט Promise שמותאם כשההגדרה נוצרת, או נדחה אם יש שגיאה.

    הבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).

destroyConfig()

Promise
chrome.vpnProvider.destroyConfig(
  id: string,
  callback?: function,
)
: Promise<void>

השמדת הגדרת VPN שנוצרה על ידי התוסף.

פרמטרים

  • id [מזהה]

    מחרוזת

    המזהה של הגדרת ה-VPN שרוצים למחוק.

  • callback

    function optional

    הפרמטר callback נראה כך:

    () => void

החזרות

  • Promise<void>

    ‫Chrome מגרסה 96 ואילך

    הפונקציה מחזירה אובייקט Promise שמותאם כשההגדרה נמחקת, או נדחה אם יש שגיאה.

    הבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).

notifyConnectionStateChanged()

Promise
chrome.vpnProvider.notifyConnectionStateChanged(
  state: VpnConnectionState,
  callback?: function,
)
: Promise<void>

הודעה לפלטפורמה על מצב הסשן של ה-VPN. הפעולה הזו תצליח רק אם סשן ה-VPN נמצא בבעלות התוסף.

פרמטרים

  • מדינה (State)

    מצב הסשן של לקוח ה-VPN.

  • callback

    function optional

    הפרמטר callback נראה כך:

    () => void

החזרות

  • Promise<void>

    ‫Chrome מגרסה 96 ואילך

    הפונקציה מחזירה אובייקט Promise שמותאם כשההתראה מסתיימת, או נדחה אם יש שגיאה.

    הבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).

sendPacket()

Promise
chrome.vpnProvider.sendPacket(
  data: ArrayBuffer,
  callback?: function,
)
: Promise<void>

שליחת חבילת IP דרך המנהרה שנוצרה לסשן ה-VPN. הפעולה הזו תצליח רק אם סשן ה-VPN נמצא בבעלות התוסף.

פרמטרים

  • נתונים

    ArrayBuffer

    חבילת ה-IP שתישלח לפלטפורמה.

  • callback

    function optional

    הפרמטר callback נראה כך:

    () => void

החזרות

  • Promise<void>

    ‫Chrome מגרסה 96 ואילך

    הפונקציה מחזירה אובייקט Promise שמותאם כשהחבילה נשלחת, או נדחה אם יש שגיאה.

    הבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).

setParameters()

Promise
chrome.vpnProvider.setParameters(
  parameters: Parameters,
  callback?: function,
)
: Promise<void>

מגדיר את הפרמטרים של סשן ה-VPN. צריך להפעיל את הפונקציה הזו מיד אחרי שמתקבלת "connected" מהפלטפורמה. הפעולה הזו תצליח רק אם סשן ה-VPN נמצא בבעלות התוסף.

פרמטרים

  • פרמטרים

    הפרמטרים של סשן ה-VPN.

  • callback

    function optional

    הפרמטר callback נראה כך:

    () => void

החזרות

  • Promise<void>

    ‫Chrome מגרסה 96 ואילך

    הפונקציה מחזירה אובייקט Promise שמותאם כשהפרמטרים מוגדרים, או נדחה אם יש שגיאה.

    הבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).

אירועים

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

onUIEvent

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

מופעל כשיש אירוע בממשק המשתמש של התוסף. אירועים בממשק המשתמש הם אותות מהפלטפורמה שמציינים לאפליקציה שצריך להציג למשתמש תיבת דו-שיח בממשק המשתמש.

פרמטרים

  • callback

    פונקציה

    הפרמטר callback נראה כך:

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

    • אירוע
    • id [מזהה]

      מחרוזת אופציונלי