MCPcopy
hub / github.com/iuroc/bilidown

github.com/iuroc/bilidown @v2.1.1 sqlite

repository ↗ · DeepWiki ↗ · release v2.1.1 ↗
247 symbols 546 edges 43 files 59 documented · 24%
README

Bilidown

GitHub Release

哔哩哔哩视频解析下载工具,支持 8K 视频、Hi-Res 音频、杜比视界下载、批量解析,可扫码登录,常驻托盘。

支持解析的链接类型

  • 【单个视频】https://www.bilibili.com/video/BV1LLDCYJEU3/
  • 【番剧和影视剧】https://www.bilibili.com/bangumi/play/ss48831
  • 【视频合集】https://space.bilibili.com/282565107/channel/collectiondetail?sid=1427135
  • 【收藏夹】https://space.bilibili.com/1176277996/favlist?fid=1234122612
  • 【UP 主空间地址】等待 3.x 版本支持

使用说明

  1. Releases 下载适合您系统版本的安装包
  2. 非 Windows 系统,请先安装 FFmpeg 工具
  3. 将安装包解压后执行即可

软件特色

  1. 前端采用 BootstrapVanJS 构建,轻量美观
  2. 后端使用 Go 语言开发,数据库采用 SQlite,简化构建和部署过程
  3. 前端通过 p-queue 控制并发请求,加快批量解析速度

其他说明

  • 本程序不支持也不建议 HTTP 代理,直接使用国内网络访问能提升批量解析的成功率和稳定性。

打包可执行文件

git clone https://github.com/iuroc/bilidown
cd bilidown/client
pnpm install
pnpm build
cd ../server
go mod tidy
CGO_ENABLED=1 go build

交叉编译

说明

  • 镜像名称:iuroc/cgo-cross-build
  • 支持的系统架构
    • linux/amd64
    • windows/amd64
    • windows/386
    • windows/arm64
    • darwin/amd64
    • darwin/arm64

拉取镜像和项目源码

docker pull iuroc/cgo-cross-build:latest
git clone https://github.com/iuroc/bilidown

交叉编译发行版

执行 goreleaser 命令时将自动执行 pnpm buildgo mod tidy

ffmpeg.exe 放入 server/bin 目录内。

在项目根目录执行如下代码,进入 Docker 容器。

docker run --rm -it -v .:/usr/src/data iuroc/cgo-cross-build

在容器内的终端执行如下代码,开始交叉编译。

cd server
git tag v2.1.1
goreleaser release --snapshot --clean
# 正式发行
# GITHUB_TOKEN=xxx goreleaser release --clean

编译指定系统架构

# 按上面的步骤进入 Docker 容器内终端

# [darwin-amd64]
GOOS=darwin
GOARCH=amd64
CC=o64-clang
CGO_ENABLED=1
go build

非 Docker 环境编译

在 Linux amd64 平台上执行 go build 时,您可能需要安装以下依赖包:

sudo apt install pkg-config gcc libayatana-appindicator3-dev

开发环境

# client
pnpm install
pnpm dev
# server
go build && ./bilidown

特别感谢

软件界面

Star History

Star History Chart

Extension points exported contracts — how you extend this code

VanComponent (Interface)
(no doc) [8 implementers]
client/src/mixin.ts

Core symbols most depended-on inside this repo

Write
called by 69
server/util/response.go
UpdateStatus
called by 14
server/task/task.go
SimpleGET
called by 11
server/bilibili/client.go
Release
called by 11
server/util/semaphore.go
InputGroup
called by 8
client/src/work/view/videoInfoCard.ts
Start
called by 5
server/task/task.go
add
called by 5
server/task/task.go
classStr
called by 4
client/src/header.ts

Shape

Function 127
Method 75
Struct 23
Class 18
TypeAlias 3
Interface 1

Languages

Go56%
TypeScript44%

Modules by API surface

server/task/task.go20 symbols
server/bilibili/type.go19 symbols
client/src/task/playerModal.ts15 symbols
server/main.go12 symbols
client/src/work/view/parseModal.ts11 symbols
client/src/task/index.ts11 symbols
server/bilibili/client.go10 symbols
server/util/util.go9 symbols
server/bilibili/bilibili_test.go9 symbols
client/src/work/view/videoItemList.ts8 symbols
client/src/setting/index.ts8 symbols
server/bilibili/video.go7 symbols

Dependencies from manifests, versioned

github.com/dustin/go-humanizev1.0.1 · 1×
github.com/getlantern/contextv0.0.0-2022041819484 · 1×
github.com/getlantern/errorsv1.0.4 · 1×
github.com/getlantern/gologv0.0.0-2023050315381 · 1×
github.com/getlantern/hexv0.0.0-2022010417324 · 1×
github.com/getlantern/hiddenv0.0.0-2022010417333 · 1×
github.com/getlantern/opsv0.0.0-2023102513362 · 1×
github.com/getlantern/systrayv1.2.2 · 1×
github.com/go-logr/logrv1.4.2 · 1×
github.com/go-logr/stdrv1.2.2 · 1×
github.com/go-stack/stackv1.8.1 · 1×

For agents

$ claude mcp add bilidown \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact