aleafVPN

iOS插件配置

  1. Info.plist新增如下配置参数
<key>groupName</key>
<string>group.com.soft.qingyanjiasu</string>

2.新增UZApp.entitlements文件配置内容如下:

<key>com.apple.developer.networking.networkextension</key>
<array>
    <string>packet-tunnel-provider</string>
</array>
<key>com.apple.security.application-groups</key>
<array>
    <string>group.com.soft.qingyanjiasu</string>
</array>
  1. 制作自己的PacketTunnel.appex扩展插件,下载地址:Gitee仓库

概述

aleafVPN封装了在iOS、Android系统使用leaf连接VPN功能

接口

setConfig

设置用户登录配置信息

setConfig({params},callback(ret, err))

params

name:

  • 类型:字符串
  • 描述:(可选项)连接名称
  • 默认值:iLeaf

conf:

  • 类型:字符串
  • 描述:(必填项)配置信息 (模块中 logoutput = REPLACE-LEAF-LOG-FILE 和 tun-fd = REPLACE-ME-WITH-THE-FD 为固定值,不能更换为其他,否则无法正常进行连接和获取日志)
[General]
loglevel = trace
logoutput = REPLACE-LEAF-LOG-FILE
dns-server = 223.5.5.5, 114.114.114.114
tun-fd = REPLACE-ME-WITH-THE-FD
routing-domain-resolve = true
[Proxy]
Direct = direct
Proxy = trojan, 192.168.1.1, 443, password=123456, sni=www.domain.com
[Rule]
FINAL, Proxy

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    status: true,  //布尔型;true||false
}

示例代码

var demo = api.require('aleafVPN');
demo.setConfig({
   conf:''
},function(ret, err){
    alert(JSON.stringify(ret));
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

startVPN

连接VPN

startVPN(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    status: true,  //布尔型;true||false
}

err:

  • 类型:JSON对象
  • 内部字段:
{
    msg: ""
}

示例代码

var demo = api.require('aleafVPN');
demo.startVPN(function(ret, err){
    alert(JSON.stringify(ret));
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

stopVPN

断开VPN

stopVPN(callback(ret))

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    status: true
}

示例代码

var demo = api.require('aleafVPN');
demo.stopVPN(function(ret, err) {});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

addStatusCallback

监听状态

addStatusCallback(callback(ret))

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    status: :'Invalid',//Invalid Connecting Connected Disconnecting Disconnected
}

示例代码

var demo = api.require('aleafVPN');
demo.addStatusCallback(function(ret, err) {});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

isConnected

VPN是否连接

isConnected()

ret:

  • 类型:布尔型

示例代码

var demo = api.require('aleafVPN');
var ret = demo.isConnected();
alert(ret);

可用性

iOS、Android系统

可提供的1.0.0及更高版本

getConfig

获取当前配置文件

getConfig()

ret:

  • 类型:字符串型

示例代码

var demo = api.require('aleafVPN');
demo.getConfig();

可用性

iOS、Android系统

可提供的1.0.0及更高版本

getLog

获取日志文件

getLog(callback(ret))

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    status: : true,
    log : ''
}

示例代码

var demo = api.require('aleafVPN');
demo.getLog(function(ret, err) {});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

是否仍需要帮助? 请保持联络!
最后更新于 2024/04/24