• Home
Name Date Size #Lines LOC

..--

AppScope/12-May-2024-3532

entry/12-May-2024-1,1911,003

hvigor/12-May-2024-3534

sceenshots/12-May-2024-

server/12-May-2024-263

README_zh.mdD12-May-20244 KiB7652

build-profile.json5D12-May-20241.6 KiB5655

hvigorfile.tsD12-May-2024159 21

hvigorwD12-May-20242.1 KiB6228

hvigorw.batD12-May-20242.1 KiB7960

oh-package-lock.json5D12-May-20241 KiB2827

oh-package.json5D12-May-2024867 2927

README_zh.md

1# VPN连接
2
3### 介绍
4本示例展示了VPN连接相关功能,使用 [@ohos.net.vpn](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-network-kit/js-apis-net-vpn-sys.md)接口,实现了包括创建VPN隧道,建立VPN网络,VPN隧道保护,销毁VPN网络,根据配置的VPN网络参数,实现了VPN服务器连接和发送数据的功能。
5
6### 效果预览
7| 主页                             | vpn启动                              | vpn关闭                                     |
8| ------------------------------ | --------------------------------- | --------------------------------------- |
9| ![main.jpeg](sceenshots%2Fmain.jpeg) | ![start.jpeg](sceenshots%2Fstart.jpeg) | ![stop.jpeg](sceenshots%2Fstop.jpeg) |
10
11 使用说明
121. 进入应用后,主界面有启用VPN和停用VPN的选项。分别对应开启和关闭VPN功能。
132. 在主界面,可以点击启用VPN来创建VPN连接。
143. 在VPN启动界面,可以配置VPN服务器IP地址/隧道IP地址/使用VPN的应用程序。
154. 在VPN启动界面,点击创建对象可以创建VPN隧道,点击隧道保护可以开启隧道保护,点击启动VPN可以进行网络连接。
165. 在主界面,可以点击停用VPN来断开和关闭VPN连接。
17
18### 工程目录
19
20```
21entry/src/main/ets/
22|---entryability
23|   |---EntryAbility.ts            // 项目入口,请求相关权限
24|---pages
25|   |---Index.ets                  // 首页
26|   |---StartVpn.ets               // 打开vpn
27|   |---StopVpn.ets                // 关闭vpn
28|---model
29|   |---Logger.ets                 // 日志
30
31```
32
33### 具体实现
34
35创建VPN隧道,建立VPN网络,VPN隧道保护,销毁VPN网络,接口封装在StartVpn和StopVpn,源码参考:StartVpn.etsStopVpn.ets36
37    * 创建VPN隧道:调用StartVpn.CreateTunnel()来创建VPN隧道;
38    * 建立VPN网络:调用StartVpn.SetupVpn()来建立VPN网络;
39    * 销毁VPN网络:调用StopVpn.Destroy()来销毁VPN网络;
40    * VPN隧道保护:调用StartVpn.Protect()来开启VPN隧道保护;
41
42### 相关权限
43允许系统应用获取网络权限: ohos.permission.INTERNET,允许系统应用获取VPN权限: ohos.permission.MANAGE_VPN44
45### 依赖
46
47不涉及
48
49### 约束与限制
50
511.本示例仅支持标准系统上运行,支持设备:RK3568。
52
532.本示例为Stage模型,支持API10版本SDK,SDK版本号(API Version 10 Release),镜像版本号(4.0 Release)。
54
553.本示例需要使用DevEco Studio 版本号(4.0 Release)及以上版本才可编译运行。
56
574.本示例在启动前需搭建服务端环境,成功启动相应服务端后再运行客户端,服务端脚本(server_python)需要在Python 3.8.5版本下运行(需与客户端处于同一局域网)。
58
595.该示例运行测试完成后,再次运行需要重新启动服务端和客户端。
60
616.本示例需要使用 [@ohos.net.vpn](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-network-kit/js-apis-net-vpn-sys.md)系统权限的系统接口。使用Full SDK时需要手动从镜像站点获取,并在DevEco Studio中替换,具体操作可参考[替换指南](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/faqs/full-sdk-switch-guide.md)62
637.本示例使用了system_basic级别的权限(相关权限级别请查看[权限定义列表](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/AccessToken/permissions-for-system-apps.md)),需要手动配置高级别的权限签名(具体操作可查看[自动化签名方案](https://docs.openharmony.cn/pages/v4.0/zh-cn/application-dev/security/hapsigntool-overview.md/))64
65### 下载
66
67如需单独下载本工程,执行如下命令:
68
69```
70git init
71git config core.sparsecheckout true
72echo code/BasicFeature/Connectivity/VPN/ > .git/info/sparse-checkout
73git remote add origin https://gitee.com/openharmony/applications_app_samples.git
74git pull origin master
75```
76