更新记录
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及更高版本