chrome.vpnProvider

Açıklama

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

İzinler

vpnProvider

Kullanılabilirlik

Yalnızca Chrome 43 ve üstü ChromeOS

Kavramlar ve kullanım

chrome.vpnProvider öğesinin tipik kullanımı aşağıdaki gibidir:

  • createConfig() yöntemini ç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 ona 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üreye "VPN oturumu" denir. Bu dönemde, mesajı alan uzantının VPN oturumuna sahip olduğu söylenir.

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

  • setParameters() yöntemini çağırarak bağlantı parametrelerini ayarlayın.

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

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

  • Kullanıcı VPN yapılandırmasıyla bağlantısını kestiğinde onPlatformMessage, "disconnected" mesajıyla tetiklenir.

  • VPN yapılandırması artık gerekli değilse destroyConfig() çağrısı yapılarak 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

    string isteğe bağlı

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

  • dnsServers

    dize[]

    DNS sunucuları için IP listesi.

  • domainSearch

    string[] isteğe bağlı

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

  • exclusionList

    dize[]

    Tünelden CIDR gösterimindeki IP blokları listesine giden ağ trafiğini hariç tutun. Bu, VPN sunucusuna giden ve sunucudan giden trafiği atlamak için kullanılabilir. Bir hedefle eşleşen çok sayıda kural olduğunda, eşleşen öneke en uzun sahip kural kazanır. Aynı CIDR bloğuna karşılık gelen girişler kopya olarak kabul edilir. Harmanlanmış (exclusionList +includeList) listesindeki bu tür yinelemeler elenir ve elenen tam yinelenen giriş tanımsızdır.

  • inclusionList

    dize[]

    Tünele giden CIDR gösteriminde IP blokları listesine ağ trafiğini dahil edin. 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şi bu listeye eklendiğinde tünele yönlendirilen tüm kullanıcı trafiği sağlanır. Bir hedefle eşleşen çok sayıda kural olduğunda, eşleşen öneke en uzun sahip kural kazanır. Aynı CIDR bloğuna karşılık gelen girişler kopya olarak kabul edilir. Harmanlanmış (exclusionList +includeList) listesindeki bu tür yinelemeler elenir ve elenen tam yinelenen giriş tanımsızdır.

  • mtu

    string isteğe bağlı

    VPN arayüzü için MTU ayarı. (varsayılan: 1500 bayt)

  • yeniden bağlan

    string isteğe bağlı

    Chrome 51 ve sonraki sürümler

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

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

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

PlatformMessage

Sıralama, platform tarafından istemciye VPN oturumunun durumunu bildirmek için kullanılır.

Enum

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

"disconnected" (bağlantı kesildi)
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 belirtir (örneğin, zaman aşımı). Hatanın açıklaması, onPlatformMessage öğesine 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 yedek olduğunu belirtir.

"linkChanged"
Varsayılan fiziksel ağ bağlantısının değiştiğini gösterir (ör. wifi->mobile).

"suspend"
İşletim sisteminin askıya almaya hazırlandığını, bu nedenle VPN'nin bağlantısını kesmesi gerektiğini gösterir. Uzantının, askıya almadan ö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 işlemini 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 istiyor.

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

VpnConnectionState

Sıralama, VPN istemcisi tarafından platformu mevcut durumu hakkında bilgilendirmek için kullanılır. Bu, kullanıcıya anlamlı mesajlar verilmesine 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
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

    Functions (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 kimlik veya hata durumunda undefined.

İlerlemeler

  • Söz<dize>

    Chrome 96 ve sonraki sürümler

    Vaatler, Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırmalar sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Vaat, geri çağırmaya iletilen aynı türle çözümlenir.

destroyConfig()

Söz
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

    Functions (isteğe bağlı)

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

    ()=>void

İlerlemeler

  • Promise<void>

    Chrome 96 ve sonraki sürümler

    Vaatler, Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırmalar sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Vaat, geri çağırmaya iletilen aynı türle çözümlenir.

notifyConnectionStateChanged()

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

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

Parametreler

  • VPN istemcisinin VPN oturumu durumu.

  • geri çağırma

    Functions (isteğe bağlı)

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

    ()=>void

İlerlemeler

  • Promise<void>

    Chrome 96 ve sonraki sürümler

    Vaatler, Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırmalar sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Vaat, geri çağırmaya iletilen aynı türle çözümlenir.

sendPacket()

Söz
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 oturumu uzantıya ait olduğunda başarılı olur.

Parametreler

  • veri

    ArrayBuffer

    Platforma gönderilecek IP paketi.

  • geri çağırma

    Functions (isteğe bağlı)

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

    ()=>void

İlerlemeler

  • Promise<void>

    Chrome 96 ve sonraki sürümler

    Vaatler, Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırmalar sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Vaat, geri çağırmaya iletilen aynı türle çözümlenir.

setParameters()

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

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

Parametreler

  • Parametreler

    VPN oturumuna ilişkin parametreler.

  • geri çağırma

    Functions (isteğe bağlı)

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

    ()=>void

İlerlemeler

  • Promise<void>

    Chrome 96 ve sonraki sürümler

    Vaatler, Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırmalar sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Vaat, 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ıya ait 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

      ArrayBuffer

onPlatformMessage

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

Uzantıya ait bir VPN yapılandırması için platformdan bir 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 uygulamanın kullanıcıya bir kullanıcı arayüzü iletişim kutusunun gösterilmesi gerektiğini belirten sinyallerdir.

Parametreler

  • geri çağırma

    işlev

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

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

    • event
    • id

      string isteğe bağlı