kenzok8-packages/luci-app-store/API.md
2024-07-02 20:10:53 +08:00

3.9 KiB
Raw Permalink Blame History

路由器端API

  1. 获取csrfToken用于POST请求

     GET /cgi-bin/luci/admin/store/token
    
    
     {"token":"xxx"}
    
  2. 已安装软件列表

     GET /cgi-bin/luci/admin/store/installed
    
    
     [
        {
         "description": "DDNS.TO内网穿透",
         "tags": [
           "net",
           "tool"
         ],
         "entry": "/cgi-bin/luci/admin/services/ddnsto",
         "author": "xiaobao",
         "depends": [
           "ddnsto",
           "luci-app-ddnsto",
           "luci-i18n-ddnsto-zh-cn"
         ],
         "title": "DDNS.TO",
         "time": 1629356347,
         "release": 1,
         "website": "https://www.ddnsto.com/",
         "name": "ddnsto",
         "version": "1.0.0"
       }
     ]
    
  3. 安装软件

    POST /cgi-bin/luci/admin/store/install
    token=xxx&package=upnp&autoconf=1&path=/mnt/nvme&enable=1
    
    autoconf=1&path=/mnt/nvme&enable=1 是可选参数,表示安装完以后是否自动配置插件
    
    {"code":0, "stdout":"", "stderr":""}
    
  4. 更新软件

    POST /cgi-bin/luci/admin/store/upgrade
    token=xxx&package=upnp
    
    
    {"code":0, "stdout":"", "stderr":""}
    
  5. 卸载软件

    POST /cgi-bin/luci/admin/store/remove
    token=xxx&package=upnp
    
    
    {"code":0, "stdout":"", "stderr":""}
    
  6. 刷新可用软件列表

    POST /cgi-bin/luci/admin/store/update
    token=xxx
    
    
    {"code":0, "stdout":"", "stderr":""}
    
  7. 查询特定软件状态

    GET /cgi-bin/luci/admin/store/status?package=ddnsto
    
    
     {
         "description": "DDNS.TO内网穿透",
         "tags": [
           "net",
           "tool"
         ],
         "entry": "/cgi-bin/luci/admin/services/ddnsto",
         "author": "xiaobao",
         "depends": [
           "ddnsto",
           "luci-app-ddnsto",
           "luci-i18n-ddnsto-zh-cn"
         ],
         "installed": true,
         "title": "DDNS.TO",
         "time": "1629356347",
         "release": 1,
         "website": "https://www.ddnsto.com/",
         "name": "ddnsto",
         "version": "1.0.0"
     }
    
    
     {"installed":false}
    
  8. 任务状态日志已废弃使用luci-lib-taskd提供的封装

    GET /cgi-bin/luci/admin/store/log
    
    
    {
       "stdout": "Installing app-meta-ddnsto (1.0.0) to root...\nDownloading http://192.168.9.168:9999/packages/aarch64_cortex-a53/meta/app-meta-ddnsto_1.0.0_all.ipk\nConfiguring app-meta-ddnsto.\n",
       "stderr": "",
       "code": 206
    }
    
    {"stdout":"","stderr":"","code":0}
    
  9. 上传安装

    POST /cgi-bin/luci/admin/store/upload
    
    
    (文件上传表单,支持文件扩展名".ipk,.run")
    
    
    {"code":0, "stdout":"", "stderr":""}
    
  10. 检查iStore自身更新

    GET /cgi-bin/luci/admin/store/check_self_upgrade
    
    
    {"code":500, "msg":"Internal Error"}
    {"code":200, "msg":"1.1.2"}
    {"code":304, "msg":""}
    
  11. 更新iStore自身

    检查iStore自身更新接口返回code为200时才调用这个接口

    POST /cgi-bin/luci/admin/store/do_self_upgrade
    token=xxx
    
    
    {"code":0, "stdout":"", "stderr":""}
    
  12. 枚举块设备

    GET /cgi-bin/luci/admin/store/get_block_devices
    
    
    {"code":500, "msg":"Unable to execute block utility"}
    {"code":200, "data":{"sda1":{"dev":"\/dev\/sda1","uuid":"f54566dd-ec58-4e24-9451-bbf75834add3","version":"1.0","type":"ext4","size":"238.46 GB"},"mmcblk0p2":{"dev":"\/dev\/mmcblk0p2","uuid":"dba3d0dc-f072-4e81-a0ac-ac35197fb286","version":"1.0","label":"etc","mount":"\/overlay","type":"ext4","size":"6.87 GB"},"mmcblk0p1":{"dev":"\/dev\/mmcblk0p1","uuid":"8f9564a1-68006e25-c4c26df6-de88ef16","version":"4.0","mount":"\/rom","type":"squashfs","size":"127.99 MB"}}}
    
  13. 检查插件是否已经配置过

    GET /cgi-bin/luci/admin/store/configured?uci=ddnsto
    
    uci参数是uci配置文件的名称不是包名不过大部分情况下都是一致的。
    
    {"code":200}
    {"code":200, "configured":true}