biliup-rs
原创大约 9 分钟
biliup-rs
biliup-rs 是一个B站命令行投稿工具,支持多p投稿,支持上传线路选择,并发数设置,保证国外服务器上传速度可跑满带宽。 支持 短信登录,账号密码登录,扫码登录,浏览器登录 ,并将登录后返回的 cookie 和 token 保存在 cookie.json 中,可用于其他项目。
下载安装
预编译的二进制文件
下载地址:https://github.com/ForgQi/biliup-rs/releases
自行构建
如果你是Rust程序员,可以通过cargo来安装biliup-rs。
$ cargo install biliup请注意,biliup-rs是用Rust语言编写的,所以在编译它之前,你需要获取并安装Rust环境。
要构建biliup-rs,请按照以下步骤操作:
$ git clone https://github.com/ForgQi/biliup-rs
$ cd biliup-rs
$ cargo build --releaseDocker-Ubuntu
挂载文件夹到Liunx
mkdir /root/biliup-rs
mount -t cifs -o username=*,password=* //192.168.10.167/* /root/biliup-rs创建容器
docker pull ubuntu:22.04docker-compose.yml
version: "3.3"
# 服务
services:
biliup-rs:
image: ubuntu:22.04
container_name: ub-biliup-rs
environment:
TZ: Asia/Shanghai
volumes:
- "/root/xue:/root/biliup-rs"
command: ["sh", "-c", "while true; do sleep 1000; done"]docker compose up -d配置中文环境
容器中已有的字符集
locale -a
root@8d44f6e53490:/# locale -a
C
C.UTF-8
POSIX换源
刷新软件包列表
apt-get update
apt-get install -y ca-certificates
cp /etc/apt/sources.list /etc/apt/sources.list.bak
echo "deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse" > /etc/apt/sources.list
echo "deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse" >> /etc/apt/sources.listapt-get update
apt-get -y install language-pack-zh-hans安装后
root@8d44f6e53490:/# locale -a
C
C.utf8
POSIX
zh_CN.utf8
zh_SG.utf8设置Locale
设置locale的方式有多种,使用修改/etc/profile的方式
在/etc/profile的最下面添加
export LC_ALL=zh_CN.utf8
export LANG=zh_CN.utf8echo -e "\nexport LC_ALL=zh_CN.UTF-8\nexport LANG=zh_CN.UTF-8" >> /etc/profile生效
source /etc/profile
echo -e "\nsource /etc/profile" >> ~/.bashrc校准时间
安装NTP软件包
apt install ntp
Configuring tzdata
------------------
Please select the geographic area in which you live. Subsequent configuration questions will narrow this down by presenting a list of cities,
representing the time zones in which they are located.
1. Africa 2. America 3. Antarctica 4. Australia 5. Arctic 6. Asia 7. Atlantic 8. Europe 9. Indian 10. Pacific 11. US 12. Etc
Geographic area: 6
Please select the city or region corresponding to your time zone.
9. Baghdad 19. Chongqing 29. Hebron 39. Kamchatka 49. Macau 59. Phnom_Penh 69. Seoul 79. Tokyo 89. Yekaterinburg
10. Bahrain 20. Colombo 30. Ho_Chi_Minh 40. Karachi 50. Magadan 60. Pontianak 70. Shanghai 80. Tomsk 90. Yerevan
Time zone: 70
Current default time zone: 'Asia/Shanghai'
Local time is now: Mon Jan 29 13:49:39 CST 2024.
Universal Time is now: Mon Jan 29 05:49:39 UTC 2024.
Run 'dpkg-reconfigure tzdata' if you wish to change it.配置NTP
vim /etc/ntp.conf# server 0.centos.pool.ntp.org iburst
# server 1.centos.pool.ntp.org iburst
# server 2.centos.pool.ntp.org iburst
# server 3.centos.pool.ntp.org iburst
server ntp.aliyun.com iburst
server cn.ntp.org.cn iburst启动并启用NTP服务:
systemctl start ntpd
systemctl enable ntpd调整时区: 如果系统的时区不是东八
安装ffmpeg
apt install ffmpeg
ffmpeg -version使用指南
Ubuntu
进入biliup二进制文件所在目录
/root/biliup-rs/upload登录
./biliup login编辑配置文件config.yaml
上传
按配置文件自动搜索匹配文件
./biliup upload -c config.yaml./biliup-musl upload -c config.yamlroot@8d44f6e53490:~/biliup-rs/upload# ./biliup upload -c config.yaml
2024-01-28 15:41:38 INFO biliup::uploader::credential: 通过cookie登录
2024-01-28 15:41:38 INFO biliup::uploader::credential: 验证cookie
2024-01-28 15:41:38 INFO biliup::uploader::credential: 无需更新cookie
2024-01-28 15:41:39 INFO biliup::uploader: user: 雪绫的呆毛
2024-01-28 15:41:40 INFO biliup::uploader: https://archive.biliimg.com/bfs/archive/e983f0ff7gfsgfdsgs6fbdb3d467cd86685a78.jpg
2024-01-28 15:41:40 INFO biliup::uploader: number of concurrent futures: 3
2024-01-28 15:41:41 INFO biliup::uploader::line: probe_version=20221109&upcdn=qn&zone=cs: 294
2024-01-28 15:41:41 INFO biliup::uploader::line: probe_version=20221109&upcdn=bda2&zone=cs: 272
2024-01-28 15:41:41 INFO biliup::uploader::line: probe_version=20221109&upcdn=bldsa&zone=cs: 164
2024-01-28 15:41:41 INFO biliup::uploader: Line { os: Upos, probe_url: "//upos-cs-upcdnbldsa.bilivideo.com/OK", query: "probe_version=20221109&upcdn=bldsa&zone=cs", cost: 164 }
2024-01-28 15:41:41 INFO biliup::uploader::line: pre_upload: {"build":2110000,"name":"2024-01-28 17-56-22_00.mp4","profile":"ugcupos/bup","r":"upos","size":1473090405,"ssl":0,"version":"2.11.0"}
⠒ [00:03:10] [████████████████████████████████████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 750.23 MiB/1.37 GiB (1.96 MiB/s, 6m)root@8d44f6e53490:~/biliup-rs/upload# ./biliup upload -c config.yaml
2024-01-28 15:41:38 INFO biliup::uploader::credential: 通过cookie登录
2024-01-28 15:41:38 INFO biliup::uploader::credential: 验证cookie
2024-01-28 15:41:38 INFO biliup::uploader::credential: 无需更新cookie
2024-01-28 15:41:39 INFO biliup::uploader: user: 雪绫的呆毛
2024-01-28 15:41:40 INFO biliup::uploader: https://archive.biliimg.com/bfs/archive/egdsfghfg86685a78.jpg
2024-01-28 15:41:40 INFO biliup::uploader: number of concurrent futures: 3
2024-01-28 15:41:41 INFO biliup::uploader::line: probe_version=20221109&upcdn=qn&zone=cs: 294
2024-01-28 15:41:41 INFO biliup::uploader::line: probe_version=20221109&upcdn=bda2&zone=cs: 272
2024-01-28 15:41:41 INFO biliup::uploader::line: probe_version=20221109&upcdn=bldsa&zone=cs: 164
2024-01-28 15:41:41 INFO biliup::uploader: Line { os: Upos, probe_url: "//upos-cs-upcdnbldsa.bilivideo.com/OK", query: "probe_version=20221109&upcdn=bldsa&zone=cs", cost: 164 }
2024-01-28 15:41:41 INFO biliup::uploader::line: pre_upload: {"build":2110000,"name":"2024-01-28 17-56-22_00.mp4","profile":"ugcupos/bup","r":"upos","size":1473090405,"ssl":0,"version":"2.11.0"}
2024-01-28 15:47:43 INFO biliup::uploader: Upload completed: 2024-01-28 17-56-22_00.mp4 => cost 361.70s, 4.07 MB/s.
2024-01-28 15:47:43 INFO biliup::uploader::bilibili: ResponseData { code: 0, data: Some(Object {"aid": Number(751966478), "bvid": String("BV1nk4y1f7N3")}), message: "0", ttl: Some(1) }
2024-01-28 15:47:43 INFO biliup::uploader::bilibili: 投稿成功按命令行参数
biliup.exe upload --title "【原神】%Y-%m-%d" --copyright 2 --cover "测试封面.jpg" --desc "\nbiliup-rs\n自动上传" --line bda2 --limit 3 --source "转载来源:https://192.168.10.1" --tag 测试 --tid 171 2024-01-21-11-47-25-318.mp4按配置文件
$ cat config.yaml
# 选择上传线路 bda2, ws, qn, kodo, cos, cosinternal, bldsa
line: bda2
# 单视频文件最大并发数 [default: 3],未达到带宽上限时增大此值可提高上传速度
limit: 1
streamers:
# 视频文件匹配规则
./*.flv:
# [u8]是否转载, 1-自制 2-转载
copyright: 2
# [String]转载来源
source: "直播间传送门:https://s.xsj.qq.com/63AP5Vjh"
# [u16]投稿分区
tid: 27
# [String]视频封面/cover/up.jpg
cover: "录播封面V4_通用.jpg"
# [String]视频标题 自定义标题的时间格式
title: 【雪绫】2024-04-09
desc_format_id: 0
# [String]简介
desc: "\n雪绫Official\nhttps://space.bilibili.com/3493104967486322\n"
# [u8]是否开启杜比音效, 0-关闭 1-开启
dolby: 0
# [u8]Hi-Res
lossless_music: 0
# [String]粉丝动态
dynamic: ""
# 字幕功能 关闭(open: 0),且没有指定语言(lan)
subtitle:
open: 0
lan: ""
# [String]视频标签,逗号分隔多个tag
tag: "雪绫"
# [Option<u32>]延时发布时间,距离提交大于4小时,格式为10位时间戳 未设置,即默认立即发布
dtime: ~
# 开启字幕
open_subtitle: falsebiliup.exe upload -c config.yaml视频patterns1*是用来路径匹配视频
#[derive(TypedBuilder)]
pub struct StudioPre {
video_path: Vec<PathBuf>,
cookie_file: PathBuf,
line: Option<UploadLine>,
limit: usize,
title: String,
tid: u16,
tag: String,
copyright: u8,
source: String,
desc: String,
dynamic: String,
cover: String,
dtime: Option<u32>,
dolby: u8,
lossless_music: u8,
no_reprint: u8,
open_elec: u8,
desc_v2_credit: Vec<PyCredit>,
}apt-get update && apt-get install wget
wget https://ftp.gnu.org/gnu/glibc/glibc-2.38.tar.gzDockerfile
# 使用包含最新软件包的 Ubuntu 镜像
FROM ubuntu:22.04
RUN apt-get update && apt-get install -y ca-certificates
# 写入清华大学的软件源
RUN echo "deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse" > /etc/apt/sources.list
RUN echo "deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse" >> /etc/apt/sources.list
RUN echo "deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse" >> /etc/apt/sources.list
RUN echo "deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse" >> /etc/apt/sources.list
# 更新 apt 包索引并升级系统软件包
RUN apt-get update && apt-get upgrade -y
# RUN apt-get update && apt-get upgrade -y && apt-get install -y libc6-dev libc6
# 安装 libc6 软件包会自动更新 glibc 到最新版本(对于 Ubuntu 系统)
# 更新并安装 locales,并生成 zh_CN.UTF-8 locale
# RUN apt-get update && apt-get install -y locales && sed -i 's/# \(zh_CN.UTF-8\)/\1/' /etc/locale.gen && locale-gen zh_CN.UTF-8 && update-locale LANG=zh_CN.UTF-8
# RUN apt-get install -y locales
# RUN sed -i 's/# \(zh_CN.UTF-8\)/\1/' /etc/locale.gen
# RUN locale-gen zh_CN.UTF-8
# RUN update-locale LANG=zh_CN.UTF-8
# 清理缓存以减小镜像大小
RUN apt-get clean && rm -rf /var/lib/apt/lists/*
# 设置环境变量为简体中文 UTF-8
# ENV LANG zh_CN.UTF-8docker build -t ub-img2 .参考分区表
大区
160,生活 4,游戏 5,娱乐 36,知识 181,影视 3,音乐 1,动画 155,时尚 211,美食 223,汽车 234,运动 188,科技 217,动物圈 129,舞蹈 167,国创 119,鬼畜 177,纪录片 13,番剧 11,电视剧 23,电影
小区
生活区: 138,搞笑 239,家居房产 161,手工 162,绘画 21,日常
游戏区: 17,单机游戏 65,网络游戏 172,手机游戏 171,电子竞技 173,桌游棋牌 136,音游 121,GMV 19,Mugen
娱乐区: 71,综艺 137,明星
知识区: 201,科学科普 124,社科·法律·心理 228,人文历史 207,财经商业 208,校园学习 209,职业职场 229,设计·创意 122,野生技能协会
影视区: 85,短片 182,影视杂谈 183,影视剪辑 184,预告·资讯
音乐区: 130,音乐综合 29,音乐现场 59,演奏 31,翻唱 193,MV 30,VOCALOID·UTAU 194,电音 28,原创音乐
动画区: 24,MAD·AMV 25,MMD·3D 27,综合 47,短片·手书·配音 210,手办·模玩 86,特摄
时尚区: 157,美妆护肤 158,穿搭 159,时尚潮流
美食区: 76,美食制作 212,美食侦探 213,美食测评 214,田园美食 215,美食记录
汽车区: 176,汽车生活 224,汽车文化 225,汽车极客 240,摩托车 226,智能出行 227,购车攻略
运动区: 235,篮球·足球 164,健身 236,竞技体育 237,运动文化 238,运动综合
科技区: 95,数码 230,软件应用 231,计算机技术 232,工业·工程·机械 233,极客DIY
动物圈区: 218,喵星人 219,汪星人 221,野生动物 222,爬宠 220,大熊猫 75,动物综合
舞蹈区: 20,宅舞 154,舞蹈综合 156,舞蹈教程 198,街舞 199,明星舞蹈 200,中国舞
国创区: 153,国产动画 168,国产原创相关 169,布袋戏 170,资讯 195,动态漫·广播剧
鬼畜区: 22,鬼畜调教 26,音MAD 126,人力VOCALOID 216,鬼畜剧场 127,教程演示
纪录片区: 37,人文·历史 178,科学·探索·自然 179,军事 180,社会·美食·旅行
番剧区: 51,资讯 152,官方延伸 32,完结动画 33,连载动画
电视剧区: 185,国产剧 187,海外剧
电影区: 83,其他国家 145,欧美电影 146,日本电影 147,国产电影底部
参考
https://biliup.github.io/biliup-rs/index.html
https://blog.csdn.net/DeliaPu/article/details/127245725
https://blog.csdn.net/qq_46092061/article/details/118873206