说明:今天折腾了下辣鸡的百度网盘,想从网盘上下点东西到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地址。
今天遇到报错,本想上 Github 看下 issue,结果发现项目挂了,还好对于个人项目我有备份的习惯
https://github.com/luoyemengchen/bash-backup
其实就算没备份,也可以搜的到fork的
github页面404了,大佬有没有备份?
居然404了,估计也慌了,给你找了个最新的git地址,别人fork的,https://github.com/felixonmars/BaiduPCS-Go
谢谢大佬了,之前问错了,想要个可执行文件,大佬有吗?
git都给你了,直接看:https://github.com/felixonmars/BaiduPCS-Go/releases
谢谢大佬,不熟悉github
你好,请问我如果想上传100G的文件,如何让程序在后台运行?
最简单的可以用nohup &,比如我要使用命令xx cc,挂后台就是nohup xx cc &
好像直接403了。。。。。
作者前两天都更新了,应该可以用,相信你可以的
最新版的好像不需要换app id
可以了,抱歉因为没有邮件通知没注意到已经回复。。。现在可以下载,但是速度好像只有100k左右。。。
不开超级会员还想要体验?
找朋友的会员试了。。感觉是国外服务器的问题。
帅帅的博主,帮我看看啊。目前我的连接都是正常的,列出网盘的目录也是正确的。
开始下载的时候,前几个文件还是正常的。
但是后来,就这样了:
[30] ----
类型 文件
文件路径 /X下载/loln/1.part29.rar
文件名称 1.part29.rar
文件大小 4293918720, 3.999023GB
md5 (可能不正确) 11ab4200ca30fa25290612c1fbf85832
app_id 250528
fs_id 41113301528578
创建日期 2019-05-28 16:39:18
修改日期 2019-09-22 14:54:31
[30] 准备下载: /X下载/loln/1.part29.rar
[30] 将会下载到路径: /baiduxiazai/158905467_tsinit2001/X下载/loln/1.part29.rar
[30] 下载文件错误, 403 Forbidden, 重试 2/3
重新启动VPS,还是这样。应该怎么折腾它呢?
账号被锁了还是啥?这个有答案,https://github.com/iikira/BaiduPCS-Go/issues/460,建议用这些工具的时候,最好开百度会员,不然很容易被限速
恩恩。果然是这样了。悲剧啊。
没缴纳保护费,被百度ban了。
官方客户端的速度,也跑不起来了。坑死。过几天等恢复吧。不再敢用这个了。
百度:白嫖还想要体验?
觉逼是心有灵犀啊。。。咱俩想的一样,所以刚刚我向李眼红缴纳25元嫖资了。
tql…tql,除了Google云端硬盘还有百度网盘
还有这个的web端程序
[1] ↓ 0B/2.29MB 38.60KB/s in 3s, left 1m0s .............
[1] 下载文件错误, ERROR: fatal internal error: write /root/GoogleDrive/1217604760_zfxlcj/IMG20140920160038.jpg: illegal seek, 重试 3/3
你好,大佬,请教,这个是什么错误?
你用了rclone挂载谷歌网盘后,直接当下载目录?如果是的话,那正常,挂载盘不支持直接写入,你可以下载到vps上,再移动到挂载盘。
是的,那需要怎么修改?请教大佬,第一次操作,很多不懂,谢谢指导
用文中的命令,把默认存储目录设置到vps其它目录,非挂载目录
保存百度云盘的文件路径和同步的路径不同,怎么操作进行上传呢?谢谢赐教
[1] ↓ 25.38MB/25.38MB 182.73KB/s in 13s, left 0s ..............
[1] 下载完成, 保存位置: /root/Downloads/1217604760_zfxlcj/学习强国.rar
[1] 检验文件有效性出错, 该文件不支持校验
任务结束, 时间: 14.003s, 数据总量: 0B
请教大佬,这个是下载成功了吗?
失败。
不会扒appid。。。求告知一个新的
方法貌似已经写在文中了
能自动上传到onedrive就好了