chrome.vpnProvider (original) (raw)

说明

使用 chrome.vpnProvider API 实现 VPN 客户端。

权限

vpnProvider

可用性

Chrome 43 及更高版本 仅限 ChromeOS

概念和用法

chrome.vpnProvider 的典型用法如下:

类型

Parameters

属性

PlatformMessage

平台使用此枚举来通知客户端 VPN 会话状态。

枚举

“已连接”
表示 VPN 配置已连接。

“已断开连接”
表示 VPN 配置已断开连接。

“error”
表示 VPN 连接中发生了错误,例如超时。错误说明作为 onPlatformMessage 的 error 实参提供。

“linkDown”
表示默认物理网络连接已断开。

“linkUp”
表示默认的物理网络连接已恢复。

“linkChanged”
表示默认的物理网络连接已更改,例如从 WLAN 更改为移动网络。

“暂停”
表示操作系统正在准备暂停,因此 VPN 应断开连接。无法保证扩展程序在暂停之前收到此事件。

“resume”
表示操作系统已恢复,用户已重新登录,因此 VPN 应尝试重新连接。

UIEvent

平台使用此枚举来指明触发 onUIEvent 的事件。

枚举

“showAddDialog”
请求 VPN 客户端向用户显示添加配置对话框。

“showConfigureDialog”
请求 VPN 客户端向用户显示配置设置对话框。

VpnConnectionState

VPN 客户端使用此枚举向平台告知其当前状态。这有助于向用户提供有意义的消息。

枚举

“已连接”
指定 VPN 连接成功。

“失败”
指定 VPN 连接失败。

方法

createConfig()

chrome.vpnProvider.createConfig(
  name: string,
): Promise

创建新的 VPN 配置,该配置在用户的多个登录会话中保持不变。

返回

destroyConfig()

chrome.vpnProvider.destroyConfig(
  id: string,
): Promise

销毁扩展程序创建的 VPN 配置。

返回

notifyConnectionStateChanged()

chrome.vpnProvider.notifyConnectionStateChanged(
  state: VpnConnectionState,
): Promise

向平台通知 VPN 会话状态。只有当 VPN 会话归扩展程序所有时,此方法才会成功。

返回

sendPacket()

chrome.vpnProvider.sendPacket(
  data: ArrayBuffer,
): Promise

通过为 VPN 会话创建的隧道发送 IP 数据包。只有当 VPN 会话归扩展程序所有时,此方法才会成功。

返回

setParameters()

chrome.vpnProvider.setParameters(
  parameters: Parameters,
): Promise

设置 VPN 会话的参数。应在从平台收到 "connected" 后立即调用此方法。只有当 VPN 会话归扩展程序所有时,此方法才会成功。

返回

事件

onConfigCreated

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

当平台为扩展程序创建配置时触发。

参数

onConfigRemoved

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

当扩展程序创建的配置被平台移除时触发。

参数

onPacketReceived

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

当通过隧道接收到扩展程序所拥有的 VPN 会话的 IP 数据包时触发。

参数

onPlatformMessage

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

当从平台收到扩展程序所拥有的 VPN 配置的消息时触发。

参数

onUIEvent

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

当扩展程序发生界面事件时触发。界面事件是来自平台的信号,用于向应用表明需要向用户显示界面对话框。

参数

如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。

最后更新时间 (UTC):2025-08-11。