单文件、免安装、不需要 ffmpeg。
Cookie 只存在本机,不经过任何服务器。
这不是偷懒,是三个绕不过去的现实问题。
1080P 以上必须登录才能取到。如果做成网站,你就得把 SESSDATA
发到我的服务器上 —— 那等于把账号交出去,而且我这边一旦出事就是所有人的账号一起出事。
桌面程序没这个问题:Cookie 只在本机内存里,关掉就没了。
B 站对机房 IP 有风控。一台服务器替很多人下载,很快就会被限流、降画质,
严重的话整个 IP 被封 —— 到时候所有人都用不了。
从你自己的家用宽带下载,和平时看视频没区别。
这套东西就是一个静态页 + 一个 exe,托管在免费额度内,成本是零。
没有后端就没有后端被拖库、被滥用、被关停的问题。
360P 到 4K,含高码率与 HDR。不可用的档位会置灰并写明原因(需要登录 / 需要大会员)。
音视频是两条流,用 Go 原生重封装直接拼接,不重新编码。2.4 GB 的输入合并耗时约 2.5 秒。
番剧一次勾选整季,多 P 视频一次勾选全部分 P。已下载的自动标记并跳过,不会重复下。
下载视频时顺手抓弹幕(XML)和封面,存在视频同名位置。
扫盘归类已下载的文件,按番剧 / 合集 / 单条分组,显示画质档位和时长,可直接打开或定位。
「记住登录」用 Windows DPAPI 加密,密文换台电脑就解不开。默认不落盘。
自带窗口,不是浏览器标签页。
SESSDATA。想省事就勾「记住登录」。
1080P 以上需要登录。你只需要 SESSDATA 这一个值 ——
不用复制整段 Cookie,也不需要 bili_jct、DedeUserID 那些。
F12 打开开发者工具
或者右键页面空白处 → 「检查」。
»。
SESSDATA,双击它「值」那一格,
Ctrl+A 全选、Ctrl+C 复制。注意头尾不要带上空格。
F5 刷新页面等请求列表出现内容。playurlapi.bilibili.com 开头的请求cookie: 那一行
复制 SESSDATA= 后面、到第一个 ; 之前的内容。① 复制时带上了空格或换行 —— 重新复制一次;
② Cookie 已过期 —— 登录态通常一个月左右失效,重走一遍;
③ 复制错了行 —— 确认拿的是 SESSDATA。
不会。工具只调用 B 站网页版自己在用的接口,行为和你正常看视频一样。 批量下载也是串行的(一次只下一集),同样是为了不引起注意。
去 B 站 → 设置 → 退出登录(或账号安全里「退出所有设备」), 旧凭据立即失效。然后重新登录、重新获取一份。
不一定。不登录也能下,只是画质限制在 480P 或 720P。 1080P 需要登录;1080P 高码率 / 4K / HDR 需要大会员。
不会。程序只连 B 站的接口,不向任何地方发送你的数据。下载的内容、Cookie、配置全都留在你自己电脑上。
唯一的对外请求是启动时拉一次版本信息(用来判断有没有新版)。它只是一个 GET, 不携带你的任何信息。想彻底断掉,去「关于与更新」把地址清空保存即可。
默认只存在内存里,关掉程序就没了,磁盘上不留任何东西。
勾了「记住登录」才会写到本机,而且是先用 Windows DPAPI 加密的 —— 密文换个 Windows 账户或换台电脑都解不开。
但要如实说明:这能挡住「文件被人拷走」,挡不住同一台电脑上的其它程序(它们可以调用同样的 DPAPI 接口解密)。请自行权衡。
可能会。没有代码签名证书的 exe、尤其是用 Go 编译的,经常被杀软启发式误报。
两个办法:把程序加进白名单;或者不放心就自己编译 —— 源码结构简单,一条 go build 就出来。
界面用系统自带的 WebView2(Edge 内核)渲染。Windows 11 自带,Windows 10 基本都有。
万一没有,程序会自动改用系统浏览器打开,功能完全一样,只是会多一个浏览器窗口。
没登录。B 站对匿名请求限制在 480P(DASH)或 720P(单文件)。
粘一次 Cookie 后,1080P 解锁;1080P 高码率 / 4K / HDR 还需要大会员。
目前只打包了 Windows 64 位。代码本身是可跨平台编译的,但凭据加密用的是 Windows 专有的 DPAPI —— 换平台要另写一套。
故意的。串行下载不会打满你的带宽,也不容易触发 B 站的风控。批量下载时它们会排队依次完成。
程序启动时会自动检查更新,有新版本会在顶栏提示,点进去就能看到改动。