docs(static): README 路由表、架构图、配置、依赖与实际代码同步
- 修正根路径 / 描述:index.html → login.html - 补全全部 19 个路由(原仅 6 个),分组为核心/内部工具/OAuth/代理 - 架构图补全 waf:443 → gateway:8443 → static:9200 完整链路 - 配置示例新增 [cors] 段 - 依赖列表补全 waitress 和 pymsg - 页面和功能列表补全遗漏项
This commit is contained in:
1 parent
91e6659dac
commit
62007e7848
1 file changed
+50
-5
+50
-5
@@ -7,18 +7,23 @@
|
||||
## 架构
|
||||
|
||||
```
|
||||
gateway :443 (反向代理)
|
||||
waf :443 (TLS 终止 + 安全规则)
|
||||
│
|
||||
▼
|
||||
gateway :8443 (反向代理 + 认证)
|
||||
│
|
||||
▼
|
||||
static :9200 (Flask + CORS)
|
||||
│
|
||||
└── public/ 托管目录
|
||||
├── index.html 社区首页
|
||||
├── login.html 登录
|
||||
├── login.html 登录(默认首页)
|
||||
├── register.html 注册
|
||||
├── index.html 社区首页
|
||||
├── forgot.html 忘记密码
|
||||
├── dnfs.html 树状笔记(调用 dnfs:8006)
|
||||
├── __view.html 文件浏览器(系统文件,不在列表中显示)
|
||||
├── allcolor.html 调色板
|
||||
├── LICENSE.html 许可证页面
|
||||
├── css/ theme.css(统一主题)+ view.css
|
||||
├── js/ dnfs.js / login.js / register.js / validation.js / view.js
|
||||
├── games/ HTML 小游戏合集
|
||||
@@ -27,15 +32,46 @@ static :9200 (Flask + CORS)
|
||||
|
||||
## 路由
|
||||
|
||||
### 核心路由
|
||||
|
||||
| 路径 | 说明 |
|
||||
|------|------|
|
||||
| `GET /` | 社区首页(index.html),不存在时回退 `__view.html` |
|
||||
| `GET /` | 登录页(login.html),如不存在回退 `__view.html` |
|
||||
| `GET /<path>` | 静态文件服务;目录返回 `__view.html` 由前端拉取列表 |
|
||||
| `GET /api/filelist?path=` | 文件列表 API,过滤 `__` 前缀系统文件 |
|
||||
| `GET /video/<path>` | 视频/音频流媒体(HTTP Range 206 分段) |
|
||||
| `GET /<path>?download=true` | 强制下载 |
|
||||
| `GET /health` | 健康检查 |
|
||||
|
||||
### 内部工具路由
|
||||
|
||||
| 路径 | 说明 |
|
||||
|------|------|
|
||||
| `POST /api/hash` | SHA256 密码哈希 |
|
||||
| `POST /api/check_user` | 检查用户是否已注册(查询 gateway 数据库) |
|
||||
| `POST /api/reset_password` | 重置用户密码(直接操作 gateway 数据库) |
|
||||
|
||||
### yhdet OAuth 路由
|
||||
|
||||
| 路径 | 说明 |
|
||||
|------|------|
|
||||
| `GET/POST /yhdet_callback` | yhdet.top OAuth 回调,自动注册/登录并跳转 dnfs 页 |
|
||||
| `POST /api/yhdet_login` | yhdet OAuth 用户名密码登录 |
|
||||
| `POST /api/yhdet_verify` | yhdet Token 验证 |
|
||||
| `POST /api/proxy_send_code` | yhdet 验证码代理转发 |
|
||||
|
||||
### dnfs 代理路由
|
||||
|
||||
| 路径 | 说明 |
|
||||
|------|------|
|
||||
| `POST /get_notes` | 获取树状笔记列表(代理至 dnfs:8006) |
|
||||
| `POST /add_note` | 新增笔记(代理至 dnfs:8006) |
|
||||
| `POST /delete_note` | 删除笔记(代理至 dnfs:8006) |
|
||||
| `POST /update_note` | 更新笔记(代理至 dnfs:8006) |
|
||||
| `POST /whoami` | 当前用户身份查询(代理至 dnfs:8006) |
|
||||
|
||||
以上 5 个 dnfs 代理路由均支持 HttpOnly Cookie 模式:当请求携带 `q4_token` Cookie 时,自动转为 `Authorization: Bearer` 头转发。
|
||||
|
||||
## 功能
|
||||
|
||||
- 文件浏览:目录导航、面包屑、实时搜索(`/` 或 `Ctrl+F`)、文件统计
|
||||
@@ -43,6 +79,8 @@ static :9200 (Flask + CORS)
|
||||
- 深色模式:`css/theme.css` 统一主题,自动适配系统偏好
|
||||
- 路径遍历防护:`safe_path_join` 限制访问范围在 `directory.root` 内
|
||||
- Nuitka 编译:可打包为独立二进制 `fsys.bin`(`sys.frozen` 检测 + BASE_DIR 锚定)
|
||||
- 安全头注入:`security_middleware.py` 为所有响应注入 CSP、X-Frame-Options 等安全头
|
||||
- 集中日志:`log_client.py` 通过 pymsg TCP 异步批量推送日志至 db:8005 的 Logs 表
|
||||
|
||||
## 配置
|
||||
|
||||
@@ -60,6 +98,11 @@ root = ./public
|
||||
enabled = false
|
||||
cert_file = cert.pem
|
||||
key_file = key.pem
|
||||
|
||||
[cors]
|
||||
# 允许跨域的 Origin 白名单(逗号分隔)
|
||||
# 注意:生产环境请勿包含 localhost / 127.0.0.1 / 通配符 *
|
||||
allowed_origins = https://qsont.me,https://yhdet.top
|
||||
```
|
||||
|
||||
## 依赖
|
||||
@@ -67,7 +110,9 @@ key_file = key.pem
|
||||
```
|
||||
flask>=2.3.0,<3.0.0
|
||||
flask-cors>=4.0.0,<5.0.0
|
||||
nuitka # 可选,编译为独立二进制
|
||||
waitress>=2.1.2,<4.0.0 # 生产级 WSGI 服务器(非 SSL 模式默认使用)
|
||||
pymsg # 集中日志推送(log_client 依赖)
|
||||
nuitka # 可选,编译为独立二进制
|
||||
```
|
||||
|
||||
## 运行
|
||||
|
||||
Reference in new issue
Block a user