B站关注与投稿浏览工具
607
B 站个人内容浏览、站内播放与下载工具。扫码登录后,可在本地查看推荐、关注投稿、收藏夹与稍后阅读,支持搜索、网页播放与视频下载。
顶部 Tab:推荐 / 关注 / 收藏 / 稍后
@vicons/ionicons5 + ArtPlayer + dash.jsbetter-sqlite3,config/bilist.db)yt-dlp + ffmpegbrew install yt-dlp ffmpeg
# 安装依赖
npm install
# 启动开发服务器(默认 http://localhost:3060)
npm run dev
# 生产构建并启动
npm run build
npm start
浏览器打开后,使用 B 站 App 扫描二维码完成登录。
下载文件保存在 downloads/<UP主>/标题.mp4(不再附带 [BV号])。登录态、下载任务与设置保存在 config/bilist.db(SQLite)。
登录成功后,Cookie 与用户信息写入 config/bilist.db,服务重启后自动恢复。
该登录态为实例级共享:任意一台设备在本实例扫码登录后,访问同一服务的其他设备都会使用同一 B 站账号;任一设备退出登录,也会清除这份共享登录态。
适合个人或家庭自建、多端共用一个账号的场景。
首次启动时若仍存在旧版 auth.json / settings.json / downloads.json,会自动导入 SQLite,并将原文件重命名为 *.migrated。
# 导出指定 UID 的全部投稿为 CSV
npm run export -- <UID>
# 指定输出文件
npm run export -- <UID> -o output.csv
# 构建并启动(端口 3060,登录态 ./config,视频 ./downloads)
docker compose up -d --build
# 或直接使用 Docker Hub 镜像
docker pull wannayoung/bilist:latest
# 再按 docker-compose.yml 挂载 ./config、./downloads 启动
# 查看日志
docker compose logs -f
# 停止
docker compose down
浏览器访问 http://localhost:3060 。扫码登录后,数据保存在宿主机 ./config/bilist.db,下载视频保存在 ./downloads,容器重启后保留。
挂载目录:
| 宿主机 | 容器内 | 用途 |
|---|---|---|
./config | /app/config | SQLite 数据库、yt-dlp cookies |
./downloads | /app/downloads | 下载的视频文件 |
镜像内已预设 NODE_ENV=production、PORT=3060、CONFIG_DIR=/app/config、DOWNLOAD_DIR=/app/downloads。docker-compose.yml 中默认 LOG_LEVEL=info。
公开镜像:wannayoung/bilist(标签如 0.2.2、latest,支持 linux/amd64 与 linux/arm64)。
服务端输出中文可读日志,便于本地调试与 docker logs 排查:
[2026-09-01 17:13:05] 信息 获取推荐视频(第1页)成功,耗时 120毫秒
[2026-09-01 17:14:01] 信息 开始下载:「视频标题」
[2026-09-01 17:14:20] 错误 下载失败:「视频标题」:……
可通过环境变量调整级别:LOG_LEVEL=debug|info|warn|error(默认 info)。扫码轮询等高频请求仅在 debug 下记录。
| 环境变量 | 说明 | 默认值 |
|---|---|---|
PORT | 服务端口 | 3060 |
CONFIG_DIR | 配置目录 | ./config(Docker 内为 /app/config) |
DOWNLOAD_DIR | 视频下载目录 | ./downloads(Docker 内为 /app/downloads) |
DOWNLOAD_CONCURRENCY | 同时下载任务数 | 2 |
LOG_LEVEL | 日志级别 | info |
NODE_ENV | 运行模式 | 未设置时为开发模式;Docker 默认为 production |
登录态、下载任务与设置保存在 config/bilist.db(已加入 .gitignore)。
若此前使用 .data/auth.json 或 config/*.json,将文件放到 config/ 后启动服务即可自动迁移:
mkdir -p config
# 例如:mv .data/auth.json config/auth.json
bilist/
├── config/ # bilist.db(登录/设置/下载任务)
├── downloads/ # 下载的视频文件
├── server/ # Express 后端与 B 站 API
│ ├── download/ # 下载队列与 yt-dlp 调度
│ ├── play.js # 站内播放(playurl / DASH / 本地文件)
│ ├── db.js # SQLite 连接与表结构
│ ├── auth-store.js # 登录态持久化
│ └── logger.js # 中文日志
├── src/ # Vue 前端
│ ├── views/ # 按模块划分的页面
│ │ ├── recommend/ # 推荐
│ │ ├── following/ # 关注
│ │ ├── favorite/ # 收藏
│ │ ├── watch-later/ # 稍后阅读
│ │ ├── video-list/ # 搜索结果 / UP 投稿
│ │ └── auth/ # 扫码登录
│ ├── components/ # 视频卡片、播放器、面板、设置等
│ └── composables/ # 下载队列、窄屏断点、库同步等
├── export_videos.js # 投稿 CSV 导出脚本
├── Dockerfile
├── docker-compose.yml
└── index.html
本项目仅供个人学习与研究使用,请遵守 B 站用户协议与相关法律法规,勿用于商业或滥用接口。
Content type
Image
Digest
sha256:94bbfdec7…
Size
143.2 MB
Last updated
15 days ago
docker pull wannayoung/bilist