Skip to content

Releases: shengengfun/RinaDown

RinaDown CLI v0.1.52

Choose a tag to compare

@github-actions github-actions released this 03 Oct 18:03

[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

Choose a tag to compare

@shengengfun shengengfun released this 29 Sep 09:14

[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.m4a sidecar 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

Choose a tag to compare

@shengengfun shengengfun released this 15 Sep 18:26

[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

Choose a tag to compare

@shengengfun shengengfun released this 14 Sep 17:53

[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_PROXY variables, so egress follows the app settings only; --proxy and --geo-verification-proxy are now rejected plugin arguments.

No reconfiguration needed after upgrading.

v0.1.48

Choose a tag to compare

@shengengfun shengengfun released this 14 Sep 16:53

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 直接挡在门外:

  1. 不认 file:// / 裸本地路径(返回 ERROR_WINHTTP_UNRECOGNIZED_SCHEME)——Shadowsocks-Windows 这类客户端把 PAC 落成本地文件,WinHTTP 连取都不取。
  2. 要求响应带 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 会被去重,取先出现的类型,即 HTTP CONNECT)。
    按规则分流到多个代理的 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

Choose a tag to compare

@shengengfun shengengfun released this 14 Sep 16:30

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

Choose a tag to compare

@shengengfun shengengfun released this 11 Sep 00:43

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

Choose a tag to compare

@shengengfun shengengfun released this 10 Sep 23:49

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 portable marker file, which puts the app into fully portable mode: its data goes to portable_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 transient 5xx / 429 responses 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 → rinadownd chain, 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)。