VPS使用BaiduPCS-Go高速下载百度网盘的文件,支持上传/离线下载等操作

2018-09-19T10:51:00
当前页面是本站的「Baidu MIP」版。发表评论请点击:完整版 »

说明:今天折腾了下辣鸡的百度网盘,想从网盘上下点东西到VPS上,用到了博主之前分享过一个百度网盘的Python客户端BYPY,查看:VPS安装BYPY实现百度云文件上传/下载/同步,不过传输速度真的很慢,长期100KB不到,可能是我用国外服务器的缘故吧。然后无意间发现了另外一个客户端BaiduPCS-Go,基于Go编写,功能强大很多,还支持离线下载,关键是下载速度很快,比开了超级会员还爽。这里就分享下。

特色

  • 支持WindowsmacOSlinux、移动设备等。
  • 百度帐号多用户支持。
  • 下载网盘内文件,支持多个文件或目录下载,支持断点续传和单文件并行下载。
  • 上传本地文件,支持上传大文件(>2GB),支持多个文件或目录上传。
  • 离线下载,支持http/https/ftp/电驴/磁力链协议。

使用

Github地址:https://github.com/iikira/BaiduPCS-Go

1、下载BaiduPCS-Go
下载地址:点击查看,找到适合自己服务器的最新版本,这里以VPS64位系统为例。

#下载并解压程序,然后删除压缩文件
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+xy保存退出,然后运行脚本:

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地址