Skip to content

Releases: asthetik/video-fetch

Video Fetch v0.3.2

Choose a tag to compare

@github-actions github-actions released this 29 Aug 15:40
73058fe

Video Fetch v0.3.2

v0.3.1 之后的功能版本:新增「UP 主空间视频批量下载」——粘贴 UP 主空间链接即可浏览其全部投稿,多选后按统一档位批量下载视频或仅音频。

重点内容

  • 空间链接直接进入列表:粘贴 space.bilibili.com/{UP主ID} 链接,主页自动切换为该 UP 主的投稿列表,显示「UP 主名 · 共 N 个视频」;普通视频链接行为不变
  • 列表浏览:每页 50 条 + 「加载更多」;空间内关键词搜索(回车触发);「最新发布 / 最多播放」排序切换;整行可点勾选,勾选跨页、跨搜索保留,「全选」一键选中已加载项
  • 批量下载:底部批量栏一键「下载已选」,统一选档后一次性入队——视频档位(最高画质 / 1080P / 720P / 480P)或仅音频(m4a / mp3 / FLAC);超过 50 个先弹确认;完成后汇总「已入队 / 跳过已存在 / 队列重复 / 失败」并附失败明细
  • 列表自动降级:B 站列表接口失败(含风控 -412)时自动切换 yt-dlp 兜底抓取,界面明确显示降级提示;接口恢复后自动切回
  • 未登录可用:公开空间无需登录即可浏览与批量下载

已知限制

  • 降级模式下不支持搜索与排序(输入框与排序开关置灰并提示),仅保留默认排序的最新投稿列表
  • 降级模式下播放量缺失,部分条目的时长 / 日期可能显示为「—」
  • FLAC 仅对含 Hi-Res 无损音源的稿件生效,无音源的稿件任务会失败并落历史
  • b23.tv 短链接不进入空间列表,仍按普通视频解析
  • 下载完成后请以下载队列 / 历史的实际结果为准;列表页不标记已下载状态

下载

  • macOS(Apple Silicon)Video-Fetch-v0.3.2-macOS.dmg(不提供 Intel)
  • Windows x64Video-Fetch-v0.3.2-Windows-x64.msi / .exe
  • Windows arm64Video-Fetch-v0.3.2-Windows-arm64.msi / .exe
  • Linux x86_64Video-Fetch-v0.3.2-Linux-x86_64.AppImage / .deb
  • Linux arm64Video-Fetch-v0.3.2-Linux-arm64.AppImage / .deb

当前发布包未做 Apple / Windows 代码签名。macOS 若提示损坏,把 App 拖到「应用程序」后执行:

xattr -cr "/Applications/Video Fetch.app"

What's Changed

  • Add bilibili space batch download with degradation fallback by @asthetik in #57

Full Changelog: v0.3.1...v0.3.2

Video Fetch v0.3.1

Choose a tag to compare

@github-actions github-actions released this 23 Aug 10:37
862a39e

Video Fetch v0.3.1

v0.3.0 之后的功能版本:新增「仅音频下载」、音频档位与输出格式选择、多平台打包命名调整,以及一系列音频下载正确性修复。

重点内容

  • 仅音频下载:视频卡片新增「视频 / 仅音频」切换;仅音频模式可选音质档位(64/132/192kbps AAC、Hi-Res 无损)与输出格式(m4a / mp3 / FLAC,FLAC 仅 Hi-Res 源可选),mp3 / FLAC 走 ffmpeg 转码
  • 视频与仅音频互相独立:同一稿件的视频下载与仅音频下载可各下一份,互不冲突
  • Windows x64 安装包命名调整:文件名带 -x64 后缀(Video-Fetch-v*-Windows-x64.msi / .exe),与 arm64 包区分

修复

  • 音频档位在下载时对照 yt-dlp 实际格式表固定到精确音轨,不再出现「选 64kbps 却下载 Hi-Res」的错位
  • 仅音频下载不再回退到视频流;无可用音轨时明确报错
  • FLAC 校验:非 Hi-Res 档位拒绝 FLAC;无无损音源时不再静默转码出「伪无损」
  • Hi-Res 固定选 FLAC:即使同稿 Dolby 码率更高,也不会把无损档挤成带 abr 上限的有损轨
  • 多 P 抽样合并音质时,任一集有 Hi-Res 则保留 Hi-Res 档位与文案
  • 数据库迁移先检查 audio_format 列是否存在再执行 ALTER
  • 无码率的音轨条目不再显示为「0kbps」档位
  • 同名不同容器的音频文件不再互相冲突;另存副本编号只统计同容器文件
  • 仅音频模式解析失败时显示错误提示与重试按钮;FLAC 可用性改用结构化标志

下载

  • macOS(Apple Silicon)Video-Fetch-v0.3.1-macOS.dmg(不提供 Intel)
  • Windows x64Video-Fetch-v0.3.1-Windows-x64.msi / .exe
  • Windows arm64Video-Fetch-v0.3.1-Windows-arm64.msi / .exe
  • Linux x86_64Video-Fetch-v0.3.1-Linux-x86_64.AppImage / .deb
  • Linux arm64Video-Fetch-v0.3.1-Linux-arm64.AppImage / .deb

当前发布包未做 Apple / Windows 代码签名。macOS 若提示损坏,把 App 拖到「应用程序」后执行:

xattr -cr "/Applications/Video Fetch.app"

What's Changed

  • Add audio-only download with quality tiers and output formats by @asthetik in #56

Full Changelog: v0.3.0...v0.3.1

Video Fetch v0.3.0

Choose a tag to compare

@github-actions github-actions released this 15 Aug 14:33
fe32f94

Video Fetch v0.3.0

v0.2.2 之后的维护版本:登录凭证存储改造(不再依赖系统钥匙串)+ 凭证文件可靠性加固,以及文档更新。

重点内容

  • 登录凭证不再使用系统钥匙串(#54:此前未签名构建在 macOS 上每次读写钥匙串都会弹出「登录钥匙串」密码框;现在凭证只保存在应用数据目录的本地文件(仅当前用户可读),弹窗问题彻底消失,应用内「退出登录」会同时清除本地凭证
  • 凭证文件可靠性加固:写入改为原子替换(临时文件 + 重命名),登录/导入期间崩溃也不会留下损坏文件;若文件意外损坏,应用会按未登录状态继续工作而不是报错,重新登录即可恢复
  • README 重写:面向新手的安装与使用说明,补充本地日志与数据存储位置的说明

下载

  • macOS(Apple Silicon)Video-Fetch-v0.3.0-macOS.dmg(不提供 Intel)
  • Windows x64Video-Fetch-v0.3.0-Windows.msi / .exe
  • Windows arm64Video-Fetch-v0.3.0-Windows-arm64.msi / .exe
  • Linux x86_64Video-Fetch-v0.3.0-Linux-x86_64.AppImage / .deb
  • Linux arm64Video-Fetch-v0.3.0-Linux-arm64.AppImage / .deb

当前发布包未做 Apple / Windows 代码签名。macOS 若提示损坏,把 App 拖到「应用程序」后执行:

xattr -cr "/Applications/Video Fetch.app"

What's Changed

  • feat: store cookies in a local file and bump version to 0.3.0 by @asthetik in #54
  • docs: remove no-upload claim from log privacy section by @asthetik in #55

Full Changelog: v0.2.2...v0.3.0

Video Fetch v0.2.2

Choose a tag to compare

@github-actions github-actions released this 15 Aug 09:15
93d1c5d

Video Fetch v0.2.2

v0.2.1 之后的功能版本:清晰度解析提速 + 本地操作日志,以及依赖安全升级。

重点内容

  • 清晰度解析提速(#52:单 P 视频改用 B 站 view + WBI 签名的 playurl 直取,冷解析约 1 秒出结果(yt-dlp 仅作兜底);多 P 并发采样并渐进显示;fnval=4048 展示 AVC/HEVC/AV1 全编码,默认选中最高码率。
  • 本地操作日志(#53:前后端统一走 tracing 管道,记录每次点击、JS 错误与解析/下载/登录/设置等操作;按天分文件、单日超 10MB 自动续号、保留 30 天;应用内新增「日志」页,可查看、刷新、打开目录、清空。
  • 依赖安全升级:前端与 Rust 依赖兼容升级。

下载

  • macOS(Apple Silicon)Video-Fetch-v0.2.2-macOS.dmg(不提供 Intel)
  • Windows x64Video-Fetch-v0.2.2-Windows.msi / .exe
  • Windows arm64Video-Fetch-v0.2.2-Windows-arm64.msi / .exe
  • Linux x86_64Video-Fetch-v0.2.2-Linux-x86_64.AppImage / .deb
  • Linux arm64Video-Fetch-v0.2.2-Linux-arm64.AppImage / .deb

当前发布包未做 Apple / Windows 代码签名。macOS 若提示损坏,把 App 拖到「应用程序」后执行:

xattr -cr "/Applications/Video Fetch.app"

What's Changed

  • Fast Bilibili quality resolve via WBI-signed playurl by @asthetik in #52
  • Add local activity log with daily rotation and in-app viewer by @asthetik in #53

Full Changelog: v0.2.1...v0.2.2

Video Fetch v0.2.1

Choose a tag to compare

@github-actions github-actions released this 13 Aug 15:54
adf5237

Video Fetch v0.2.1

v0.2.0 的维护版本:安全与权限收紧、B 站登录修复,以及前后端依赖安全升级。

重点内容

  • 安全加固:应用权限只保留主窗口所需(core:default + opener:default),删除前端从未使用的 shell/dialog/webview/window 权限(下载由 Rust 直接启动 yt-dlp/ffmpeg),并启用完整的 Content-Security-Policy
  • Cookie 安全:登录后只保留 *.bilibili.com 的 Cookie,验证码/跟踪 Cookie 不再落盘;拒绝 bilibili.com.evil.com 之类的仿冒域名
  • B 站登录修复:登录窗口改用新版 Chrome UA,不再被风控提示「浏览器等级过低」;每次登录都从干净会话开始(清空浏览数据并确认生效后才打开登录页,避免残留 SESSDATA 自动登录),登出同时清除并关闭登录窗口
  • 依赖安全升级:前端修复 nanoid 安全通告并升级 vite 8.2.1;后端 cargo update 兼容升级(async-trait、rusqlite、thiserror 及传递依赖补丁)
  • CI 增强:node:test 单测接入 CI;任意分支 push 都触发 CI,dependabot 分支去重避免重复运行

下载

  • macOS(Apple Silicon)Video-Fetch-v0.2.1-macOS.dmg(不提供 Intel)
  • Windows x64Video-Fetch-v0.2.1-Windows.msi / .exe
  • Windows arm64Video-Fetch-v0.2.1-Windows-arm64.msi / .exe
  • Linux x86_64Video-Fetch-v0.2.1-Linux-x86_64.AppImage / .deb
  • Linux arm64Video-Fetch-v0.2.1-Linux-arm64.AppImage / .deb

当前发布包未做 Apple / Windows 代码签名。macOS 若提示损坏,把 App 拖到「应用程序」后执行:

xattr -cr "/Applications/Video Fetch.app"

What's Changed

  • chore: harden security, fix Bilibili login, run CI on all branch pushes by @asthetik in #51

Full Changelog: v0.2.0...v0.2.1

Video Fetch v0.2.0

Choose a tag to compare

@github-actions github-actions released this 01 Aug 10:05
00458ee

Video Fetch v0.2.0

自 v0.1.3 以来的功能与体验里程碑:下载队列与历史大幅优化、主导航过渡动画、批量操作,以及依赖维护。

重点内容

  • 批量操作:主页「全部取消」、历史「清空」;确认后保留本地已下载文件
  • 解析体验:渐进式 resolve,粘贴链接后更快出现视频卡片
  • 下载队列:进行中任务始终置顶;「最近失败」分区(最多 3 条)+ 跳转历史;取消全部后仍可见最近完成
  • 界面打磨:列表去红、批量按钮改为小描边按钮;顶栏切换页面有轻量淡入淡出
  • 维护:升级 reqwest 0.13;Rust 直接依赖版本下限收紧

下载

  • macOS(Apple Silicon)Video-Fetch-v0.2.0-macOS.dmg(不提供 Intel)
  • Windows x64Video-Fetch-v0.2.0-Windows.msi / .exe
  • Windows arm64Video-Fetch-v0.2.0-Windows-arm64.msi / .exe
  • Linux x86_64Video-Fetch-v0.2.0-Linux-x86_64.AppImage / .deb
  • Linux arm64Video-Fetch-v0.2.0-Linux-arm64.AppImage / .deb

当前发布包未做 Apple / Windows 代码签名。macOS 若提示损坏,把 App 拖到「应用程序」后执行:

xattr -cr "/Applications/Video Fetch.app"

What's Changed

  • fix: skip keyring in debug DualStore by @asthetik in #43
  • feat: bulk cancel downloads and clear history records by @asthetik in #44
  • feat: progressive resolve for faster paste-to-card by @asthetik in #45
  • fix: clarify bulk confirm dialog dismiss label by @asthetik in #46
  • fix: polish queue/history UX with stable sort and recent failures by @asthetik in #47
  • feat: soft page transitions for top navigation by @asthetik in #48
  • chore: release v0.1.4 and refresh Rust dependencies by @asthetik in #49
  • chore: release v0.2.0 by @asthetik in #50

Full Changelog: v0.1.3...v0.2.0

Video Fetch v0.1.3

Choose a tag to compare

@github-actions github-actions released this 31 Jul 15:23
454c470

Video Fetch v0.1.3

Windows 体验与默认下载目录优化;命名与仓库统一为 Video Fetch / video-fetch。

重点内容

  • Windows:下载时不再闪黑框(隐藏 yt-dlp 控制台窗口)
  • 默认保存目录:首次使用默认指向系统「下载」文件夹
  • 命名统一:展示名 Video Fetch,仓库与 crate 为 video-fetchidentifier 不变,原有登录数据可继续用)

下载

  • macOS(Apple Silicon)Video-Fetch-v0.1.3-macOS.dmg(不提供 Intel)
  • Windows x64Video-Fetch-v0.1.3-Windows.msi / .exe
  • Windows arm64Video-Fetch-v0.1.3-Windows-arm64.msi / .exe
  • Linux x86_64Video-Fetch-v0.1.3-Linux-x86_64.AppImage / .deb
  • Linux arm64Video-Fetch-v0.1.3-Linux-arm64.AppImage / .deb

当前发布包未做 Apple / Windows 代码签名。macOS 若提示损坏,把 App 拖到「应用程序」后执行:

xattr -cr "/Applications/Video Fetch.app"

What's Changed

  • docs: update README home screenshot by @asthetik in #40
  • fix: hide yt-dlp console flash and default save dir to Downloads (0.1.3) by @asthetik in #41
  • chore: align naming with Video Fetch / video-fetch by @asthetik in #42

Full Changelog: v0.1.2...v0.1.3

Video Fetch v0.1.2

Choose a tag to compare

@github-actions github-actions released this 30 Jul 16:05
6b9e655

Video Fetch v0.1.2

多架构安装包与品牌统一。

重点内容

  • 五架构安装包:macOS Apple Silicon、Windows x64 / arm64、Linux x86_64 / arm64
  • 统一命名Video-Fetch-v0.1.2-{OS}[-arch].{ext}
  • 品牌:对外显示 Video Fetch
  • 多 P 清晰度:从各分 P 采样真实可用高度
  • 稍后再看链接:支持 B 站稍后再看 URL
  • Windows 取消/挪文件:取消与成品搬迁更稳

下载

  • macOS(Apple Silicon)Video-Fetch-v0.1.2-macOS.dmg(不提供 Intel)
  • Windows x64Video-Fetch-v0.1.2-Windows.msi / .exe
  • Windows arm64Video-Fetch-v0.1.2-Windows-arm64.msi / .exe
  • Linux x86_64Video-Fetch-v0.1.2-Linux-x86_64.AppImage / .deb
  • Linux arm64Video-Fetch-v0.1.2-Linux-arm64.AppImage / .deb

当前发布包未做 Apple / Windows 代码签名。macOS 若提示损坏,把 App 拖到「应用程序」后执行:

xattr -cr "/Applications/Video Fetch.app"

What's Changed

  • fix: fall back when Bilibili part lacks selected format id by @asthetik in #33
  • docs: document unsigned install workarounds by @asthetik in #34
  • fix: offer multi-P quality by height, not P1 format ids by @asthetik in #35
  • fix: discover multi-P heights from observed formats by @asthetik in #36
  • fix: handle watchlater URLs and Windows download cancel/relocate by @asthetik in #37
  • Expand multi-arch release packaging for 0.1.2 by @asthetik in #38
  • fix: install xdg-utils for Linux AppImage bundling by @asthetik in #39

Full Changelog: v0.1.1...v0.1.2

v0.1.1

Choose a tag to compare

@github-actions github-actions released this 26 Jul 17:28
d01da77

新功能

  • 下载进度结构化展示:下载队列除百分比外,还会显示实时速度、剩余时间和已下/总量(来自 yt-dlp JSON 进度)

改进

  • 进度事件端到端可测,速度/ETA 为实时字段(刷新任务列表后不会从数据库还原)
  • 兼容旧版 yt-dlp 文本进度输出
  • 关于页版本改为读取 package.json,避免发版后界面版本号滞后

下载

请按系统选择安装包:

  • macOS:VideoFetch_0.1.1_aarch64.dmg
  • Windows:VideoFetch_0.1.1_x64-setup.exe.msi
  • Linux:VideoFetch_0.1.1_amd64.AppImage.deb

What's Changed

  • feat: emit structured JSON download progress to the UI by @asthetik in #30
  • chore: bump version to 0.1.1 by @asthetik in #31
  • fix: sync About page version with package.json by @asthetik in #32

Full Changelog: v0.1.0...v0.1.1

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 26 Jul 15:27
5b1709d

影取(VideoFetch)首个公开版本

跨平台桌面视频下载器:粘贴链接,解析后下载到本地。本版为最小可行产品(MVP),优先支持哔哩哔哩(B 站);下载引擎为 yt-dlp,安装包已内置 yt-dlpffmpeg,开箱即可用。

功能亮点

  • 粘贴即解析:自动拉取标题、封面、分 P、清晰度等元数据
  • 按需下载:选择清晰度与分 P 后加入队列;支持进度、取消、失败重试与历史记录
  • B 站登录:内嵌网页登录,或导入 Netscape 格式 cookies.txt
  • 命名规则:可配置文件名模板,下载前可预览
  • 跨平台安装包:macOS / Windows / Linux

下载说明

平台 文件
macOS(Apple Silicon) VideoFetch_0.1.0_aarch64.dmg
Windows VideoFetch_0.1.0_x64-setup.exeVideoFetch_0.1.0_x64-setup.msi
Linux VideoFetch_0.1.0_amd64.AppImageVideoFetch_0.1.0_amd64.deb

Linux AppImage 首次运行前请执行:chmod +x VideoFetch_0.1.0_amd64.AppImage

已知限制

  • 目前以 B 站为主;其他站点能力取决于 yt-dlp,体验尚未专门打磨

许可证:Apache-2.0 · 第三方组件见 THIRD_PARTY.md

Full Changelog: https://github.com/asthetik/videofetch/commits/v0.1.0