设置说明
设置会自动保存。监听地址和端口修改后,需要重启应用。
基础设置
- 保存目录:新任务默认保存的位置,不会移动已经下载的文件。
- 文件命名模板:设置下载文件的名称和子目录,变量与示例见文件命名模板。
- 文件重名:可选择自动编号、覆盖或跳过,推荐使用自动编号。
- 自动拦截:开启后,应用启动时会自动开始抓取。
- 新资源位置:设置新抓取到的资源显示在列表顶部或底部。
- 清理缓存并重启:应用异常时使用。会清理证书、设置、抓取记录、任务历史、抓取缓存和当前保存目录中的下载临时文件,不会删除已下载文件、已安装插件或其他保存目录中的临时文件。
- 打开日志目录:打开当前系统中的
app.log所在目录,便于排查启动、抓取和下载问题。提交日志前请先隐藏其中的隐私信息。
文件命名模板
进行下载任务时,res-downloader程序会将模板中的变量替换为配置的资源信息。
模板可以包含普通文字、{{变量}} 和用于创建子目录的 /,生成的路径位于“保存目录”内。变量名称区分大小写,请使用下表中的小写写法。
默认模板
留空时使用以下默认模板:
{{title|default:resource|sanitize|truncate:80}}_{{date:20060102_150405}}.{{ext}}它会取资源标题,标题为空时使用 resource 固定字符,清理不适合作为文件名的字符,再将标题截取到最多 80 个字符;随后加上下载时的日期、时间和输出扩展名。例如:重庆好美_20260910_140509.mp4。
可用变量
使用时将变量放在双花括号中,例如 {{title}}。
| 变量 | 含义 | 示例值 |
|---|---|---|
title | 资源标题 | 重庆好美 |
id | 应用中的资源 ID | 以实际资源为准 |
kind | 资源的具体类型标识 | media.video |
plugin | 识别该资源的插件 ID | com.example.video |
host | 下载轨道 URL 的主域名;通常不含子域名 | cdn.example.com 对应 example.com |
author | 资源元数据中的作者信息 | putyy |
track | 用于命名的轨道 ID | video-1080p |
quality | 轨道的画质标签 | 1080p |
width / height | 轨道的宽度 / 高度,单位为像素 | 1920 / 1080 |
bitrate | 轨道提供的码率数值,不附带单位文字 | 以实际轨道为准 |
date | 生成保存路径时的本地日期,默认格式为 20060102 | 20260910 |
time | 生成保存路径时的本地时间,默认格式为 150405 | 140509 |
created_at | 作品创建时间,来自 metadata.createdAt,默认格式 20060102 | 20260901 |
published_at | 作品发布时间,来自 metadata.publishedAt,默认格式 20060102 | 20260902 |
ext | 下载输出的扩展名,不含开头的点 | mp4 |
meta.* | 插件提供的资源元数据,例如 meta.site.author | 取决于插件 |
作者、画质、尺寸等信息取决于资源和插件,并非每次都有值。轨道相关变量优先使用下载输出直接对应的轨道;输出为合并等处理结果时,使用资源主轨道的信息。date、time 是生成保存路径的时间,不是作品发布时间。created_at、published_at 由插件提供毫秒时间戳,按生成保存路径时的本地时区格式化;缺失或无效时为空,不会自动改用下载时间。
字段缺失、未知变量,以及未提供有效正数的宽度、高度或码率会得到空字符串,可用 default 设置替代文字。meta.* 支持字符串、数字和布尔值;对象或数组不会直接变成文件名。元数据读取会先匹配完整键名,再尝试按点号读取嵌套字段,因此具体名称需要由插件提供。
过滤器与日期格式
在变量后用 | 连接过滤器,多个过滤器从左到右依次执行。
| 过滤器 | 作用 |
|---|---|
default:未知作者 | 值为空或只有空白时,替换为 未知作者 |
sanitize | 将不兼容字符替换为 _,处理首尾空白、末尾句点和系统保留名称 |
truncate:80 | 最多保留 80 个 Unicode 字符;参数必须是 1–1000 的整数 |
lower | 转为小写 |
upper | 转为大写 |
prefix:_ | 值非空时添加前缀 _;空白值仍为空 |
suffix:_ | 值非空时添加后缀 _;空白值仍为空 |
例如 {{author|default:未知作者|sanitize}} 会先补齐缺失的作者,再清理字符。建议为标题和作者添加 sanitize,这样内容里的 / 或 \ 会变成 _,不会意外产生子目录。需要清理后仍为空的值使用替代文字时,可将 default 放在 sanitize 后。
date、time、created_at 和 published_at 后可以用冒号指定格式。格式采用 Go 的参考时间数字:年 2006、月 01、日 02、24 小时制小时 15、分钟 04、秒 05;不要写成 YYYY-MM-DD。
| 写法 | 生成示例 |
|---|---|
{{date:2006-01-02}} | 2026-09-10 |
{{date:2006/01}} | 2026/09,创建年、月两级目录 |
{{time:15-04-05}} | 14-05-09 |
文件名中的时间建议用 - 分隔;: 会在文件名清理时被替换为 _。
常用模板
以下示例假设标题为“重庆好美”、作者为“putyy”、画质为 1080p、输出扩展名为 mp4,生成路径的本地时间为 2026 年 9 月 10 日 14:05:09。结果均相对于保存目录,且假设没有同名文件。
仅使用标题:生成 重庆好美.mp4。
{{title|default:resource|sanitize|truncate:80}}.{{ext}}按作者创建目录:生成 putyy/重庆好美.mp4;作者缺失时使用 未知作者 目录。
{{author|default:未知作者|sanitize}}/{{title|default:resource|sanitize|truncate:80}}.{{ext}}按年月归档并保留下载时间:生成 2026/09/重庆好美_20260910_140509.mp4。
{{date:2006/01}}/{{title|default:resource|sanitize|truncate:80}}_{{date:20060102_150405}}.{{ext}}加入画质标签:生成 重庆好美_1080p.mp4;画质缺失时使用 原始画质。
{{title|default:resource|sanitize|truncate:80}}_{{quality|default:原始画质|sanitize}}.{{ext}}仅在有作品创建时间时添加日期:有创建时间时生成 重庆好美_20260901.mp4,缺失时生成 重庆好美.mp4。
{{title|default:resource|sanitize|truncate:80}}{{created_at:20060102|prefix:_}}.{{ext}}需要发布时间时,把 created_at 换成 published_at。两者可同时使用,并各自设置 prefix:_。
将可选分隔符写在 prefix 或 suffix 中;直接写在变量外的 _ 不会随缺失值消失。过滤器仍从左到右执行,建议先 sanitize、truncate,最后添加前后缀。default 添加的替代文字也视为非空值。
路径、扩展名与重名处理
- 路径:模板填写保存目录内的相对路径,不要填写盘符、绝对路径或包含
..的上级目录。/和\都会被识别为目录分隔符,建议统一使用/。 - 扩展名:建议以
.{{ext}}结尾。输出扩展名已知时,应用会在缺失或不匹配时补上正确扩展名。例如输出为 MP4、模板却以.txt结尾时,结果会以.txt.mp4结尾;修改模板不会转换文件格式。 - 长度与字符:模板最多 4096 字节。生成后,每级目录名和文件名都会清理不兼容字符,并限制在 240 个 UTF-8 字节内,尽量保留扩展名。因此,中文或表情较多的长标题即使经过
truncate:80,仍可能进一步缩短。 - 重名处理:由基础设置中的“重名处理”控制。“自动编号”会生成
重庆好美(1).mp4、重庆好美(2).mp4等名称,并避开正在下载的任务已占用的路径;“覆盖已有文件”允许替换同名文件;“跳过下载”会在目标已存在或被任务占用时停止该次下载。
双花括号未闭合、空变量表达式、未知过滤器或无效的截取长度会报错。如果系统仍拒绝生成的文件名,应用可能改用备用名称,详见下载后的文件名变成 resource-开头。
外观
可以切换浅色、深色和其他内置主题,修改后立即生效。
界面语言
首次启动且没有已有配置时,应用会读取系统首选语言:中文语言环境使用中文,其余语言或检测失败时使用英文。语言会随配置保存,后续启动和升级沿用已保存的选择,不会因系统语言或时区变化自动切换。
可以通过左侧菜单的语言按钮手动切换中文和英文,修改后立即生效并自动保存。
通用资源规则
用于识别常见的图片、视频、音频和文档。一般保持默认即可;有专用插件的网站会优先使用插件处理。
媒体处理
合并独立的音视频轨道、转封装、格式转换、提取音频和直播录制需要 FFmpeg。普通文件下载和内置 HLS 分片下载不需要 FFmpeg;如果插件使用 FFmpeg 下载 HLS,或下载后还需合并音视频、转封装,则仍需安装。
软件不内置 FFmpeg,需要用户自行安装。其中:
- FFmpeg:执行音视频下载、合并、转封装和格式处理。
- ffprobe:读取媒体格式、轨道和时长等信息,通常与 FFmpeg 一起提供。
自动检测
FFmpeg 和 ffprobe 路径留空时,软件会从自身进程的 PATH 环境变量中查找 ffmpeg 和 ffprobe。应用启动时会继承系统环境变量,因此安装 FFmpeg 或修改 PATH 后,需要重启应用再点击“检测 FFmpeg”。
检测结果中的 FFmpeg 和 ffprobe 都显示“可用”,才表示两项工具均已正确配置。
手动选择执行文件
不希望配置系统 PATH,或者自动检测不到时,可以点击每一项右侧的“选择文件”,分别选择 FFmpeg 和 ffprobe 的实际可执行文件。
Windows 示例:
- 从 FFmpeg 官网下载页选择适合 Windows 的发行包并解压。
- FFmpeg 一项选择解压目录中的
bin\ffmpeg.exe。 - ffprobe 一项选择同一目录中的
bin\ffprobe.exe。 - 点击“检测 FFmpeg”,确认两项都显示“可用”。
macOS 和 Linux 用户选择安装目录中实际的 ffmpeg 和 ffprobe 可执行文件。
证书
HTTPS 抓取需要安装当前证书,可在“系统设置 → 证书”中安装、卸载或刷新状态。
- Windows 按 UAC 提示授权;macOS 和 Linux 按提示输入系统密码。
- 手机需要单独下载并安装证书。
- 应用会对历史版本使用的旧共享证书执行一次迁移检查;需要清理时,按提示授权。已有迁移记录会沿用,常规升级会保留当前证书和设置。
高级设置
- 监听地址和端口:默认仅供本机使用。手机接入时可填写
0.0.0.0,并确认防火墙允许连接。 - 上游代理:需要与其他代理工具配合时再设置。
- 下载代理:开启后,下载会使用上游代理。
- 连接数和下载数:下载不稳定时可以适当调低。
- User-Agent 和请求头:一般保持默认,不要向他人公开 Cookie 等账号信息。
TLS 拦截策略
用于设置哪些域名需要抓取、哪些域名直接放行。网站无法访问或不希望被抓取时,可将对应域名设为“直接透传”。
遇到问题请查看常见问题。
