[关闭]
@miniknife 2017-12-13T06:56:51.000000Z 字数 5428 阅读 3708

VPN配置插件使用手册

开发手册


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

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

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


目录

简介

  • 产品主要功能:
    自动创建连接vpn并执行相关操作
  • 支持 iOS 7.0-10.2 系统越狱设备。
  • 此插件由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)下载:vpncfg.tsl946.9kB

功能函数

函数: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.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. 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)
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注