云乡

云之幻的个人博客

0%

百度云命令行下载工具 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,输入这个命令:

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

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

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

进入该目录后,输入

1
.\BaiduPCS-Go.exe

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

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

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

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

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

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

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

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

下载第一个文件

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

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

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

登录百度云账号

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

1
BaiduPCS-Go > login

回车之后出现:

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

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

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

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

定位文件位置

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

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

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

在你的命令行内输入 ls

1
BaiduPCS-Go:/ XXX$ ls

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

下载文件

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

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

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

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

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

下载路径设置

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

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

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

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

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

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

在命令行内输入 config

1
BaiduPCS-Go:/ XXX$ config

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

1
2
3
4
5
6
7
8
9
当前配置:
名称 值 建议值 描述
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,那么可以在命令行输入:

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

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


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

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

退出 BaiduPCS-Go,请按 Ctrl+C

如果你对简化 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 的功能 - 别名了。

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

1
Set-Alias bdy BaiduPCS-Go

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

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

但是,我又要说但是了。

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

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

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

下面跟我来操作:

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

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

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

    1
    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,输入以下命令(分条输入):
    1
    2
    cd /apps/baidu_shurufa
    config set -appid=265486S
  7. 现在就可以避免 403 错误了

结语

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

切记!

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

与诸君共勉。