配置说明 #
配置保存在数据目录下的 SQLite 数据库(默认 data/saveany.db),通过 Web 控制台统一管理。首次启动采用默认设置,并在日志中输出带 Token 的直达链接;可通过 SAVEANY_ADMIN_PASSWORD 预设管理员密码。
配置页面 #
| 页面 | 内容 |
|---|---|
| 指南 | 首次配置检查清单和日常使用说明 |
| Telegram | Bot Token、API ID/Hash、代理、Userbot 登录 |
| 存储 | 本地磁盘、WebDAV、Alist、S3、Rclone、Telegram 等存储端 |
| 用户 | Telegram 用户 ID、默认存储、目录、规则和存储访问权限 |
| 自动化 | 按用户管理目录、规则、监听聊天和对话同步 |
| 设置 | 任务并发、语言、代理、媒体类型过滤、Aria2、yt-dlp、解析器、缓存、日志、Web 和 API |
| 解析器 | 安装 JavaScript 解析器插件 |
| 系统 | 运行信息、重启、版本检查和更新 |
部分配置需重启进程生效(如任务并发数、全局代理、缓存、插件、Hook 及 Web 监听地址),保存时页面会明确提示。
自动化 #
自动化页面按用户分别管理目录、规则、监听聊天及 Userbot 对话同步。可设置默认目录,并支持规则的启停、增删与预设导入。
解析器 #
解析器页面用于安装 JavaScript 解析器插件(需在设置中启用解析器插件)。支持上传 .js 文件或直接粘贴代码,安装后立即可用,无需重启。
Telegram #
Bot Token 在 @BotFather 创建。API ID 和 API Hash 已提供默认值,通常无需修改;启用 Userbot 时建议使用自己的 Telegram API 凭据。
保存 Bot 配置后会自动建立连接。Userbot 的登录在 Telegram 页面完成,无需进入终端。
辅助 Bot #
配置辅助 Bot 可提升 Telegram 文件的传输效率。在 Telegram 页面的 辅助 Bot 区域填入 Token,将辅助 Bot 加入目标 Telegram 聊天并授予发文件权限。Telegram 存储上传将自动分配给可用且在群内的辅助 Bot;若辅助 Bot 无法访问目标聊天,上传自动回退到主 Bot。辅助 Bot 不响应命令。
若需通过多个辅助 Bot 分块加速下载大文件,可在 Telegram 页面填写私有的 辅助下载频道 ID。需确保主 Bot 可向该频道发帖,且频道内已加入至少两个辅助 Bot。主 Bot 会把收到的文件转发到辅助下载频道,各辅助 Bot 刷新文件引用后下载各自的分块。该功能仅在非流式模式下对达到 Relay 最小文件大小(默认 8 MB)的文件生效;频道或辅助 Bot 异常时自动回退为单客户端下载。默认保留转发到频道的消息;关闭“保留频道转发消息”将在下载完成后自动清理。
传输并发可在 设置 → 核心 中调整:
| 设置 | 默认值 | 说明 |
|---|---|---|
单文件下载线程数 | 4 | 自动调度的基础线程数 |
下载线程覆盖 | 0 | 0 表示自动;大于 0 时直接使用该总线程数 |
自动线程上限 | 16 | 自动调度时的总线程上限 |
全局传输并发上限 | 0 | 0 表示 workers × threads;下载与上传共享 |
Relay 最小文件大小 (MB) | 8 | 更小的文件不使用辅助 Bot |
分块重试次数 | 20 | 单个分块超时或连接中断的最大重试次数 |
媒体过滤 #
在 设置 → 媒体过滤 中可以限制 Bot 只处理指定类型的 Telegram 媒体。允许的媒体类型 每行填写一个值,留空表示全部允许:
| 值 | 匹配内容 |
|---|---|
image | Telegram 图片、图片文件、贴纸和动态图片 |
video | Telegram 视频文件(含视频消息) |
audio | Telegram 音频和语音消息 |
document | 其余文档文件 |
过滤在创建下载任务之前执行,不匹配的媒体不会下载,也不会出现在任务列表。媒体组只保留匹配项;如果整组都被过滤,则静默跳过。该设置是实例级配置,修改后立即生效。
目前只覆盖 Telegram 媒体入口:直接发送/转发媒体、媒体组、/save 批量保存、消息链接、监听聊天和 Telegraph 图片。解析器、HTTP 直链和 yt-dlp 等非 Telegram 媒体不参与该过滤。存储规则只负责改变归档位置,不会跳过文件。
消息元数据 #
在 设置 → 消息元数据 中启用后,新的 Telegram 文件任务会保存规范化后的消息数据。本地数据库记录来源聊天、消息 ID、时间、发送者、正文或 caption、回复/转发引用、相册分组及媒体属性;任务详情 API 和 Web 控制台可导出对应 JSON。
“保存消息文本”控制是否保存正文与标签。该选项不保存 access hash、Token 或原始 Telegram 对象,且仅对启用后创建的新任务生效。
“写入旁车 JSON”会在实际文件旁写入 <文件路径>.meta.json,默认关闭。Telegram 存储不会上传旁车文件,而是可用存储配置中的选项消费元数据来还原 caption 或媒体组。
存储 #
存储端在 存储 页面添加并启用。本地磁盘只需要一个基础路径:
- Docker 部署通常填写
/app/downloads。 - 二进制部署可以填写
./downloads或绝对路径。
存储端字段说明见 存储端配置。
用户 #
只有 用户 页面中启用的 Telegram User ID 能使用 Bot。新建用户时至少填写数字 User ID;默认存储可以留空,之后再设置。
环境变量 #
| 变量 | 说明 |
|---|---|
SAVEANY_DATA_DIR | 数据目录,默认 ./data |
SAVEANY_DB_PATH | SQLite 文件路径,默认 <data-dir>/saveany.db |
SAVEANY_LISTEN | Web 监听地址,默认 127.0.0.1:28080;需要对外开放时使用 0.0.0.0:28080 |
SAVEANY_ADMIN_PASSWORD | 首次启动时设置备用管理员密码;未设置则自动生成并打印 |
安全 #
- Web 控制台默认仅监听
127.0.0.1:28080;若需对外开放,请使用反向代理和 HTTPS。 - 设置中的
访问 Token可用于/?token=...直接登录 Web UI,也用于/api/v1的 Bearer 认证。留空时,每次启动自动生成并打印到日志。 - 首次使用密码登录后,立即修改自动生成的备用管理员密码。
- 不要公开
data/、Bot Token、Userbot 会话或访问 Token。