# BDownload **Repository Path**: liaohanjie/bdownload ## Basic Information - **Project Name**: BDownload - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-26 - **Last Updated**: 2026-09-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # BDownload 用 Go 编写的本机 B 站批量下载器。双击 `BDownload.exe` 后自动打开浏览器界面,程序窗口保持开启即可。 ## 使用 1. 双击 `BDownload.exe`。若提示缺少 FFmpeg,双击 `安装依赖.cmd`,安装后重试。 2. 粘贴 B 站完整视频网址或 BV 号,点击「扫描视频」。默认展开视频合集及其分 P;取消「展开整个合集」则只扫描当前 BV 的分 P。 3. 按需扫码登录、选择画质及保存目录,勾选视频,点击「下载所选」。 4. 工具依次下载视频轨道和音频轨道,再无损合并为 MP4;可查看当前文件字节进度、速度、实际画质、队列完成数。默认保存到程序旁的 `downloads`。 遇到单项失败会继续下一项;任务结束后只勾选失败项再次下载即可。同名文件使用时间后缀保留,不覆盖已有文件。停止队列会删除当前未完成文件,已完成文件保留。当前版本不支持跨重启续传。 ## 登录与画质 - **首选扫码**:工具向 B 站申请登录二维码,由 B 站手机 App 扫码并确认;不需要输入账号密码。 - **备用 Cookie**:浏览器登录 B 站后按 F12 → Network → 刷新 → 选择 B 站 API 请求 → Request Headers → 复制 Cookie 值,在「手动导入 Cookie」粘贴验证。必须包含有效 `SESSDATA`。不要把 Cookie 发给别人。 - 登录态仅保存在程序内存;关闭程序后需重新登录。不会自动读取浏览器的 Cookie 数据库,不将凭证写入配置、日志或下载文件。 - 当前队列使用点击下载时的登录态。更换或清除账号后,新队列才采用新状态。 - 画质由 B 站接口按账号权限返回;选择「最高 1080P」并不保证获得 1080P。不可用时选择较低可用轨道,并在每项显示**实际画质**。大会员专属格式仍需账号具备对应权限。 ## 开发 要求 Go 1.25+。唯一第三方 Go 库为 `go-qrcode`,用于本地生成二维码。 ```powershell go mod download go test ./... go vet ./... go build -trimpath -ldflags="-s -w" -o BDownload.exe . ``` 双击 `编译.cmd` 可重新编译。开发运行: ```powershell $env:BDOWNLOAD_DEV="1" go run . ``` 真实网络测试(默认测试不会联网): ```powershell $env:BDOWNLOAD_LIVE="1" go test -run TestLiveScan -v # 同时下载测试合集的第一项,并合并为 MP4: $env:BDOWNLOAD_LIVE_DOWNLOAD="1" go test -run TestLiveScan -v ``` 文件职责:`bili.go` 处理 B 站接口与扫描;`server.go` 处理本机 API 与登录;`download.go` 负责队列、媒体传输和合并;`main.go` 启动服务并嵌入界面;`web/` 是无框架网页;`cmd/setup/` 安装并校验 FFmpeg。 ## 依赖和限制 - FFmpeg 优先使用 `tools/ffmpeg.exe`,其次使用 PATH 中的 ffmpeg。安装器从 FFmpeg 官网列出的 [Gyan Windows 构建站](https://www.gyan.dev/ffmpeg/builds/) 下载 essentials ZIP,验证同站 SHA-256,仅提取 FFmpeg、FFprobe 和许可证。FFmpeg 的构建许可证见 `tools/LICENSE`。 - 支持普通投稿的 BV 链接、分 P、接口返回的 UGC 合集;暂不支持短链接、收藏夹、UP 全部投稿、番剧、直播、付费课程或 DRM 内容。 - B 站接口和风控可能变化,限流、地区或账号权限可能导致失败。请使用你有权下载的内容,遵守作者授权范围。 - 服务只监听 `127.0.0.1` 随机端口,写操作需要本次启动令牌;不对局域网开放。