Files
Foxel/docs/storage-adapters.md

37 lines
3.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 无需开发者密钥的存储适配器
这批适配器使用普通用户会话或标准协议,不需要申请应用 ID、应用 Secret 或开发者 SDK 密钥。云盘上传过程中由服务端签发的临时签名由适配器自动获取,无需手动配置。
| 类型 | 必要配置 | 根目录 |
| --- | --- | --- |
| `uc` | UC 网盘网页版 Cookie | `root_fid`,默认 `0` |
| `pan123` | 123 网盘手机号/邮箱 `username` 和 `password` | `root_id`,默认 `0` |
| `pan115` | 115 Cookie,或已扫码并确认授权的 `qrcode_token` | `root_id`,默认 `0` |
| `cloud189` | 天翼云盘 Cookie,或 `username` 和 `password` | `root_id`,默认 `-11`(个人空间) |
| `smb` | `server`、`share`,以及服务器要求的 `username`、`password` | `root`,默认 `/`;可配置 `port` |
| `seafile` | `base_url`、资料库 `repo_id`,以及用户 `token` 或 `username`、`password` | `root`,默认 `/` |
| `cloudreve` | V4 服务 `base_url`,以及用户 `token` 或 `email`、`password` | `root`,默认 `cloudreve://my` |
挂载点的子路径会在配置的根目录下解析。后台的“存储适配器”表单会按类型显示配置字段,无需手工修改数据库。
## 认证和版本
- Cookie 从对应服务已登录的浏览器会话获取。Cookie 过期后需要更新配置;它是用户登录凭据,应像密码一样保存。
- 123 网盘支持普通账号登录;遇到服务端风控或验证码时,需要先在官方客户端完成验证。
- 115 的 `qrcode_token` 是已经完成扫码授权的二维码会话,不是任意二维码内容。当前没有内置扫码页面,直接使用 Cookie 更方便。
- 天翼云盘支持个人空间的网页 Cookie 和 RSA 账号密码登录。需要交互验证码或短信验证时,先在网页版完成登录,再配置 Cookie;不包含家庭空间、电视版或 PC 开放接口。
- Seafile 使用 `/api2` 资料库接口。加密资料库需额外配置 `repo_password`;token 是普通用户 API token,不是开发者应用密钥。
- Cloudreve 适用于 V4 `/api/v4`,不兼容 V3 API。开启验证码、MFA 或仅允许其他登录方式的站点应使用浏览器获得的用户访问令牌;可同时配置 `refresh_token`。自动登录/刷新得到的令牌会保存到配置。上传覆盖是否可用取决于站点文件版本及冲突策略。
## 文件操作
这批适配器提供目录列表、文件读取/流式下载、上传、创建目录、删除、移动、重命名和复制。下载 Range 请求由后端转发,SMB 则在文件句柄上读取指定范围。
UC 没有可用的原生复制接口,复制通过下载后上传完成。其他服务中需要同时改名的复制可能使用同样方式;目录递归复制会产生下载和上传流量。HTTP 云盘上传及这种复制会用临时文件缓存完整内容,应预留磁盘空间。
Cloudreve V4 上传支持 local、relay、remote、OneDrive、S3 和 KS3 策略。其他直传策略会明确返回不支持;可以由站点管理员启用 relay 进行上传。上传失败会尝试清理 Cloudreve 上传会话。网盘接口和登录风控可能随服务升级变化,自动化使用应遵守对应服务的规则。
## 验证范围
测试使用 HTTP mock 和 SMB SDK mock,覆盖协议请求、分页、认证重试、传输数据和错误清理。未使用真实网盘账号或部署实例进行端到端验证。