| Name | Date | Size | #Lines | LOC | ||
|---|---|---|---|---|---|---|
| .. | - | - | ||||
| AppScope/ | 06-May-2025 | - | 35 | 32 | ||
| entry/ | 06-May-2025 | - | 1,628 | 1,398 | ||
| hvigor/ | 06-May-2025 | - | 35 | 34 | ||
| lib/ | 06-May-2025 | - | ||||
| sceenshots/ | 06-May-2025 | - | ||||
| server/ | 06-May-2025 | - | 26 | 3 | ||
| README_zh.md | D | 06-May-2025 | 4 KiB | 86 | 60 | |
| VPN测试用例报告.md | D | 06-May-2025 | 1.8 KiB | 10 | 9 | |
| build-profile.json5 | D | 06-May-2025 | 1.6 KiB | 56 | 55 | |
| hvigorfile.ts | D | 06-May-2025 | 159 | 2 | 1 | |
| hvigorw | D | 06-May-2025 | 2.1 KiB | 62 | 28 | |
| hvigorw.bat | D | 06-May-2025 | 2.1 KiB | 79 | 60 | |
| oh-package-lock.json5 | D | 06-May-2025 | 1 KiB | 28 | 27 | |
| oh-package.json5 | D | 06-May-2025 | 867 | 29 | 27 |
README_zh.md
1# VPN连接 2 3### 介绍 4本示例使用@ohos.net.vpn接口创建VPN 隧道,建立vpn网络,vpn隧道保护,销毁VPN网络以及使用@ohos.net.vpnExtension接口创建三方vpn等功能。 5实现了VPN的进行服务器连接,发送数据的功能 6 7### 效果预览 8| 主页 | vpn启动 | vpn关闭 | 9| ------------------------------ | --------------------------------- | --------------------------------------- | 10|  |  |  | 11 12 使用说明 131. 进入应用前请先安装[VPNFoundation](./lib/VPNFoundation-1.0.0.hap)。 142. 进入应用后,主界面有启用VPN和停用VPN的选项。分别对应开启和关闭VPN功能。 153. 在主界面,可以点击启用VPN来创建VPN连接。 164. 在VPN启动界面,可以配置VPN服务器IP地址/隧道IP地址/使用VPN的应用程序。 175. 在VPN启动界面,点击创建对象可以创建VPN隧道,点击隧道保护可以开启隧道保护,点击启动VPN可以进行网络连接。 186. 在主界面,可以点击停用VPN来断开和关闭VPN连接。 19 207. 以上演示系统vpn,如果使用三方vpn,点击启动vpnExt按钮,弹窗提示vpn使用许可,同意后三方vpn启动并自动连接,尝试用浏览器等hap包访问百度 21 22| 三方vpn弹窗 | 23| ------------------------------ | 24| | 25 268 .访问成功后返回主页面,点击关闭vpnExt按钮,断开三方vpn连接 27 28### 工程目录 29 30``` 31entry/src/main/ets/ 32|---entryability 33| |---EntryAbility.ts // 项目入口,请求相关权限 34|---pages 35| |---Index.ets // 首页 36| |---StartVpn.ets // 打开vpn 37| |---StopVpn.ets // 关闭vpn 38|---model 39| |---Logger.ets // 日志 40|---serviceextability 41| |---MyVpnExtAbility.ts // 三方vpn能力 42 43``` 44 45### 具体实现 46 47创建VPN隧道,建立VPN网络,VPN隧道保护,销毁VPN网络,接口封装在StartVpn和StopVpn,源码参考:StartVpn.ets和StopVpn.ets。 48 49 * 创建VPN隧道:调用StartVpn.CreateTunnel()来创建VPN隧道; 50 * 建立VPN网络:调用StartVpn.SetupVpn()来建立VPN网络; 51 * 销毁VPN网络:调用StopVpn.Destroy()来销毁VPN网络; 52 * VPN隧道保护:调用StartVpn.Protect()来开启VPN隧道保护; 53 54### 相关权限 55允许系统应用获取网络权限: ohos.permission.INTERNET,允许系统应用获取VPN权限: ohos.permission.MANAGE_VPN。 56 57### 依赖 58 59不涉及 60 61### 约束与限制 62 631.本示例仅支持标准系统上运行,支持设备:RK3568。 64 652.本示例为Stage模型,支持API11版本SDK,SDK版本号(API Version 4.1 Beta1),镜像版本号(4.1 Beta1) 66 673.本示例需要使用DevEco Studio 版本号(4.0 Release)及以上版本才可编译运行。 68 694.本示例在启动前需搭建服务端环境,成功启动相应服务端后再运行客户端,服务端脚本(server_python)需要在Python 3.8.5版本下运行(需与客户端处于同一局域网)。 70 715.该示例运行测试完成后,再次运行需要重新启动服务端和客户端。 72 736.本示例使用了system_basic级别的权限(相关权限级别请查看[权限定义列表](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/AccessToken/permissions-for-all.md) ),需要手动配置高级别的权限签名(具体操作可查看[自动化签名方案](https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ohos-auto-configuring-signature-information-0000001271659465) ) 。 74 75### 下载 76 77如需单独下载本工程,执行如下命令: 78 79``` 80git init 81git config core.sparsecheckout true 82echo code/BasicFeature/Connectivity/VPN/ > .git/info/sparse-checkout 83git remote add origin https://gitee.com/openharmony/applications_app_samples.git 84git pull origin master 85``` 86