• 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.1 KiB9060

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-2024839 2927

README_zh.md

1# VPN连接
2
3### 介绍
4本示例使用[@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网络等功能。
5实现了VPN的进行服务器连接,发送数据的功能
6
7### 效果预览
8| 主页                             | vpn启动                              | vpn关闭                                     |
9| ------------------------------ | --------------------------------- | --------------------------------------- |
10| ![main.jpeg](sceenshots%2Fmain.jpeg) | ![start.jpeg](sceenshots%2Fstart.jpeg) | ![stop.jpeg](sceenshots%2Fstop.jpeg) |
11
12### 使用说明
13
141.需要一台Linux系统(推荐使用ubuntu系统)的机器作为服务器 确保此机器连接网络
15
162.将openharmony设备(如rk3568开发板)与用作服务器的机器通过网线连通
17
183.搭建服务器环境,配置服务端
19打开linux终端 使用下列指令配置iptables防火墙的网络地址转换(NAT)规则
20其中"eth1"的值为具备网络连通性的以太网端口标识,一般为eno1
21`iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o "eth1" -j MASQUERADE`
22
234.在server文件夹打开终端
24`unzip server.zip`
25
265.运行/server文件夹下的setserver.sh
27`chmod +x setserver.sh`
28`./setserver.sh`
29
306.运行服务器成功后终端会开始打印log持续监听
31
327.打开vpn应用。用户先后点击创建对象,隧道保护,启动vpn按钮,vpn启动后尝试用浏览器等hap包访问百度
33
34| 成功                             |
35| ------------------------------ |
36| ![success.jpeg](sceenshots%2Fsuccess.jpeg)|
37
388.访问成功后返回主页面,关闭vpn按钮,断开vpn连接
39
40### 工程目录
41
42```
43entry/src/main/ets/
44|---entryability
45|   |---EntryAbility.ts            // 项目入口,请求相关权限
46|---pages
47|   |---Index.ets                  // 首页
48|   |---StartVpn.ets               // 打开vpn
49|   |---StopVpn.ets                // 关闭vpn
50|---model
51|   |---Logger.ets                 // 日志
52
53```
54
55### 相关权限
56网络权限: [ohos.permission.INTERNET](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/AccessToken/permissions-for-all.md#ohospermissioninternet)
57
58VPN权限: [ohos.permission.MANAGE_VPN](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/AccessToken/permissions-for-system-apps.md#ohospermissionmanage_vpn)
59
60### 依赖
61
62不涉及
63
64### 约束与限制
65
661.本示例仅支持标准系统上运行,支持设备:RK3568。
67
682.本示例为Stage模型,支持API10版本SDK,SDK版本号(API Version 10 Release),镜像版本号(4.0 Release)
69
703.本示例需要使用DevEco Studio 版本号(4.0 Release)及以上版本才可编译运行。
71
724.本示例在启动前需搭建服务端环境,成功启动相应服务端后再运行客户端,服务端脚本(server_python)需要在Python 3.8.5版本下运行(需与客户端处于同一局域网)。
73
745.该示例运行测试完成后,再次运行需要重新启动服务端和客户端。
75
766.本示例需要使用 [@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时需要手动从镜像站点获取,并在DevEcoStudio中替换,具体操作可参考 [替换指南](https://docs.openharmony.cn/pages/v3.2/zh-cn/application-dev/quick-start/full-sdk-switch-guide.md/)77
787.本示例使用了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/v3.2/zh-cn/application-dev/security/hapsigntool-overview.md/) ) 。
79
80### 下载
81
82如需单独下载本工程,执行如下命令:
83
84```
85git init
86git config core.sparsecheckout true
87echo code/BasicFeature/Connectivity/VPN/ > .git/info/sparse-checkout
88git remote add origin https://gitee.com/openharmony/applications_app_samples.git
89git pull origin master
90```