Açıklama
VPN istemcisi uygulamak için chrome.vpnProvider
API'yi kullanın.
İzinler
vpnProvider
Kullanılabilirlik
Kullanım
vpnProvider'ın genel kullanımı aşağıdaki gibidir:
createConfig
yöntemini kullanarak VPN yapılandırmaları oluşturun. VPN yapılandırması, yerel bir 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
veonConfigRemoved
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üreyi VPN oturumu olarak ifade ederiz. 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.
Bağlantı parametrelerini
setParameters
kullanarak ayarlayın.notifyConnectionStateChanged
kullanarak bağlantı durumunu"connected"
olarak bildirin.Yukarıdaki 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
kullanılarak gönderilebilir. ChromeOS cihazda oluşturulan paketler,onPacketReceived
etkinliği 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
kullanı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ümlerVPN uzantısının otomatik yeniden bağlantıyı uygulayıp uygulamayacağı.
Doğru değerine ayarlanırsa
linkDown
,linkUp
,linkChanged
,suspend
veresume
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()
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ümlerVaatler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırmaları kullanması gerekir.
destroyConfig()
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ümlerVaatler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırmaları kullanması gerekir.
notifyConnectionStateChanged()
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
-
state
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ümlerVaatler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırmaları kullanması gerekir.
sendPacket()
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ümlerVaatler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırmaları kullanması gerekir.
setParameters()
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ümlerVaatler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırmaları kullanması gerekir.
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
-
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 uygulamanın kullanıcıya bir kullanıcı arayüzü iletişim kutusunun gösterilmesi gerektiğini belirten sinyallerdir.