[关闭]
@miniknife 2020-03-17T11:46:28.000000Z 字数 5487 阅读 21999

VPN 配置插件使用手册

已不更新,最新版请查看:http://helpdoc.touchsprite.com/dev_docs/2183/2135/2136.html
开发手册


Windows 平台按 Ctrl + F 打开快捷搜索

Mac 平台按 command + F 打开快捷搜索

※右侧文本列表可以找到全部手册


目录

简介

  • 产品主要功能:
    自动创建连接 VPN 并执行相关操作
  • 支持 iOS 7.0 以上系统越狱设备。
  • 此插件由 Archer 开发,触动精灵提供售后服务。
  • 授权码一经售出使用后不提供退换货服务。
  • 如果使用过程中遇到什么问题和建议,欢迎反馈。
  • 点击添加交流反馈 QQ 群:[614598232]

使用须知

  • 使用 VPN 配置 插件请先加载 tsl 库,请在脚本开头调用,会返回一个 table, 请看完整示例
  • VPN 配置插件并非独立应用,仅供触动精灵普通版(企业版)脚本调用,不可用于其他平台。
  • 触动普通版需要手动把 vpncfg.tsl 文件导入到 /var/mobile/Media/TouchSprite/plugin 插件目录
  • 如果是普通版 tsp,把 tsl 文件一起打包即可,因为 tsl 插件如果存在不会覆盖,所以如果是 tsp 需要判断
  • 文中提到的目录都是手机目录

普通版 tsp 可以添加该段代码,lua 不用

  1. function file_exists(file_name) --检测指定文件是否存在
  2. local f = io.open(file_name, "r")
  3. return f ~= nil and f:close()
  4. end
  5. if file_exists(userPath().."/plugin/vpncfg.tsl") == false then
  6. dialog("库文件不存在,请手动导入 vpncfg.tsl 文件到"..userPath().."/plugin 目录下", 0)
  7. lua_exit()
  8. end
  9. local tsld = loadTSLibrary("vpncfg.tsl") --库加载
  10. if tsld.granted == 0 then
  11. dialog("插件未授权!", 0)
  12. return
  13. end
  14. if tsld.status == 0 then --验证判断
  15. dialog("插件加载异常", 0)
  16. return
  17. end
  18. require("vpncfg") --需要加载
  19. local bkvs = VPNVersions()
  20. if bkvs ~= "1.0" then --自己上传的文件版本号
  21. delFile(userPath().."/plugin/vpncfg.tsl") --删除老版本
  22. end
  23. --以上代码请在脚本开头先调用验证加载,只需加载一次

文件下载

v1.1 版本(更新于2017/09/19)

功能函数

函数:loadTSLibrary 加载插件

函数名称:加载插件
函数功能:加载 VPN 配置 插件
函数方法:
local tsld = loadTSLibrary("vpncfg.tsl")
返回值:Table 型
返回值 类型 说明
tsld.status 整数型 加载库 1 - 正常,2 - 已加载过,0 - 失败
tsld.path 文本型 插件路径
tsld.granted 整数型 插件授权,已授权 -1,未授权 - 0
tsld.endtime 整数型 插件授权到期时间,时间戳需要自己转换

函数用例:

  1. function file_exists(file_name) --检测指定文件是否存在
  2. local f = io.open(file_name, "r")
  3. return f ~= nil and f:close()
  4. end
  5. if file_exists(userPath().."/plugin/vpncfg.tsl") == false then
  6. dialog("库文件不存在,请手动导 入vpncfg.ts l文件到"..userPath().."/plugin目录下", 0)
  7. lua_exit()
  8. end
  9. local tsld = loadTSLibrary("vpncfg.tsl") --库加载,返回一个 table
  10. if tsld.granted == 0 then
  11. dialog("插件未授权!", 0)
  12. return
  13. end
  14. if tsld.status == 0 then --验证判断
  15. dialog("插件加载异常", 0)
  16. return
  17. end
  18. local info = ""
  19. for k,v in pairs(tsld) do
  20. info = info .. k ..":"..v.."\n"
  21. end
  22. dialog(info, 0)
  1. --如果未授权点确定没反应,可执行该代码手动打开浏览器粘贴地址打开
  2. local tsld = loadTSLibrary("vpncfg.tsl",false)
  3. writePasteboard(tsld.url)

注意事项

  • 使用该插件需要先调用该函数
  • 请先判断插件已经授权并且正常加载
  • 运行过程中只需加载一次,多次加载会导致出错

函数:VPNVersions 获取版本号

函数名称:获取版本号
函数功能:获取插件版本号
函数方法:
local bkvs = VPNVersions()
返回值 类型 说明
bkvs 文本型 插件版本号,如:1.0.0

函数用例:

  1. function file_exists(file_name) --检测指定文件是否存在
  2. local f = io.open(file_name, "r")
  3. return f ~= nil and f:close()
  4. end
  5. if file_exists(userPath().."/plugin/vpncfg.tsl") == false then
  6. dialog("库文件不存在,请手动导入 vpncfg.tsl 文件到"..userPath().."/plugin目录下", 0)
  7. lua_exit()
  8. end
  9. local tsld = loadTSLibrary("vpncfg.tsl") --库加载,返回一个 table
  10. if tsld.granted == 0 then
  11. dialog("插件未授权!", 0)
  12. return
  13. end
  14. if tsld.status == 0 then --验证判断
  15. dialog("插件加载异常", 0)
  16. return
  17. end
  18. require("vpncfg") --需要加载
  19. --以上代码请在脚本开头先调用验证加载,只需加载一次
  20. local vpnvs = VPNVersions()
  21. dialog(vpnvs, 0)

函数:crevpn 创建 VPN

函数名称:创建 VPN
函数功能:创建一个新的 VPN
函数方法:
info = {
securID,
password,
VPNLocalIdentifier,
VPNRemotedentifier,
authType,
eapType,
VPNType,
authorization,
dispName,
secret,
server,
}
crevpn(info)
不同类型 VPN 必填项不同,注意区别
使用参数内容说明:
参数 类型 说明
dispName 文本型 必填,VPN 描述
VPNType 整数型 必填,VPN 类型,0:L2TP,1:PPTP,2:IPSec,4:IKEv2
server 文本型 必填,服务器地址
authorization 文本型 必填,VPN 账号
password 文本型 必填,VPN 密码
VPNLocalIdentifier 文本型 选填,本地 ID
VPNRemotedentifier 文本型 当 VPN 类型为 4 时必填,远程 ID
authType 整数型 选填,用户鉴定,0:无 1:用户名
eapType 文本型 选填,证书
securID 文本型 RSA SecURLID,选填
secret 文本型 选填,秘钥

函数用例:

  1. function file_exists(file_name) --检测指定文件是否存在
  2. local f = io.open(file_name, "r")
  3. return f ~= nil and f:close()
  4. end
  5. if file_exists(userPath().."/plugin/vpncfg.tsl") == false then
  6. dialog("库文件不存在,请手动导入 vpncfg.tsl 文件到"..userPath().."/plugin目录下", 0)
  7. lua_exit()
  8. end
  9. local tsld = loadTSLibrary("vpncfg.tsl") --库加载,返回一个 table
  10. if tsld.granted == 0 then
  11. dialog("插件未授权!", 0)
  12. return
  13. end
  14. if tsld.status == 0 then --验证判断
  15. dialog("插件加载异常", 0)
  16. return
  17. end
  18. require("vpncfg") --需要加载
  19. --以上代码请在脚本开头先调用验证加载,只需加载一次
  20. local tab = {
  21. VPNType=0,
  22. dispName="test",
  23. server="123.123.com",
  24. authorization="123",
  25. password="123",
  26. authType = 0,
  27. }--table 内写入 VPN 配置信息
  28. crevpn(tab)

注意事项

  • 不同系统的 VPN 类型有差别
  • 函数需要在设置界面调用才生效

函数:selvpn 切换 VPN

函数名称:切换 VPN
函数功能:切换到指定 VPN,同名 VPN 按顺序优先选择
函数方法:
selvpn(dispName)
参数 类型 说明
dispName 文本型 vpn 描述
  • 函数需要在设置界面调用才生效

函数用例:

  1. function file_exists(file_name) --检测指定文件是否存在
  2. local f = io.open(file_name, "r")
  3. return f ~= nil and f:close()
  4. end
  5. if file_exists(userPath().."/plugin/vpncfg.tsl") == false then
  6. dialog("库文件不存在,请手动导 入vpncfg.tsl 文件到"..userPath().."/plugin目录下", 0)
  7. lua_exit()
  8. end
  9. local tsld = loadTSLibrary("vpncfg.tsl") --库加载,返回一个 table
  10. if tsld.granted == 0 then
  11. dialog("插件未授权!", 0)
  12. return
  13. end
  14. if tsld.status == 0 then --验证判断
  15. dialog("插件加载异常", 0)
  16. return
  17. end
  18. require("vpncfg") --需要加载
  19. --以上代码请在脚本开头先调用验证加载,只需加载一次
  20. dispName = "test"
  21. selvpn(dispName)

函数:delvpn 删除 VPN

函数名称:删除 VPN
函数功能:删除指定的 VPN,同名 VPN 按顺序优先选择
函数方法:
delvpn(dispName)
参数 类型 说明
dispName 文本型 vpn描述
  • 函数需要在设置界面调用才生效

函数用例:

  1. function file_exists(file_name) --检测指定文件是否存在
  2. local f = io.open(file_name, "r")
  3. return f ~= nil and f:close()
  4. end
  5. if file_exists(userPath().."/plugin/vpncfg.tsl") == false then
  6. dialog("库文件不存在,请手动导入 vpncfg.tsl 文件到"..userPath().."/plugin目录下", 0)
  7. lua_exit()
  8. end
  9. local tsld = loadTSLibrary("vpncfg.tsl") --库加载,返回一个 table
  10. if tsld.granted == 0 then
  11. dialog("插件未授权!", 0)
  12. return
  13. end
  14. if tsld.status == 0 then --验证判断
  15. dialog("插件加载异常", 0)
  16. return
  17. end
  18. require("vpncfg") --需要加载
  19. --以上代码请在脚本开头先调用验证加载,只需加载一次
  20. dispName = "test"
  21. delvpn(dispName)

函数:getVPNList 获取 VPN 列表

函数名称:获取 VPN 列表
函数功能:获取 VPN 列表,返回一个表
函数方法:
list = getVPNList()
返回值 类型 说明
list 文本型 vpn名称列表
  • 函数需要在设置界面调用才生效

函数用例:

  1. function file_exists(file_name) --检测指定文件是否存在
  2. local f = io.open(file_name, "r")
  3. return f ~= nil and f:close()
  4. end
  5. if file_exists(userPath().."/plugin/vpncfg.tsl") == false then
  6. dialog("库文件不存在,请手动导入 vpncfg.tsl 文件到"..userPath().."/plugin 目录下", 0)
  7. lua_exit()
  8. end
  9. local tsld = loadTSLibrary("vpncfg.tsl") --库加载,返回一个 table
  10. if tsld.granted == 0 then
  11. dialog("插件未授权!", 0)
  12. return
  13. end
  14. if tsld.status == 0 then --验证判断
  15. dialog("插件加载异常", 0)
  16. return
  17. end
  18. require("vpncfg") --需要加载
  19. --以上代码请在脚本开头先调用验证加载,只需加载一次
  20. list = getVPNList()
  21. local info = ""
  22. for k,v in pairs(list) do
  23. info = info .. k ..":"..v.."\n"
  24. end
  25. dialog(info, 0)
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注