更新记录

1.0.5(2024-09-26)

修复VPN事件持续触发不生效问题。

1.0.4(2024-09-08)

setConfig接口新增是否开启通知栏保活的参数。

1.0.3(2024-04-24)

优化iOS插件内部逻辑。

查看更多

平台兼容性

Vue2 Vue3
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
HBuilderX 3.6.8,Android:4.4,iOS:11,HarmonyNext:不确定 × × × × × ×
钉钉小程序 快手小程序 飞书小程序 京东小程序 鸿蒙元服务
× × × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
× × × × × × × × ×

概述

XF-aleafVPNUTS实现了iOS平台集成Network Extensions集成leaf、Android集成leaf实现VPN功能(小米手机上使用的请加uniPush,会在一定程度上对App进行保活)。

模块使用攻略

iOS扩展配套插件地址下载:Gitee仓库

插件接口

setConfig

配置VPN参数

uni-app项目中(nvue)调用示例:

import { setConfig } from "@/uni_modules/XF-aleafVPNUTS"

setConfig({
  conf: "[General]\n loglevel = trace\n logoutput = REPLACE-LEAF-LOG-FILE\n dns-server = 223.5.5.5, 114.114.114.114\n tun-fd = REPLACE-ME-WITH-THE-FD\n routing-domain-resolve = true\n [Proxy]\n Direct = direct\n Proxy = trojan, www.demo.vip, 443, password=demo, sni=www.demo.vip\n [Rule]\n FINAL, Proxy",
  complete: (res) => {
        console.log(res)
  }
});

uni-app x项目(uvue)中调用示例:

import { setConfig } from "@/uni_modules/XF-aleafVPNUTS";
import { ConfigOptions } from "@/uni_modules/XF-aleafVPNUTS/utssdk/interface.uts";

let options = {
  conf: "[General]\n loglevel = trace\n logoutput = REPLACE-LEAF-LOG-FILE\n dns-server = 223.5.5.5, 114.114.114.114\n tun-fd = REPLACE-ME-WITH-THE-FD\n routing-domain-resolve = true\n [Proxy]\n Direct = direct\n Proxy = trojan, www.demo.vip, 443, password=demo, sni=www.demo.vip\n [Rule]\n FINAL, Proxy",
  complete: (res : any) => {
    console.log(res)
  }
} as ConfigOptions;
setConfig(options);

可用性

iOS、Android系统

可提供的1.0.0及更高版本

startVPN

开启VPN服务

uni-app项目中(nvue)调用示例:

import { startVPN } from "@/uni_modules/XF-aleafVPNUTS"

startVPN({
  complete: (res) => {
        console.log(res)
  }
});

uni-app x项目(uvue)中调用示例:

import { startVPN } from "@/uni_modules/XF-aleafVPNUTS";
import { VPNOptions } from "@/uni_modules/XF-aleafVPNUTS/utssdk/interface.uts";

let options = {
  complete: (res : any) => {
    console.log(res)
  }
} as VPNOptions;
startVPN(options);

可用性

iOS、Android系统

可提供的1.0.0及更高版本

stopVPN

停止VPN服务

uni-app项目中(nvue)调用示例:

import { stopVPN } from "@/uni_modules/XF-aleafVPNUTS"

stopVPN({
  complete: (res) => {
        console.log(res)
  }
});

uni-app x项目(uvue)中调用示例:

import { stopVPN } from "@/uni_modules/XF-aleafVPNUTS";
import { VPNOptions } from "@/uni_modules/XF-aleafVPNUTS/utssdk/interface.uts";

let options = {
  complete: (res : any) => {
    console.log(res)
  }
} as VPNOptions;
stopVPN(options);

可用性

iOS、Android系统

可提供的1.0.0及更高版本

addStatusCallback

监听VPN状态通知

uni-app项目中(nvue)调用示例:

import { addStatusCallback } from "@/uni_modules/XF-aleafVPNUTS"

addStatusCallback({
  complete: (res) => {
        console.log(res)
  }
});

uni-app x项目(uvue)中调用示例:

import { addStatusCallback } from "@/uni_modules/XF-aleafVPNUTS";
import { VPNOptions } from "@/uni_modules/XF-aleafVPNUTS/utssdk/interface.uts";

let options = {
  complete: (res : any) => {
    console.log(res)
  }
} as VPNOptions;
addStatusCallback(options);

可用性

iOS、Android系统

可提供的1.0.0及更高版本

isConnected

是否已连接

uni-app项目中(nvue)调用示例:

import { isConnected } from "@/uni_modules/XF-aleafVPNUTS"

isConnected();

uni-app x项目(uvue)中调用示例:

import { isConnected } from "@/uni_modules/XF-aleafVPNUTS";

isConnected();

可用性

iOS、Android系统

可提供的1.0.0及更高版本

getConfig

获取正在运行的配置文件内容

uni-app项目中(nvue)调用示例:

import { getConfig } from "@/uni_modules/XF-aleafVPNUTS"

getConfig();

uni-app x项目(uvue)中调用示例:

import { getConfig } from "@/uni_modules/XF-aleafVPNUTS";

getConfig();

可用性

iOS、Android系统

可提供的1.0.0及更高版本

getLog

获取日志信息

uni-app项目中(nvue)调用示例:

import { getLog } from "@/uni_modules/XF-aleafVPNUTS"

getLog();

uni-app x项目(uvue)中调用示例:

import { getLog } from "@/uni_modules/XF-aleafVPNUTS";

getLog();

可用性

iOS、Android系统

可提供的1.0.0及更高版本

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

暂无用户评论。

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问