162 lines
3.9 KiB
Markdown
162 lines
3.9 KiB
Markdown
### 路由器端API:
|
||
0. 获取csrfToken(用于POST请求)
|
||
```
|
||
GET /cgi-bin/luci/admin/store/token
|
||
|
||
|
||
{"token":"xxx"}
|
||
```
|
||
1. 已安装软件列表
|
||
```
|
||
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"
|
||
}
|
||
]
|
||
```
|
||
2. 安装软件
|
||
```
|
||
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":""}
|
||
```
|
||
3. 更新软件
|
||
```
|
||
POST /cgi-bin/luci/admin/store/upgrade
|
||
token=xxx&package=upnp
|
||
|
||
|
||
{"code":0, "stdout":"", "stderr":""}
|
||
```
|
||
4. 卸载软件
|
||
```
|
||
POST /cgi-bin/luci/admin/store/remove
|
||
token=xxx&package=upnp
|
||
|
||
|
||
{"code":0, "stdout":"", "stderr":""}
|
||
```
|
||
5. 刷新可用软件列表
|
||
```
|
||
POST /cgi-bin/luci/admin/store/update
|
||
token=xxx
|
||
|
||
|
||
{"code":0, "stdout":"", "stderr":""}
|
||
```
|
||
6. 查询特定软件状态
|
||
```
|
||
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}
|
||
```
|
||
7. 任务状态(日志),已废弃,使用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}
|
||
```
|
||
8. 上传安装
|
||
```
|
||
POST /cgi-bin/luci/admin/store/upload
|
||
|
||
|
||
(文件上传表单,支持文件扩展名".ipk,.run")
|
||
|
||
|
||
{"code":0, "stdout":"", "stderr":""}
|
||
```
|
||
|
||
9. 检查iStore自身更新
|
||
```
|
||
GET /cgi-bin/luci/admin/store/check_self_upgrade
|
||
|
||
|
||
{"code":500, "msg":"Internal Error"}
|
||
{"code":200, "msg":"1.1.2"}
|
||
{"code":304, "msg":""}
|
||
```
|
||
|
||
1. 更新iStore自身
|
||
> 检查iStore自身更新接口返回code为200时才调用这个接口
|
||
```
|
||
POST /cgi-bin/luci/admin/store/do_self_upgrade
|
||
token=xxx
|
||
|
||
|
||
{"code":0, "stdout":"", "stderr":""}
|
||
```
|
||
|
||
2. 枚举块设备
|
||
```
|
||
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"}}}
|
||
```
|
||
|
||
3. 检查插件是否已经配置过
|
||
```
|
||
GET /cgi-bin/luci/admin/store/configured?uci=ddnsto
|
||
|
||
uci参数是uci配置文件的名称,不是包名,不过大部分情况下都是一致的。
|
||
|
||
{"code":200}
|
||
{"code":200, "configured":true}
|
||
```
|