Repository navigation
Releases: shengengfun/RinaDown
Release list
RinaDown CLI v0.1.52
[unreleased]
🚀 Features
- (app,engine,plugins) 最近目录改下拉 + 内置浏览器接管 + YouTube 音轨配对修复 (v0.1.52)
🎨 Styling
- Cargo fmt --all 修复 CI 格式检查(rustfmt 2024 导入排序/长行折行)
📦 下载预编译二进制
| 平台 | 资产 |
|---|---|
| Windows x64 / ARM64 | RinaDown-CLI-0.1.52-windows-{x64,arm64}.zip |
| macOS Intel / Apple Silicon | RinaDown-CLI-0.1.52-macos-{x64,arm64}.tar.gz |
| Linux x64 / ARM64(musl 静态链接,任意发行版可用) | RinaDown-CLI-0.1.52-linux-{x64,arm64}.tar.gz |
解压后得到 rinadown(Windows 为 rinadown.exe),放入 PATH 即可使用。文件校验见 SHA256SUMS.txt。
🛠️ 从源码安装
cargo install --git https://github.com/shengengfun/RinaDown rinadown_cli🚀 快速开始
rinadown ping # 探活(需 RinaDown App / server 运行中)
rinadown add https://example.com/f.zip
rinadown ls服务地址经 --url 或 RINADOWN_URL(默认 http://127.0.0.1:17800),
管理 token 经 --token 或 RINADOWN_TOKEN。
v0.1.51
[0.1.51] - 2026-09-29
🐛 修复
- 修复部分 YouTube 等站点的 HLS 视频下不动:这类视频的流已经是 fMP4/CMAF 格式(初始化段 + 媒体分片),此前一点下载就报「初始化段暂不支持」。现在可以正常下载并输出 mp4;音视频分开的流会自动合并(需已安装 ffmpeg 组件;未安装时音频会保存为同目录的
.audio.m4a旁挂文件,内容不丢)。
🚀 新功能
- 日志随时可复制:任务详情「日志」页可直接框选,并可一键复制整段日志(含时间戳);「设置 → 日志」新增「复制日志」,复制当日日志的最后 200 行;视频解析失败的提示也能选中复制。反馈问题时不用再截图或导出压缩包。
[0.1.51] - 2026-09-29
🐛 Bug Fixes
- HLS videos from YouTube and other sites download again. Those streams are served as fMP4/CMAF (an init segment followed by media fragments), and downloads used to fail immediately with "init segment not supported". They now download to an mp4 file, and separate audio/video tracks are merged automatically (the ffmpeg component is required; without it the audio is kept as a
.audio.m4asidecar instead of being dropped).
🚀 Features
- Logs are copyable. The task detail "Log" tab now supports selection plus one-click copy of the whole timeline (with timestamps); Settings → Logs has a new "Copy Logs" button that copies the last 200 lines of today's log; failed video-parse messages can be selected too. No more screenshots or zip exports when reporting an issue.
v0.1.50
[0.1.50] - 2026-09-16
🚀 新功能
- 下载完成音效可选:「设置 → 通知」新增下载音效选择——把 wav / mp3 / ogg 等音频文件放进音效文件夹,就能在列表里选用,支持试听、打开音效文件夹与重新扫描。音频文件夹不存在时会自动放入两首内置音效。
- 单个任务的限速即时生效:在任务详情里改下载限速,正在下载的任务立刻按新速度运行,不必暂停或重启;改成 0 表示跟随队列 / 全局限速。
🐛 修复
- 限速更贴合设定值:限速开启时不再出现明显高于设定值的速度跳变。
- 下载进度条恢复为固定蓝色,不再随主题配色变化(完成、暂停、失败仍用各自的状态色)。
- 主题色选择器直接显示配色名称,不必再靠悬浮提示逐个辨认。
- 视频解析、单个任务限速两个弹窗宽度收窄,输入框不再横跨整个对话框。
💄 其它
- 「设置 → 通知」的完成通知关闭后,下载音效选项一并隐藏(两者共用同一个开关)。
[0.1.50] - 2026-09-16
🚀 Features
- Selectable download-complete sound: "Settings → Notifications" now offers a completion-sound picker. Drop wav / mp3 / ogg files into the sounds folder and pick one from the list — with preview, open-folder and rescan. Two built-in sounds are placed there automatically when the folder does not exist yet.
- Per-task speed limits apply instantly: changing a task's download limit now takes effect while it keeps running — no pause or restart needed. Setting it back to 0 falls back to the queue / global limit.
🐛 Bug Fixes
- Speed limiting now tracks the configured value much more closely: the reported download speed no longer jumps well above the limit.
- The download progress bar is blue again instead of following the accent colour (completed / paused / failed keep their own status colours).
- The accent-colour picker now shows the palette names, so no more hovering to tell them apart.
- Narrower dialogs for video parsing and per-task speed limits — the input no longer stretches across the whole dialog.
💄 Misc
- The completion-sound option is hidden together with the completion notification (they share one switch).
v0.1.49
[0.1.49] - 2026-09-15
🐛 修复
- 视频解析现在会带上你的代理设置:此前没有把「设置 → 代理」解析出的出口传给 yt-dlp,它只能自己直连,YouTube 这类需要代理的站点会一直解析超时;现在改为按目标网址解析出口后注入,系统代理与 PAC 同样生效。
- 插件子进程不再继承外部的
HTTP_PROXY/ALL_PROXY等环境变量,出口完全以应用设置为准;--proxy、--geo-verification-proxy列为插件禁用参数。
升级后无需重新配置。
[0.1.49] - 2026-09-15
🐛 Bug Fixes
- Video resolution now uses your proxy settings: the egress resolved from Settings → Proxy was never passed to
yt-dlp, so it connected directly and resolution on YouTube and similar sites kept timing out. The resolved proxy is now injected per target URL, so system proxy and PAC work as well. - Plugin subprocesses no longer inherit external
HTTP_PROXY/ALL_PROXYvariables, so egress follows the app settings only;--proxyand--geo-verification-proxyare now rejected plugin arguments.
No reconfiguration needed after upgrading.
v0.1.48
v0.1.48
补上 v0.1.47 漏掉的两种 PAC 形态——VPN 软件的「PAC 模式」现在无论怎么写都能被识别。
背景
Windows 上「VPN 软件的 PAC 模式」(Clash Verge Rev 的 PAC 开关、Shadowsocks-Windows / v2rayN 的 PAC 模式)做的事就是把 PAC 脚本地址写进注册表 AutoConfigURL,并让 ProxyEnable = 0。v0.1.47 已经能识别这类配置,但 Windows 的 WinHTTP 自身有两个硬限制会把其中一部分 PAC 直接挡在门外:
- 不认
file:/// 裸本地路径(返回ERROR_WINHTTP_UNRECOGNIZED_SCHEME)——Shadowsocks-Windows 这类客户端把 PAC 落成本地文件,WinHTTP 连取都不取。 - 要求响应带
Content-Type: application/x-ns-proxy-autoconfig——朴素静态 PAC 服务器常用text/plain/application/octet-stream,WinHTTP 会判定「脚本非法」(ERROR_WINHTTP_BAD_AUTO_PROXY_SCRIPT),哪怕脚本本身完全正确。
这两种情况在用户侧的表现都是同一句话:「VPN 软件开了 PAC 模式,APP 不识别」。
本次改动
- WinHTTP 失败后改由引擎自己取回 PAC 脚本:本地文件直读、
http://自行取回(含 chunked 解码;https://交给 WinHTTP,不自建 TLS 栈)。 - 只在判据成立时才采用:整份脚本只出现一个代理端点、且该端点必须是回环地址(
127.0.0.1/localhost/::1)。Clash Verge、v2rayN、Shadowsocks 的默认 PAC 都是「把一切交给本机客户端」这个形状(同一个端点写了两遍PROXY+SOCKS5会被去重,取先出现的类型,即 HTTPCONNECT)。
按规则分流到多个代理的 PAC、或指向远端企业代理的 PAC 一律不猜——宁可不走代理,也不会把流量塞进错误的出口。 - 取 PAC 的会话改为直连:解析 PAC 这一步不能反过来依赖系统代理,否则就成了「为解析 PAC 去求值 PAC」。
实测
- 本机 Clash Verge Rev 2.5.2 开着 PAC 模式(
AutoConfigURL = http://127.0.0.1:33331/commands/pac):引擎解析出http 127.0.0.1:7897,目标google.com与baidu.com都正确落到 Clash 的 mixed-port。 - 用「正确 MIME /
text/plain/file://本地文件」三种 PAC 分别做过端到端验证(临时改注册表并在结束前恢复),三种形态都能解析出代理。 - 新增 5 个单测覆盖上述判据与 HTTP 响应解析。
其它
- 本版包含 v0.1.47 的全部内容:系统代理 PAC/WPAD 支持(按目标网址判定)、
托盘图标补齐 16/20/24/28/32/40/48/64 各 DPI 档位并在缩放变化后重新取帧、
悬浮球右键菜单拆分「本次隐藏 / 永久关闭」。 - 版本号 0.1.47 → 0.1.48。
完整变更:72ca13b
(本版相对 v0.1.47 的差异见 v0.1.47...v0.1.48 )
v0.1.47
v0.1.47
修两个实际使用中的问题:系统代理开 PAC 模式时下载完全不走代理,以及高分屏缩放下任务栏托盘图标糊成马赛克。
系统代理:PAC / WPAD 现在能被识别和使用了
- PAC 模式此前被误判为「没配代理」。Windows 的「使用设置脚本」(注册表
AutoConfigURL)与「使用代理服务器」(ProxyEnable+ProxyServer)是两条独立通道,而 PAC 模式下ProxyEnable恒为 0——只读静态项的检测因此判定「系统没有代理」,于是「系统代理」模式静默直连、「自动」模式连候选代理都拿不到。开着 PAC 模式的 Clash / v2rayN 时,表现就是「代理完全不生效」。现在 PAC 与 WPAD 交给 Windows 自己的 WinHTTP(WinHttpGetProxyForUrl)下载并执行,与浏览器同一条实现路径。 - 代理是「按网址」判定的,不再是一个全局地址。PAC 脚本对同一个网络里的域名会给出不同结论(内网/国内域名
DIRECT、其它走代理),所以建任务时会把任务的目标 URL交给脚本求值:「系统代理」模式的每个任务(含 FTP 这类直读 host/port 的路径)、「自动」模式的系统代理候选、RSS feed 与种子抓取,都按各自的目标判定。这也修掉了「自动」模式可能把本该直连的内网下载切到代理上的隐患。 - 失败不回退到断网:PAC 脚本不可达或报错时回退到静态代理项(如果配了);PAC 明确判定直连就尊重脚本。求值结果按「PAC 地址 + 目标 URL」缓存 2 分钟(失败 1 分钟),代理设置一改,缓存与 WinHTTP 会话内的 PAC 脚本缓存一起作废。
- 设置页与状态栏如实展示:PAC 场景下不再把一个探针地址当成固定出口,而是显示「系统代理由 PAC 脚本决定,按每个下载网址现场选择」+ PAC 脚本地址。
托盘图标:不再随缩放变糊
- 补齐了各 DPI 档位的图标帧(16/20/24/28/32/40/48/64;应用图标另含 128/256)。通知区图标是 HICON,Shell 不会替我们选帧:125% / 150% / 175% 缩放对应 20 / 24 / 28 像素,之前只有 16 与 32 两帧,Shell 只能把邻帧拉伸——这正是「糊成马赛克」的根因。
- 按当前系统 DPI 取帧,并在
WM_DPICHANGED/WM_DISPLAYCHANGE(改系统缩放、换分辨率、换显示器)之后重新取帧,不再停留在旧尺寸上。 - 自定义图标与内置「闪电」图标在 Windows 上同样按这套档位生成多分辨率 ICO(窗口/任务栏/Alt-Tab/快捷方式一处切换全局生效)。
其它
- 悬浮球右键菜单拆成「本次隐藏」与「永久关闭」两项,避免误触后要回设置里找开关。
- 版本号 0.1.46 → 0.1.47。
完整变更:952a708
v0.1.46
v0.1.46
修掉「装完还是 FluxDown」与「安装位置不让选」两个更名遗留问题,并补上旧数据目录的接管迁移。
安装包
- 安装目录不再沿用旧的 FluxDown 路径。此前若机器上存在旧品牌安装(
%LOCALAPPDATA%\Programs\FluxDown/C:\Program Files\FluxDown),新版会继续装进那只旧文件夹,看起来「改了名等于没改」;现在安装成功后会自动清理旧目录(仅当它确实是本程序的安装——含unins000.exe、flux_down.exe,或rina_down.exe+hub.dll)。 - 可以自定义安装位置了。原先 Inno Setup 的
DisableDirPage=auto在检测到同一 AppId 的既有安装时会直接跳过「选择安装位置」页;现在该页始终显示(静默安装不受影响)。 - 自动更新不再搬走你的安装目录。更新时会把当前安装目录透传成 Inno 的
/DIR=;若当前目录仍叫FluxDown,则交给安装器迁移到规范目录并清掉旧目录。
数据迁移
- 更名前的数据目录
%LOCALAPPDATA%\FluxDown与库文件flux_down.db现在会被一次性迁移到%LOCALAPPDATA%\RinaDown\rina_down.db,不再出现「升级后任务列表、设置、插件全空」。 - 迁移策略保守:新目录不存在时整目录搬走(旧文件夹当场消失);已存在时逐项补齐,绝不覆盖已有新数据;库的
db/-wal/-shm三件套按原子组迁移,失败条目原地保留并写入migration_errors.log,下次启动重试。
其它
- 版本号 0.1.45 → 0.1.46。
完整变更:2df1405
v0.1.45
RinaDown v0.1.45
The first release published from this repository, cut from main.
Downloads
| File | Size | SHA-256 |
|---|---|---|
RinaDown-0.1.45-windows-x64-setup.exe |
32.4 MB | a856ea088de138e3e82a3596397e8420cb57d92d92b0c10f3be24fbc3455fae4 |
RinaDown-0.1.45-windows-x64-portable.zip |
52.9 MB | 0724a09dfd65a5faa52cdfd8054832a546f6fafd1acdcfb52dd0e67e01e9a37c |
- Windows x64 only for now — the ARM64 build needs the release pipeline, which is not wired up in this repository yet.
- The executables are not code-signed, so SmartScreen will show "Windows protected your PC" → More info → Run anyway.
- Both archives carry the same payload. The portable one additionally contains a
portablemarker file, which puts the app into fully portable mode: its data goes toportable_data/next to the executable and nothing is written to the registry. - Known limitation: the cloud account / sync base URL is injected by CI from a secret that this repository does not have, so those features are inactive in this build. Downloading itself is unaffected.
Engine
- Smarter auto-reconnect — a dropped transfer is retried even when the failure comes from DNS
resolution, and transient5xx/429responses now back off and retry instead of failing the task.
Desktop
- Tray actions — the most common operations are reachable from the tray menu without opening the window.
- Directory memory — RinaDown remembers the last directory you used, and a separate directory can be
configured for parsed videos. - Floating ball polish — hover-to-pause, plus smoother docking behaviour.
- Delete to recycle bin — removing a downloaded file now sends it to the system recycle bin instead of
unlinking it permanently. - Clipboard watcher — copy a link and RinaDown offers to parse it immediately.
Brand & UI
- New logo on every platform, including the installers.
- New default accent theme and 13 accent presets drawn from character colors, plus a custom color picker.
Naming
- The project is now called RinaDown everywhere — code, identifiers, paths and packages
(formerly FluxDown).
Documentation
- The README has been rewritten around the current architecture: the shared Rust engine, the
rinadown-desktop→rinadown-agent→rinadowndchain, the engine-facing traits, the plugin and
managed-component system, and the full client matrix (desktop, mobile, extension, userscript, Web UI, CLI).
RinaDown v0.1.45
本仓库发布的第一个版本,从 main 切出。
下载
| 文件 | 大小 | SHA-256 |
|---|---|---|
RinaDown-0.1.45-windows-x64-setup.exe |
32.4 MB | a856ea088de138e3e82a3596397e8420cb57d92d92b0c10f3be24fbc3455fae4 |
RinaDown-0.1.45-windows-x64-portable.zip |
52.9 MB | 0724a09dfd65a5faa52cdfd8054832a546f6fafd1acdcfb52dd0e67e01e9a37c |
- 目前仅提供 Windows x64 —— ARM64 版本依赖发布流水线,而本仓库尚未接通该流水线。
- 可执行文件未做代码签名,SmartScreen 会提示「Windows 已保护你的电脑」→ 点击更多信息 → 仍要运行。
- 两个包内容完全一致;便携版额外包含一个
portable标记文件,使应用进入完全便携模式:数据写到
可执行文件同级的portable_data/,不写注册表。 - 已知限制:云账号 / 同步的服务地址由 CI 从密钥注入,本仓库没有该密钥,因此本次构建中相关功能不可用,
下载功能不受影响。
引擎
- 更聪明的自动重连 —— 因 DNS 解析失败而中断的传输也会重试,临时的
5xx/429响应改为退避重试,
而不再直接把任务判失败。
桌面端
- 托盘操作 —— 常用操作可直接从托盘菜单触发,不必打开主窗口。
- 目录记忆 —— 记住上次使用的目录,视频解析可单独指定目录。
- 悬浮球优化 —— 悬停暂停,吸附行为更顺滑。
- 删除到回收站 —— 删除已下载文件改为移入系统回收站,不再永久删除。
- 剪贴板监听 —— 复制链接后立即提示解析。
品牌与界面
- 全新 Logo 覆盖全平台与安装包。
- 全新默认强调色 及 13 套角色配色预设,另支持自定义取色。
命名
- 项目已在代码、标识符、路径与包名中全面更名为 RinaDown(原 FluxDown)。
文档
- README 围绕当前架构全面重写:共用的 Rust 引擎、
rinadown-desktop→rinadown-agent→rinadownd
三进程链路、面向引擎的三个 trait、插件与受管组件体系,以及完整的客户端矩阵
(桌面、移动、扩展、用户脚本、Web UI、CLI)。