chrome.vpnProvider

refresh date: 2026-09-25 robots: noindex

Açıklama

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

İzinler

vpnProvider

Kullanılabilirlik

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

Kullanım

vpnProvider'ın tipik kullanımı aşağıdaki gibidir:

  • createConfig yöntemini kullanarak VPN yapılandırmaları oluşturun. VPN yapılandırması, kullanıcıya yerel bir ChromeOS kullanıcı arayüzünde 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 dinleyiciler ekleyin.

  • Kullanıcı VPN yapılandırmasına bağlandığında "connected" mesajıyla birlikte onPlatformMessage alınır. "connected" ve "disconnected" iletileri arasındaki süreye VPN oturumu diyoruz. Bu süre zarfında, mesajı alan uzantının VPN oturumunun sahibi olduğu söylenir.

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

  • setParameters kullanarak bağlantının parametrelerini ayarlayın.

  • notifyConnectionStateChanged kullanarak bağlantı durumunu "connected" olarak bildirin.

  • Yukarıdaki adımlar hatasız bir şekilde tamamlandığında ChromeOS'in ağ yığını için sanal bir tünel oluşturulur. IP paketleri, sendPacket kullanılarak tünel üzerinden gönderilebilir ve ChromeOS cihazda oluşturulan tüm paketler onPacketReceived etkinliği kullanılarak alınır.

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

  • VPN yapılandırması artık gerekli değilse destroyConfig kullanılarak yok edilebilir.

Türler

Parameters

Özellikler

  • adres

    dize

    CIDR gösteriminde VPN arayüzünün IP adresi. Şu anda yalnızca IPv4 modu desteklenmektedir.

  • broadcastAddress

    dize isteğe bağlı

    VPN arayüzünün yayın adresi. (varsayılan: IP adresi ve maskeden çıkarılır)

  • dnsServers

    string[]

    DNS sunucularının IP'lerinin listesi.

  • domainSearch

    string[] isteğe bağlı

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

  • exclusionList

    string[]

    CIDR notasyonundaki IP blokları listesine yönelik ağ trafiğini tünelden hariç tutun. Bu, VPN sunucusuna ve sunucudan gelen trafiği atlamak için kullanılabilir. Bir hedefle çok sayıda kural eşleştiğinde, en uzun eşleşen öneke sahip kural geçerli olur. Aynı CIDR bloğuna karşılık gelen girişler kopya olarak kabul edilir. Birleştirilmiş listedeki (exclusionList + inclusionList) bu tür yinelenenler kaldırılır ve kaldırılacak tam olarak yinelenen giriş tanımlanmaz.

  • inclusionList

    string[]

    Tüneldeki CIDR notasyonunda 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. Bu listeye "0.0.0.0/0" girişini eklediğinizde tüm kullanıcı trafiği tünele yönlendirilir. Bir hedefle çok sayıda kural eşleştiğinde, en uzun eşleşen öneke sahip kural geçerli olur. Aynı CIDR bloğuna karşılık gelen girişler kopya olarak kabul edilir. Birleştirilmiş listedeki (exclusionList + inclusionList) bu tür yinelenenler kaldırılır ve kaldırılacak tam olarak yinelenen giriş tanımlanmaz.

  • mtu

    dize isteğe bağlı

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

  • yeniden bağlanma

    dize isteğe bağlı

    Chrome 51 ve sonraki sürümler

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

    Doğruysa ilgili etkinlikleri belirtmek için linkDown, linkUp, linkChanged, suspend ve resume platform mesajları kullanılır. Yanlış ise ağ topolojisi değiştiğinde sistem VPN 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 yeni olup önceki sürümlerde istisna oluşturur. try/catch, özelliği tarayıcı desteğine göre koşullu olarak etkinleştirmek için kullanılabilir.

PlatformMessage

Enum, platform tarafından istemciye VPN oturumu durumu hakkında bildirim göndermek için kullanılır.

Enum

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

"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 (ör. zaman aşımı) gösterir. Hatanın açıklaması, onPlatformMessage işlevine 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 tekrar etkin olduğunu gösterir.

"linkChanged"
Varsayılan fiziksel ağ bağlantısının değiştiğini (ör. kablosuz ağdan mobil ağa geçiş) gösterir.

"suspend"
İşletim sisteminin askıya almaya hazırlandığını belirtir. Bu nedenle VPN bağlantısını kesmelidir. Uzantının, askıya alınmadan önce bu etkinliği alacağı garanti edilmez.

"resume"
İşletim sisteminin devam ettiğini ve kullanıcının tekrar giriş yaptığını gösterir. Bu nedenle, VPN yeniden bağlanmayı denemelidir.

UIEvent

Enum, platform tarafından onUIEvent tetikleyen etkinliği belirtmek için kullanılır.

Enum

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

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

VpnConnectionState

Enum, VPN istemcisi tarafından platformu mevcut durumu hakkında bilgilendirmek için kullanılır. Bu sayede kullanıcıya anlamlı mesajlar sunulabilir.

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()

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

Kullanıcının birden fazla oturumunda kalıcı olan yeni bir VPN yapılandırması oluşturur.

Parametreler

  • ad

    dize

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

  • callback

    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<string>

    Chrome 96 ve sonraki sürümler

    Yapılandırma oluşturulduğunda çözümlenen veya hata varsa reddedilen bir Promise döndürür.

    Promises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.

destroyConfig()

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

Uzantı tarafından oluşturulan bir VPN yapılandırmasını yok eder.

Parametreler

  • id

    dize

    Yok edilecek VPN yapılandırmasının kimliği.

  • callback

    işlev isteğe bağlı

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

    () => void

İadeler

  • Promise<void>

    Chrome 96 ve sonraki sürümler

    Yapılandırma yok edildiğinde çözümlenen veya hata varsa reddedilen bir Promise döndürür.

    Promises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.

notifyConnectionStateChanged()

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

VPN oturumu 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.

  • callback

    işlev isteğe bağlı

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

    () => void

İadeler

  • Promise<void>

    Chrome 96 ve sonraki sürümler

    Bildirim tamamlandığında çözümlenen veya hata varsa reddedilen bir Promise döndürür.

    Promises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.

sendPacket()

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

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.

  • callback

    işlev isteğe bağlı

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

    () => void

İadeler

  • Promise<void>

    Chrome 96 ve sonraki sürümler

    Paket gönderildiğinde çözümlenen veya hata varsa reddedilen bir Promise döndürür.

    Promises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.

setParameters()

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

VPN oturumunun parametrelerini ayarlar. Bu yöntem, 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 oturumunun parametreleri.

  • callback

    işlev isteğe bağlı

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

    () => void

İadeler

  • Promise<void>

    Chrome 96 ve sonraki sürümler

    Parametreler ayarlandığında çözümlenen veya hata varsa reddedilen bir Promise döndürür.

    Promises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.

Etkinlikler

onConfigCreated

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

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

Parametreler

  • callback

    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

  • callback

    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

  • callback

    işlev

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

    (data: ArrayBuffer) => void

    • veri

      ArrayBuffer

onPlatformMessage

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

Uzantının sahip olduğu bir VPN yapılandırması için platformdan mesaj alındığında tetiklenir.

Parametreler

  • callback

    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 kullanıcıya bir kullanıcı arayüzü iletişim kutusunun gösterilmesi gerektiğini belirten sinyallerdir.

Parametreler

  • callback

    işlev

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

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

    • etkinlik
    • id

      dize isteğe bağlı