说明:今天折腾了下辣鸡的百度网盘,想从网盘上下点东西到VPS
上,用到了博主之前分享过一个百度网盘的Python
客户端BYPY
,查看:VPS安装BYPY实现百度云文件上传/下载/同步,不过传输速度真的很慢,长期100KB
不到,可能是我用国外服务器的缘故吧。然后无意间发现了另外一个客户端BaiduPCS-Go
,基于Go
编写,功能强大很多,还支持离线下载,关键是下载速度很快,比开了超级会员还爽。这里就分享下。
特色
- 支持
Windows
、macOS
、linux
、移动设备等。 - 百度帐号多用户支持。
- 下载网盘内文件,支持多个文件或目录下载,支持断点续传和单文件并行下载。
- 上传本地文件,支持上传大文件(
>2GB
),支持多个文件或目录上传。 - 离线下载,支持
http
/https
/ftp
/电驴/磁力链协议。
使用
Github地址:https://github.com/iikira/BaiduPCS-Go
1、下载BaiduPCS-Go
下载地址:点击查看,找到适合自己服务器的最新版本,这里以VPS
的64
位系统为例。
#下载并解压程序,然后删除压缩文件
wget https://github.com/iikira/BaiduPCS-Go/releases/download/v3.5.6/BaiduPCS-Go-v3.5.6-linux-amd64.zip
unzip BaiduPCS-Go-v3.5.6-linux-amd64.zip && rm -rf BaiduPCS-Go-v3.5.6-linux-amd64.zip
2、登录百度账号
#进入到之前解压的文件里运行相关命令
cd BaiduPCS-Go-v3.5.6-linux-amd64
#登录百度云盘
./BaiduPCS-Go login
会要求你填用户名、密码,验证码。
这里是支持登录多个账号的,重复使用登录命令就可以了。多用户操作命令如下:
#列出已登录百度帐号列表
./BaiduPCS-Go loglist
#获取当前百度帐号
./BaiduPCS-Go who
#切换当前的百度帐号,<uid>请在列表里查看
./BaiduPCS-Go su <uid>
#退出当前登录的百度账号
./BaiduPCS-Go logout
3、查看网盘总空间和已使用的
./BaiduPCS-Go quota
这里好像会返回错误(目前来说是错误的),而且后面的下载等命令都会返回错误,因为配置文件里的appid
暂时不可用了,然后某大佬想出了一个找到可用appid
的方法。
先在程序解压文件里新建一个脚本,比如/root/BaiduPCS-Go-v3.5.5-linux-amd64
。
#进入到解压文件里
cd /root/BaiduPCS*
#新建appid.sh脚本文件
nano appid.sh
复制以下代码到脚本里:
#!/bin/bash
item=266718
function check(){
./BaiduPCS-Go config set -appid=$item &> /dev/null
./BaiduPCS-Go ls | grep -q 遇到错误
if [ $? != 0 ];then
echo "当前可用appid:$item ,已设置成功,BaiduPCS-Go 现可用正常使用了!"
else
let item+=1
check
fi
}
check
按住Ctrl+x
,y
保存退出,然后运行脚本:
bash appid.sh
脚本会帮你找到一个可用的appid
,并自动替换到配置文件里。
4、相关配置
#设置下载文件的储存目录,默认存在/root/Downloads
./BaiduPCS-Go config set -savedir /home
#设置下载最大并发量为200,建议值50~500,数值越大速度越高,但太高可能会出问题
./BaiduPCS-Go config set -max_parallel 200
5、下载文件
使用命令:
./BaiduPCS-Go d <网盘文件或目录的路径1> <文件或目录2> <文件或目录3> ...
命令示范:
#下载根目录rats.xx文件
./BaiduPCS-Go d rats.xx
#下载moe目录rats.xx文件
./BaiduPCS-Go d /moe/rats.xx
#下载根目录moe文件夹所有文件
./BaiduPCS-Go d /moe
#下载根目录moe文件夹的子文件夹rats所有文件
./BaiduPCS-Go d /moe/rats
6、上传文件
使用命令:
./BaiduPCS-Go u <本地文件/目录的路径1> <文件/目录2> <文件/目录3> ... <目标目录>
命令示范:
#将服务器上的/root/rats.xx文件上传到网盘根目录moe文件夹,如果是根目录则用/
./BaiduPCS-Go u /root/rats.xx /moe
#将服务器上的/root/rats文件夹及里面的文件上传到网盘根目录moe文件夹,如果是根目录则用/
./BaiduPCS-Go u /root/rats /moe
这工具命令实在太多,这里就只说比较有用的,其它的很多基本在网盘里自己就可以操作,关于离线下载等其它命令可以查看:Github地址。
大佬,我已经按Aria2+Rclone+DirectoryLister+Aria2Ng一键安装脚本搭建好了,如果我用这个下载百度盘文件,下载到dl文件夹,是不是也会自动上传到谷歌盘?
不会,除非你获取直链,丢进Aria2下载才会移动
谢了大佬,速度起来了, 本来对百度网盘已经绝望了.看来又活了.
建议开个普通会员,不然会限速你
这个有人做了web'界面,挺好用的https://github.com/liuzhuoling2011/baidupcs-web
是这个吗https://www.moerats.com/archives/769/。
可以,我没看到这个,大佬水的真全。没有一点死角
已经快没货了。
很强亲测日本节点的vultr最快 34m/s ...
我才六七M。
下载一个文件明明已经下载完毕,速度停在了0B/s,但一直无法结束,只好CTRL-C退出,有人遇到过吗?如何解决啊
多下几次看看,平常用迅雷什么的也会这样,最后一点就没速度了。
任务结束, 时间: 1s, 数据总量: 0B
truebt@root:~/BaiduPCS-Go-v3.5.5-linux-amd64$ bash appid.sh
当前可用appid:266769 ,已设置成功,BaiduPCS-Go 现可用正常使用了!
truebt@root:~/BaiduPCS-Go-v3.5.5-linux-amd64$ ./BaiduPCS-Go d /truebt
[0] 提示: 当前下载最大并发量为: 200, 下载缓存为: 30000
[1] 加入下载队列: /truebt
[1] 获取路径信息错误, 获取文件/目录的元信息: 遇到错误, 远端服务器返回错误, 代码: 31045, 消息: 操作失败, 可能百度帐号登录状态过期, 请尝试重新登录, 消息: user not exists
已经配置appid还是返回错误
作者已经修复了,你去下载源码,地址:https://ci.appveyor.com/project/iikira/baidupcs-go/build/artifacts。使用方法一样。
是不是新的.zip需要编译?如何编译啊
不需要编译,解压出来直接使用就好了。
这个问题好像很多人遇到了,我先观察下。
解压出来BaiduPCS-Go 然后cd BaiduPCS-Go显示-bash: cd: BaiduPCS-Go: Not a directory
如果你是用我给的链接解压出来后,是不需要进入文件夹的,因为没有,直接会解压出来可执行文件,直接使用命令就行了。
谢谢 成功了
上传速度如何
我测试的时候最高达到十几M,只是不稳,但还是很快的。
会不会有被封号的风险
应该不会,还没听说有人会被封号,对IP限速24小时的倒是有,可能下载很暴力。
给像我这样毫无基础的萌新详细说一下使用方法.大佬勿喷
一.进入脚本文件夹然后运行脚本.示例 下载根目录rats.xx文件cd /root/BaiduPCS*
二.在根目录直接运行脚本需要输入完整路径 .示例 下载根目录rats.xx文件./BaiduPCS-Go d rats.xx
——————————————————
BaiduPCS-Go-v3.5.5-linux-amd64/BaiduPCS-Go d rats.xx
或者
/root/BaiduPCS-Go-v3.5.5-linux-amd64/BaiduPCS-Go d rats.xx
你是大佬。
大佬你不要乱讲话.我真信了怎么办
不要怀疑你自己,对你没任何好处。