百度云命令行下载工具 BaiduPCS-Go 介绍

百度云的限速是困扰很多人的一个难题,网上也有各种各样的工具或教程来帮助想要“破解”限速的用户。

BaiduPCS-Go 就是一款使用Go语言编写的百度云命令行下载工具,实测有效,但有一些小坑,特此记录,以供有需要的用户查阅。

下载 BaiduPCS-Go

BaiduPCS-GoGithub上开源,如果你对源代码不感兴趣,可以点击这里进入下载页面,在最新的版本中找到符合你的平台的软件包进行下载。

下载页面

比如我使用的是Windows 64位平台,那我就下载 BaiduPCS-Go-v3.5.6-windows-x64.zip

下载好之后,找个地方进行解压。

解压的地址要选好,不要放到桌面或者其它很容易被清理掉的地方。解压之后记住软件的存放路径,后面我们要用的

现在,如果已经完成了这一系列操作,为了后面方便说明,这里我们假定软件的安装路径为:D:\Program Files\BaiduPCS-GO\,使用的命令行工具为PowerShell;

文件夹内的情形如下图所示:

baidupcsgo_folder.png

尝试运行

现在,打开PowerShell,输入这个命令:

cd "D:\Program Files\BaiduPCS-GO\"

cd是Change Dir的缩写,就是跳转路径的意思。这条命令是说,跳转到D:\Program Files\BaiduPCS-GO\这个目录下。

你可能发现了,我将路径用引号括了起来,这是一种安全的写法,但如果你的路径中没有空格,没有特殊字符,则不必加这个引号

进入该目录后,输入

.\BaiduPCS-Go.exe

这里你可以利用PowerShell的智能补全功能,输入一个bai然后按一下Tab键就可以快速补全命令。

这条命令就代表着我们从命令行直接启动BaiduPCS-Go.exe这个程序啦。

执行之后,你可以看到如下内容:

提示: 方向键上下可切换历史命令.
提示: Ctrl + A / E 跳转命令 首 / 尾.
提示: 输入 help 获取帮助.
BaiduPCS-Go >

出现这个就说明你的BaiduPCS-Go启动成功了。

你可能会觉得这样的启动方式很麻烦,还不如直接把BaiduPCS-Go.exe做个快捷方式放在桌面呢。

的确如此,但这是一个熟悉命令行的机会,更何况,这只是初次运行,后面我会提供一套简化命令的手段,来帮助你更快地启动这个应用。但是现在,先让我们来熟悉一下BaiduPCS-Go的基本操作吧。

实测下来,直接启动BaiduPCS-Go.exe不会即时弹出命令行界面,总要卡那么一会儿,这就不如从命令行启动来得快了

下载第一个文件

对于绝大多数人来说,百度云用得最多的地方就是下载。那么这里我们就以下载文件来带你了解一下BaiduPCS-Go的基本操作。

之前,我们已经启动了BaiduPCS-Go,现在我们要尝试下载百度云内的某个文件。那么在下载之前,我们先来理一下这个下载过程:

登录百度账号-->定位文件位置-->下载文件

登录百度云账号

BaiduPCS-Go >之后输入如下命令:

BaiduPCS-Go > login

回车之后出现:

请输入百度用户名(手机号/邮箱/用户名), 回车键提交 >

这就是登录交互了,输入用户名后就是输入密码,再之后就是进行账户验证,这一套流程就不详述了,这很简单,相信你能搞定。

在一切就绪后,如果你的命令行中出现了你的百度帐户名,那就说明登录成功了!

百度帐号登录成功: XXX
BaiduPCS-Go:/ XXX$

定位文件位置

在初次登录后,你所处的位置是你的百度云盘根目录,也就是你在登录网页版云盘后进去的那个目录。

我知道,你肯定不会牢牢记着你云盘内每一个文件以及它们的位置。在拥有可视化界面时,你可以明确知道当前目录下有什么东西,但在命令行里,乌漆嘛黑,你自己都不记得自己有哪些文件了。

在这种时候,我们就需要调出文件目录

在你的命令行内输入ls

BaiduPCS-Go:/ XXX$ ls

这个命令是通用的,即显示当前目录下有哪些文件。现在,在显示的文件列表中选一个文件吧。

下载文件

我们假设这个文件是 测试.txt,这个文件位于当前的根目录下,现在你想下载它,请输入如下命令:

BaiduPCS-Go:/ XXX$ d 测试.txt

回车之后,文件就开始下载啦!

云盘内有些文件名可能非常长,输入起来很麻烦,这种时候同样可以应用Tab键进行补全。但补全的前提条件是,你输入的字符已经足够让命令行判断你要找的文件是哪一个了,不然补全是不起作用的

在下载过程中你可以观察下载速度,虽然速度的波动可能比较大,但毫无疑问,速度是没受到限制的。

下载路径设置

如果你的第一次下载成功了,那么恭喜你!

但是你可能会有点奇怪,老子的下载的文件呢?跑哪去了!(╯▔皿▔)╯

莫慌,软件默认的下载路径就在你的软件目录内,现在你再打开D:\Program Files\BaiduPCS-GO\,在download文件夹内,有一个你的账户文件夹,打开来,里面就是你下载的文件了。

但是这样同样存在一个问题。就是这个路径并不是你想要的路径,尤其是你喜欢将下载文件单独放个文件夹或者放个硬盘的时候。

这样子我们就要来更改下载路径了。

接下来,我们就通过更改下载路径,来简单地了解一下软件的配置吧。

在命令行内输入config

BaiduPCS-Go:/ XXX$ config

命令行会显示软件可配置项,我们看到应用对每个项具体表示什么内容都做了描述,非常详细:

当前配置:
        名称                           值                       建议值                              描述
  appid              266719                                                 百度 PCS 应用ID
  enable_https       false                                       true       启用 https
  user_agent         netdisk;8.3.1;android-android                          浏览器标识
  cache_size         30000                                   1024 ~ 262144  下载缓存, 如果硬盘占用高或下载速度慢, 请尝试调大此值
  max_parallel       100                                       50 ~ 500     下载最大并发量
  max_download_load  1                                           1 ~ 5      同时进行下载文件的最大数量
  savedir            D:\Program Files\BaiduPCS-GO\Downloads                 下载文件的储存目录

其它的我们暂且不管,这里我们主要来修改下载保存地址。

可以看到,软件表明了,下载保存地址的字段是savedir

而如果想更改这个下载地址也很简单,假定我们要将保存地址更改为 E:\Download,那么可以在命令行输入:

BaiduPCS-Go:/ XXX$ config set -savedir=E:\Download

软件如果提示保存配置成功,那就说明你已经成功修改了下载地址了。


至此,BaiduPCS-Go最常用的功能和最基本的配置都讲完了。到这个时候,你或多或少已经可以运用这个有趣的命令行下载工具了吧。

但BaiduPCS-Go能做的远不止下载这么简单,如果我的讲解成功勾起了你的兴趣,那么可以访问其Github主页 或者命令行内输入 help了解更多。这就是你自己学习的过程了,好好享受。

退出BaiduPCS-Go,请按Ctrl+C

TIP

如果你对简化BaiduPCS-Go的启动感兴趣,请接着往下看

简化BaiduPCS-Go的启动命令

将软件地址加入环境变量Path

为了避免在启动应用时还要先输入软件路径,有一个简单的办法,就是环境变量。

环境变量这个东西,简单来说就是一些预设的参数,以供软件来调用,学习命令行,这个东西是必须要知道的。

现在,打开小娜,或者其它的什么搜索工具,输入环境变量,选择编辑系统环境变量

点开之后出现一个窗口,选择环境变量

baidupcsgo_systemproperty.png

系统变量中找到Path,点击编辑

baidupcsgo_env.png

将BaiduPCS-Go所在文件夹的路径加进去

baidupcsgo_envedit.png

添加完成后,一路保存+确定,到这里,就完成了一波基本操作了。

现在,你可以不用再输入软件路径了,直接打开PpowerShell,然后输入BaiduPCS-Go就能直接启动软件啦!(也可以用Tab键补全,输入更快!)

PowerShell不区分大小写,你写成baidupcs-go也是可以的

你可能还觉得麻烦,觉得还要输入Baidu...这些字符,能不能再简化一点?

可以是可以,但是这就要用到PowerShell的功能-别名了。

现在我们在命令行运行如下命令:

Set-Alias bdy BaiduPCS-Go

Set-Alias表示设置别名,这就跟我们给人起外号一样。现在借助这个命令,我对BaiduPCS-Go的启动命令进行了更进一步的简化,变成了bdy

现在你就可以输入bdy来直接启动BaiduPCS-Go了,这操作还行吧?

但是,我又要说但是了。

设置别名仅在当前的命令行窗口有效。换句话说,你关了这个PowerShell,再开一个,别名就无效了。

这咋办,总不能每次启动都手动输一次吧。

当然不用,事实上,你可以写一个脚本,来让PowerShell每次启动时都自动加载这个脚本。

下面跟我来操作:

  • 在命令行输入以下命令,并同意解禁:

    set-ExecutionPolicy RemoteSigned
    
  • 打开文件管理器,进入文档文件夹,找到WindowsPowerShell文件夹,没有就新建一个,在里面建立一个新文件,名字叫做Microsoft.PowerShell_profile.ps1,一定注意扩展名是ps1

  • 用记事本打开这个文件,在里面写上:

    Set-Alias bdy BaiduPCS-Go
    

做完这一切,就大功告成了。以后每次启动PowerShell,PowerShell都会自动加载这个脚本,你就可以直接使用bdy来启动BaiduPCS-Go了。

现在让我来解释一下这些操作的意思:

set-ExecutionPolicy RemoteSigned这个命令是更改PowerShell默认的安全策略,允许直接运行未签名的和别人的脚本,只有允许之后,PowerShell才可以直接加载脚本,否则会报错。

而之所以进入文档、建立脚本,原因就是这里是PowerShell默认执行脚本的地方,把脚本建在这里,PowerShell就会在开启时自动加载。

Set-Alias,设置别名,这个就不多说了。

如果你打开PowerShell的目的就是为了启动BaiduPCS-Go,那你直接在脚本里写上BaiduPCS-Go就可以了

至此,相信你已经要开始爽爽地用起来了吧。不过在真正开始使用之前,我要再告诉你一件事,来帮助你规避可能的封禁风险。

避免被屏蔽

百度云不是善茬,可不会让你随随便便就破解限速。使用BaiduPCS-Go固然让你体会到了不限速的爽快,但如果你就这样直愣愣地用下去,很可能过一段时间你就发现没办法下载了,软件会报一个错误:

403 Forbidden

出现这个就说明你偷税漏税的行为被百度云发现了,并直接屏蔽了你的下载请求。

这个事情还没有一个很完美的解决办法,但就目前来说,还是有方法可以规避这种风险的,亲测有效。

  1. 打开浏览器,登录百度云账号
  2. 用已登录百度账号的浏览器访问:神秘网址
  3. 网页会显示一条错误信息,不管它,进入你的百度云主页
  4. 在你的云盘中,有一个我的应用数据文件夹,现在里面会多出一个baidu_shurufa,牢牢记住这个文件夹
  5. 把你需要下载的文件移到这个文件夹里
  6. 命令行启动BaiduPCS-Go,输入以下命令(分条输入):
    cd /apps/baidu_shurufa
    config set -appid=265486S
    
  7. 现在就可以避免403错误了

结语

虽然百度的名声不太好,但坚挺到现在的网盘独此一家,可见其财力雄厚。网盘业务尚不具备良好的盈利能力,大家都是摸着石头过河,百度其实能挺到现在也颇为不易,若经济宽裕,不妨冲个会员支持一下。

切记!

不要拿着这个应用四处炫耀,不要以为自己找个工具破解了限速多么了不起,低调行事,量力而行才是长久之道。

与诸君共勉。