chrome.vpnProvider

Açıklama

Bir VPN istemcisini uygulamak için chrome.vpnProvider API'yi kullanın.

İzinler

vpnProvider

Kullanılabilirlik

Chrome 43 ve sonraki sürümler Yalnızca ChromeOS

Kavramlar ve kullanım

Tipik chrome.vpnProvider kullanımı aşağıdaki gibidir:

  • createConfig() numaralı telefonu çağırarak VPN yapılandırmaları oluşturun. VPN yapılandırması, ChromeOS kullanıcı arayüzünde kullanıcıya gösterilen kalıcı bir giriştir. Kullanıcı listeden bir VPN yapılandırması seçip bu yapılandırmaya bağlanabilir veya bağlantısını kesebilir.

  • onPlatformMessage, onPacketReceived ve onConfigRemoved etkinliklerine işleyici ekleyin.

  • Kullanıcı VPN yapılandırmasına bağlandığında onPlatformMessage, "connected" mesajıyla birlikte alınır. "connected" ile "disconnected" mesajları arasındaki süre "VPN oturumu" olarak adlandırılır. Bu dönemde, mesajı alan uzantının VPN oturumunun sahibi olduğu söylenir.

  • VPN sunucusuyla bağlantıyı başlatın ve VPN istemcisini başlatın.

  • setParameters() çağrısı yaparak bağlantının parametrelerini ayarlayın.

  • notifyConnectionStateChanged() numaralı telefonu arayarak bağlantı durumunu "connected" olarak bildirin.

  • Önceki adımlar hatasız tamamlandığında ChromeOS'in ağ yığını için sanal bir tünel oluşturulur. IP paketleri, sendPacket() çağrısı yapılarak tünel üzerinden gönderilebilir ve ChromeOS cihazdan gelen paketler onPacketReceived etkinlik işleyici kullanılarak alınır.

  • Kullanıcı, VPN yapılandırmasıyla olan bağlantıyı kestiğinde onPlatformMessage uygulaması "disconnected" mesajıyla etkinleştirilir.

  • VPN yapılandırması artık gerekli değilse destroyConfig() çağrısı yapılarak bu yapılandırma kaldırılabilir.

Türler

Parameters

Özellikler

  • adres

    dize

    CIDR gösteriminde VPN arayüzü için IP adresi. Şu anda desteklenen tek mod IPv4'tür.

  • broadcastAddress

    dize isteğe bağlı

    VPN arayüzü için yayın adresi. (varsayılan: IP adresinden ve maskeden çıkarılmıştır)

  • dnsServers

    dize[]

    DNS sunucularının IP'lerinin listesi.

  • domainSearch

    string[] isteğe bağlı

    Arama ağı alan adlarının bir listesi. (varsayılan: arama alanı yok)

  • exclusionList

    dize[]

    Tünelden CIDR gösterimindeki IP blokları listesine ağ trafiğini hariç tutun. Bu, VPN sunucusuna gelen ve VPN sunucusundan giden trafiği atlamak için kullanılabilir. Bir hedefle eşleşen birden fazla kural olduğunda, eşleşen en uzun ön eke sahip kural kazanır. Aynı CIDR bloğuna karşılık gelen girişler kopya olarak kabul edilir. Birleştirilmiş (exclusionList + includeList) listesindeki bu tür kopyalar kaldırılır ve kaldırılacak olan tam yinelenen giriş tanımlanmamış olur.

  • inclusionList

    dize[]

    Tüneldeki CIDR gösterimindeki IP blokları listesine ağ trafiğini ekleyin. Bu parametre, bölünmüş tünel oluşturmak için kullanılabilir. Varsayılan olarak tünele trafik yönlendirilmez. "0.0.0.0/0" girişini ekleme eklemek, tünele yönlendirilen tüm kullanıcı trafiğini alır. Bir hedefle eşleşen birden fazla kural olduğunda, eşleşen en uzun ön eke sahip kural kazanır. Aynı CIDR bloğuna karşılık gelen girişler kopya olarak kabul edilir. Birleştirilmiş (exclusionList + includeList) listesindeki bu tür kopyalar kaldırılır ve kaldırılacak olan tam yinelenen giriş tanımlanmamış olur.

  • mtu

    dize isteğe bağlı

    VPN arayüzünün MTU ayarı. (varsayılan: 1500 bayt)

  • yeniden bağlan

    dize isteğe bağlı

    Chrome 51 ve sonraki sürümler 'nı inceleyin.

    VPN uzantısının otomatik yeniden bağlantı uygulayıp uygulamadığı.

    Doğru değerine ayarlanırsa ilgili etkinlikleri belirtmek için linkDown, linkUp, linkChanged, suspend ve resume platform mesajları kullanılır. Yanlış değerine ayarlanırsa ağ topolojisi değişirse sistem, VPN bağlantısını kesmeye zorlar ve kullanıcının manuel olarak yeniden bağlanması gerekir. (varsayılan: yanlış)

    Bu özellik, Chrome 51'de yenidir; önceki sürümlerde bir istisna oluşturur. özelliği, tarayıcı desteğine bağlı olarak koşullu olarak etkinleştirmek için dene/yakala kullanılabilir.

PlatformMessage

Sıralama, platform tarafından istemciyi VPN oturumu durumu hakkında bilgilendirmek için kullanılır.

Enum

"connected"
VPN yapılandırmasının bağlandığını gösterir.

"disconnected"
VPN yapılandırmasının bağlantısının kesildiğini gösterir.

"error"
VPN bağlantısında bir hata oluştuğunu (ör. zaman aşımı) belirtir. Hatanın açıklaması, onPlatformMessage'a hata bağımsız değişkeni olarak verilir.

"linkDown"
Varsayılan fiziksel ağ bağlantısının kapalı olduğunu gösterir.

"linkUp"
Varsayılan fiziksel ağ bağlantısının yedeklendiğini gösterir.

"linkChanged"
Varsayılan fiziksel ağ bağlantısının değiştiğini (ör. kablosuz->mobil

"suspend"
İşletim sisteminin askıya almaya hazırlandığını, bu nedenle VPN'nin bağlantısını kesmesi gerektiğini belirtir. Uzatmanın, askıya alınmadan önce bu etkinliği alacağı garanti edilmez.

"resume"
İşletim sisteminin devam ettirildiğini ve kullanıcının tekrar giriş yaptığını, bu nedenle VPN'nin yeniden bağlanmayı denemesi gerektiğini belirtir.

UIEvent

Sıralama, platform tarafından onUIEvent öğesini tetikleyen etkinliği belirtmek için kullanılır.

Enum

"showAddDialog"
VPN istemcisinin kullanıcıya yapılandırma ekleme iletişim kutusunu göstermesini ister.

"showConfigureDialog"
VPN istemcisinin, kullanıcıya yapılandırma ayarları iletişim kutusunu göstermesini ister.

VpnConnectionState

Sıralama, VPN istemcisi tarafından platforma mevcut durumu hakkında bilgi vermek için kullanılır. Bu, kullanıcıya anlamlı mesajlar sağlamaya yardımcı olur.

Enum

"connected"
VPN bağlantısının başarılı olduğunu belirtir.

"failure"
VPN bağlantısının başarısız olduğunu belirtir.

Yöntemler

createConfig()

Söz 'nı inceleyin.
chrome.vpnProvider.createConfig(
  name: string,
  callback?: function,
)

Kullanıcının birden fazla giriş oturumunda devam eden yeni bir VPN yapılandırması oluşturur.

Parametreler

  • ad

    dize

    VPN yapılandırmasının adı.

  • geri çağırma

    işlev isteğe bağlı

    callback parametresi şu şekilde görünür:

    (id: string) => void

    • id

      dize

      Oluşturulan yapılandırma için benzersiz bir kimlik veya hata durumunda undefined.

İadeler

  • Promise<dize>

    Chrome 96 ve sonraki sürümler 'nı inceleyin.

    Manifest V3 ve sonraki sürümlerde vaatler desteklenir ancak geriye dönük uyumluluk Aynı işlev çağrısında ikisini birden kullanamazsınız. İlgili içeriği oluşturmak için kullanılan taahhüt, geri çağırmaya iletilen aynı türle çözümlenir.

destroyConfig()

Söz 'nı inceleyin.
chrome.vpnProvider.destroyConfig(
  id: string,
  callback?: function,
)

Uzantı tarafından oluşturulan bir VPN yapılandırmasını kaldırır.

Parametreler

  • id

    dize

    Kaldırılacak VPN yapılandırmasının kimliği.

  • geri çağırma

    işlev isteğe bağlı

    callback parametresi şu şekilde görünür:

    () => void

İadeler

  • Taahhüt<void>

    Chrome 96 ve sonraki sürümler 'nı inceleyin.

    Manifest V3 ve sonraki sürümlerde vaatler desteklenir ancak geriye dönük uyumluluk Aynı işlev çağrısında ikisini birden kullanamazsınız. İlgili içeriği oluşturmak için kullanılan taahhüt, geri çağırmaya iletilen aynı türle çözümlenir.

notifyConnectionStateChanged()

Söz 'nı inceleyin.
chrome.vpnProvider.notifyConnectionStateChanged(
  state: VpnConnectionState,
  callback?: function,
)

VPN oturum durumunu platforma bildirir. Bu işlem yalnızca VPN oturumunun sahibi uzantı olduğunda başarılı olur.

Parametreler

  • VPN istemcisinin VPN oturum durumu.

  • geri çağırma

    işlev isteğe bağlı

    callback parametresi şu şekilde görünür:

    () => void

İadeler

  • Taahhüt<void>

    Chrome 96 ve sonraki sürümler 'nı inceleyin.

    Manifest V3 ve sonraki sürümlerde vaatler desteklenir ancak geriye dönük uyumluluk Aynı işlev çağrısında ikisini birden kullanamazsınız. İlgili içeriği oluşturmak için kullanılan taahhüt, geri çağırmaya iletilen aynı türle çözümlenir.

sendPacket()

Söz 'nı inceleyin.
chrome.vpnProvider.sendPacket(
  data: ArrayBuffer,
  callback?: function,
)

VPN oturumu için oluşturulan tünel üzerinden bir IP paketi gönderir. Bu işlem yalnızca VPN oturumunun sahibi uzantı olduğunda başarılı olur.

Parametreler

  • veri

    DiziArabelleği

    Platforma gönderilecek IP paketi.

  • geri çağırma

    işlev isteğe bağlı

    callback parametresi şu şekilde görünür:

    () => void

İadeler

  • Taahhüt<void>

    Chrome 96 ve sonraki sürümler 'nı inceleyin.

    Manifest V3 ve sonraki sürümlerde vaatler desteklenir ancak geriye dönük uyumluluk Aynı işlev çağrısında ikisini birden kullanamazsınız. İlgili içeriği oluşturmak için kullanılan taahhüt, geri çağırmaya iletilen aynı türle çözümlenir.

setParameters()

Söz 'nı inceleyin.
chrome.vpnProvider.setParameters(
  parameters: Parameters,
  callback?: function,
)

VPN oturumu için parametreleri ayarlar. Bu, platformdan "connected" alındıktan hemen sonra çağrılmalıdır. Bu işlem yalnızca VPN oturumunun sahibi uzantı olduğunda başarılı olur.

Parametreler

  • parametreler

    VPN oturumu parametreleri.

  • geri çağırma

    işlev isteğe bağlı

    callback parametresi şu şekilde görünür:

    () => void

İadeler

  • Taahhüt<void>

    Chrome 96 ve sonraki sürümler 'nı inceleyin.

    Manifest V3 ve sonraki sürümlerde vaatler desteklenir ancak geriye dönük uyumluluk Aynı işlev çağrısında ikisini birden kullanamazsınız. İlgili içeriği oluşturmak için kullanılan taahhüt, geri çağırmaya iletilen aynı türle çözümlenir.

Etkinlikler

onConfigCreated

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

Uzantı için platform tarafından bir yapılandırma oluşturulduğunda tetiklenir.

Parametreler

  • geri çağırma

    işlev

    callback parametresi şu şekilde görünür:

    (id: string, name: string, data: object) => void

    • id

      dize

    • ad

      dize

    • veri

      nesne

onConfigRemoved

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

Uzantı tarafından oluşturulan bir yapılandırma, platform tarafından kaldırıldığında tetiklenir.

Parametreler

  • geri çağırma

    işlev

    callback parametresi şu şekilde görünür:

    (id: string) => void

    • id

      dize

onPacketReceived

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

Uzantının sahip olduğu VPN oturumu için tünel üzerinden bir IP paketi alındığında tetiklenir.

Parametreler

  • geri çağırma

    işlev

    callback parametresi şu şekilde görünür:

    (data: ArrayBuffer) => void

    • veri

      DiziArabelleği

onPlatformMessage

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

Uzantının sahip olduğu bir VPN yapılandırmasıyla ilgili platformdan mesaj alındığında tetiklenir.

Parametreler

  • geri çağırma

    işlev

    callback parametresi şu şekilde görünür:

    (id: string, message: PlatformMessage, error: string) => void

onUIEvent

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

Uzantı için bir kullanıcı arayüzü etkinliği olduğunda tetiklenir. Kullanıcı arayüzü etkinlikleri, platformdan gelen ve uygulamaya bir kullanıcı arayüzü iletişim kutusunun gösterilmesi gerektiğini bildiren sinyallerdir.

Parametreler

  • geri çağırma

    işlev

    callback parametresi şu şekilde görünür:

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

    • etkinlik
    • id

      dize isteğe bağlı