Expand deployment and usage documentation

This commit is contained in:
zeer
2026-07-12 17:13:38 +08:00
parent c78c7eb00b
commit 5eaa7dcc94
2 changed files with 461 additions and 78 deletions

View File

@@ -1,63 +1,88 @@
# EdgeOne Pages 部署说明
这个项目已经包含 EdgeOne Pages 版本:
这是 STUN Nav 的 EdgeOne Pages 专用部署说明。完整使用文档见 `README.md`。
- 静态页面:`public/`
- Edge Functions:`edge-functions/api/[[default]].js`
- EdgeOne 配置:`edgeone.json`
## 文件结构
## 需要在 EdgeOne 配置的内容
```text
public/ # 静态页面
edge-functions/api/[[default]].js # /api/* 接口
edgeone.json # EdgeOne 配置
```
1. 创建一个 EdgeOne Pages / Makers 项目,并导入这个仓库。
2. 创建并绑定 KV Namespace。
3. 绑定 KV 时,变量名填写:
## 部署步骤
1. 在 EdgeOne Pages / Makers 中创建项目。
2. 导入 GitHub 仓库。
3. 确认构建输出目录为:
```text
public
```
4. 创建 KV Namespace。
5. 给项目绑定 KV,变量名填写:
```text
STUN_NAV_KV
```
4. 配置环境变量:
6. 添加环境变量:
```text
WEBHOOK_TOKEN=换成你自己的随机密钥
```
5. 部署后访问:
7. 部署项目。
## 访问地址
```text
https://你的域名/
https://你的域名/admin
```
## Lucky Webhook 示例
## Lucky Webhook
简单 URL 参数方式:
GET 参数方式:
```text
https://你的域名/api/webhook/alist?token=你的随机密钥&name=AList&group=文件&url=http://{STUN_你的STUN规则名_ADDR}
https://你的域名/api/webhook/fnnas?token=你的随机密钥&name=FNNAS&group=NAS&url=http://{STUN_fnnas_ADDR}
```
JSON 方式:
POST JSON 方式:
```text
URL: https://你的域名/api/webhook/alist?token=你的随机密钥
URL: https://你的域名/api/webhook/fnnas?token=你的随机密钥
Method: POST
Content-Type: application/json
Body:
{
"name": "AList",
"group": "文件",
"url": "http://{STUN_你的STUN规则名_ADDR}",
"note": "家中文件服务"
"name": "FNNAS",
"group": "NAS",
"url": "http://{STUN_fnnas_ADDR}",
"note": "家里 NAS"
}
```
## 数据存储
EdgeOne 版本不再使用 `data/links.json`,所有数据会存到 KV 的 `stun_nav_store` 这个 key 里。
EdgeOne 版本的数据保存在 KV 的这个 key 中:
本地 Node 版本仍然保留,可以继续用:
```bash
WEBHOOK_TOKEN=你的随机密钥 PORT=8080 npm start
```text
stun_nav_store
```
不会使用本地的 `data/links.json`。
## 故障排查
如果 `/api/services` 报 KV 错误,优先检查 KV 绑定变量名是不是:
```text
STUN_NAV_KV
```
如果 webhook 返回 `missing service url, addr, or host+port`,说明请求里没有传服务地址,需要增加 `url`、`addr`,或 `host + port`。
如果后台保存失败,检查输入的管理密钥是否和环境变量 `WEBHOOK_TOKEN` 一致。