Files
appstore/apps/sub2api/README.md
T
2026-04-14 23:29:52 +08:00

82 lines
3.2 KiB
Markdown

# Sub2API
Sub2API 是一个面向订阅转换与统一接口访问场景的轻量服务,适合在 1Panel 中作为独立应用部署,为客户端或上游系统提供稳定的订阅处理入口。
## 应用简介
该应用提供 Web 访问入口,并支持自动初始化、管理员账户设置、日志级别控制、JWT/TOTP 安全配置,以及基于 PostgreSQL 与 Redis 的持久化与缓存能力。当前 1Panel 适配版本采用“应用本体 + 商店依赖”的方式交付,便于直接复用面板内已有的数据库与缓存服务。
## 功能亮点
- 支持订阅转换与 API 化访问,方便统一接入与后续集成
- 支持 PostgreSQL + Redis 组合依赖,适合长期运行
- 支持管理员邮箱、管理员密码、JWT 密钥、TOTP 加密密钥等初始化参数
- 支持日志级别与安全 URL 白名单开关,便于按环境调整
- 支持数据目录挂载,方便备份、迁移与持久化管理
## 持久化目录
适配默认使用相对目录持久化应用数据:
- `./data``/app/data`
其中 `/app/data` 会保存应用运行数据、自动生成的 `config.yaml`、日志以及部分缓存内容。上游入口脚本会在启动时确保该目录可写。数据库和 Redis 的数据由对应的 1Panel 依赖应用自行管理。
## 安装说明
安装时需要在 1Panel 表单中补齐以下关键信息:
- PostgreSQL 服务实例
- Redis 服务实例
- 管理员邮箱
- 访问端口
- 数据目录
- 安全参数:`JWT_SECRET``TOTP_ENCRYPTION_KEY``ADMIN_PASSWORD`
其中数据库与缓存服务由 1Panel 商店依赖注入:
- PostgreSQL:用于应用数据持久化
- Redis:用于缓存与运行时状态
若面板中已经安装对应服务,直接在安装表单中选择实例与 Service 即可。
## 默认配置
- 访问端口:`8080`
- 容器内部端口:`8080`
- 默认数据目录:`./data`
- 容器内数据目录:`/app/data`
- 默认时区:`Asia/Shanghai`
- 默认日志级别:`info`
## 使用建议
- 首次安装时补全管理员邮箱,建议同时设置管理员密码
- 生产环境建议显式配置 `JWT_SECRET``TOTP_ENCRYPTION_KEY`
- 若启用 URL 安全白名单,请提前确认业务访问范围
- 如需代理更新源,可按需填写 `UPDATE_PROXY_URL`
## 安装后检查
1. 打开 `http://<服务器IP>:<访问端口>` 确认页面可访问。
2. 检查数据库与 Redis 连接是否正常。
3. 确认数据目录已正确挂载并具备写入权限。
4. 若使用初始化管理员账户,确认可正常登录后台。
## 反向代理说明
如果你在 Nginx 后面反代 Sub2API,并且需要兼容 Codex CLI 等依赖下划线请求头的客户端,请在 Nginx 的 `http` 块中开启:
```nginx
underscores_in_headers on;
```
这是上游 README 明确提到的要求,否则某些带下划线的头部可能会被 Nginx 丢弃,影响会话粘性与部分 CLI 场景。
## 备注
- 本适配默认启用 `AUTO_SETUP=true`
- 默认时区为 `Asia/Shanghai`
- 生命周期脚本只会初始化应用自身的 `./data` 目录,不会创建数据库或 Redis 的本地目录,因为这两者由 1Panel 依赖应用托管
- 如需更细的运行参数,可参考 `latest/.env.sample` 和上游文档继续扩展