refresh date: 2026-09-25 robots: noindex
Açıklama
VPN istemcisini uygulamaya almak için chrome.vpnProvider API'sini kullanın.
İzinler
vpnProviderKullanılabilirlik
Kullanım
vpnProvider'ın tipik kullanımı aşağıdaki gibidir:
createConfigyöntemini kullanarak VPN yapılandırmaları oluşturun. VPN yapılandırması, yerel 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ıyı kesebilir.onPlatformMessage,onPacketReceivedveonConfigRemovedetkinliklerine dinleyiciler ekleyin.Kullanıcı VPN yapılandırmasına bağlandığında
"connected"mesajıyla birlikteonPlatformMessagealınır."connected"ve"disconnected"mesajları arasındaki süreye VPN oturumu denir. Bu dönemde, mesajı alan uzantının VPN oturumuna sahip olduğu kabul edilir.VPN sunucusuyla bağlantı kurun ve VPN istemcisini başlatın.
setParameterskullanarak bağlantının parametrelerini ayarlayın.notifyConnectionStateChangedkullanarak bağlantı durumunu"connected"olarak bildirin.Yukarıdaki adımlar hatasız bir şekilde tamamlandığında ChromeOS'in ağ yığınına sanal bir tünel oluşturulur. IP paketleri,
sendPacketkullanılarak tünel üzerinden gönderilebilir ve ChromeOS cihazdan gelen tüm paketleronPacketReceivedetkinliği kullanılarak alınır.Kullanıcı VPN yapılandırmasıyla bağlantıyı kestiğinde
onPlatformMessage,"disconnected"mesajıyla tetiklenir.VPN yapılandırması artık gerekli değilse
destroyConfigkullanılarak silinebilir.
Türler
Parameters
Özellikler
-
adres
dize
CIDR gösteriminde VPN arayüzünün IP adresi. Şu anda yalnızca IPv4 modu desteklenmektedir.
-
broadcastAddress
string 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 biçimindeki IP blokları listesine giden ağ trafiğini tünelden hariç tutun. Bu, VPN sunucusuna giden ve sunucudan gelen trafiği atlamak için kullanılabilir. Bir hedefle eşleşen çok sayıda kural olduğunda, en uzun eşleşen ön eke sahip kural geçerli olur. Aynı CIDR bloğuna karşılık gelen girişler kopya olarak değerlendirilir. Birleştirilmiş listedeki (exclusionList + inclusionList) bu tür yinelenenler kaldırılır ve kaldırılacak tam yinelenen giriş tanımlanmaz.
-
inclusionList
string[]
CIDR notasyonundaki IP blokları listesine tünele giden 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. Bu listeye "0.0.0.0/0" girişini eklediğinizde tüm kullanıcı trafiği tünele yönlendirilir. Bir hedefle eşleşen çok sayıda kural olduğunda, en uzun eşleşen ön eke sahip kural geçerli olur. Aynı CIDR bloğuna karşılık gelen girişler kopya olarak değerlendirilir. Birleştirilmiş listedeki (exclusionList + inclusionList) bu tür yinelenenler kaldırılır ve kaldırılacak tam yinelenen giriş tanımlanmaz.
-
mtu
string isteğe bağlı
VPN arayüzü için MTU ayarı. (varsayılan: 1.500 bayt)
-
yeniden bağlanma
string isteğe bağlı
Chrome 51+VPN uzantısının otomatik yeniden bağlanma özelliğini uygulayıp uygulamadığı.
Doğru ise ilgili etkinlikleri belirtmek için
linkDown,linkUp,linkChanged,suspendveresumeplatform mesajları kullanılır. Yanlış ise Network Topology 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 yenidir ve önceki sürümlerde bir istisna oluşturur. try/catch, tarayıcı desteğine bağlı olarak özelliği koşullu bir şekilde etkinleştirmek için kullanılabilir.
PlatformMessage
Platform, VPN oturumunun durumunu istemciye bildirmek için enum'u kullanı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 (ör. zaman aşımı) oluştuğunu gösterir. Hatanın açıklaması, onPlatformMessage için hata bağımsız değişkeni olarak verilir.
"linkDown"
Varsayılan fiziksel ağ bağlantısının kesildiğini 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 gösterir (ör. kablosuz ağ->mobil).
"suspend"
İşletim sisteminin askıya alınmaya hazırlandığını, bu nedenle VPN'in bağlantısını kesmesi gerektiğini belirtir. Uzantının askıya alınmadan önce bu etkinliği alacağı garanti edilmez.
"resume"
OS'in devam ettiğini ve kullanıcının tekrar giriş yaptığını gösterir. Bu nedenle VPN yeniden bağlanmayı denemelidir.
UIEvent
Numaralandırma, platform tarafından onUIEvent 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, 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()
chrome.vpnProvider.createConfig(
name: string,
callback?: function,
): Promise<string>
Kullanıcının birden fazla giriş oturumu boyunca devam eden yeni bir VPN yapılandırması oluşturur.
Parametreler
-
ad
dize
VPN yapılandırmasının adı.
-
callback
function isteğe bağlı
callbackparametresi ş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+Yapılandırma oluşturulduğunda çözümlenen veya hata varsa reddedilen bir Promise döndürür.
Promise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
destroyConfig()
chrome.vpnProvider.destroyConfig(
id: string,
callback?: function,
): Promise<void>
Uzantı tarafından oluşturulan bir VPN yapılandırmasını siler.
Parametreler
-
id
dize
İmha edilecek VPN yapılandırmasının kimliği.
-
callback
function isteğe bağlı
callbackparametresi şu şekilde görünür:() => void
İadeler
-
Promise<void>
Chrome 96+Yapılandırma silindiğinde çözümlenen veya hata varsa reddedilen bir Promise döndürür.
Promise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
notifyConnectionStateChanged()
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
-
durum
VPN istemcisinin VPN oturum durumu.
-
callback
function isteğe bağlı
callbackparametresi şu şekilde görünür:() => void
İadeler
-
Promise<void>
Chrome 96+Bildirim tamamlandığında çözümlenen veya hata varsa reddedilen bir Promise döndürür.
Promise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
sendPacket()
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
function isteğe bağlı
callbackparametresi şu şekilde görünür:() => void
İadeler
-
Promise<void>
Chrome 96+Paket gönderildiğinde çözümlenen veya hata varsa reddedilen bir Promise döndürür.
Promise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
setParameters()
chrome.vpnProvider.setParameters(
parameters: Parameters,
callback?: function,
): Promise<void>
VPN oturumunun 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 oturumunun parametreleri.
-
callback
function isteğe bağlı
callbackparametresi şu şekilde görünür:() => void
İadeler
-
Promise<void>
Chrome 96+Parametreler ayarlandığında çözümlenen veya hata varsa reddedilen bir Promise döndürür.
Promise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
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
callbackparametresi ş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
callbackparametresi ş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
callbackparametresi ş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 mesaj alındığında tetiklenir.
Parametreler
-
callback
işlev
callbackparametresi şu şekilde görünür:(id: string, message: PlatformMessage, error: string) => void
-
id
dize
-
mesaj
-
hata
dize
-
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 kutusu gösterilmesi gerektiğini belirten sinyallerdir.