推荐一款命令行下高效管理百度网盘的神器 BaiduPCS-Go

Posted by Mike on 2019-01-08

提到百度网盘,想必大家都很熟悉吧。

百度网盘自 2012 年上线运行以来,迅速积累了大量用户。但是狗改不了吃屎,作为百度的产品,百度网盘现在是越来越恶心了,不给充钱就限速,官方居然还不承认(百度网盘 - 维基百科 )其实给免费账号限速也是可以理解的(毕竟别人也是要吃饭的,没有利润的产品肯定是走不远的)但百度居然给我限速到 20 KB/s!这还能用?!!

但人们的力量是强大的,被百度恶心到的用户们很快就找到了破解百度网盘限速的方法——多线程下载。你不是只给我 20 KB/s 吗?我开TM 500 个线程,一样把 10 M/s 的带宽占满。于是乎一大批第三方网盘拔地而起,例如:PanDownload(已停止运营)、Village(Android)、油猴脚本等。

今天介绍的 BaiduPCS-Go 也是其中一个,相比于其他第三方网盘,具有以下特点:

  • 不需要 Aria2、IDM 等第三方软件

  • 自定义线程数(建议将最大线程数设置为 50 ~ 500,线程开太多会造成搞负载)

  • 支持通配符匹配路径 通配符-维基百科

  • 命(bi)令(ge)行(gao)

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

安装

得益于 Go 的跨平台编译的特性,BaiduPCS-Go 几乎可以支持所有操作系统,只需要在 Releases 中选取合适的版本下载、运行就可以了

下载 BaiduPCS-Go

以 Windows 为例,根据我的电脑 CPU 下载并解压 BaiduPCS-Go-v3.2.1-windows-x86.zip

可以直接双击运行(进入 console 模式)

也可以在命令行中运行

在 Android 与 iOS 上安装

在 Android 上安装与在桌面上安装的思路差不多,都是 下载 -> 解压 -> (在命令行中)运行

不同的是 Android 上没有原生的命令行,需要借助 Termux 或 NeoTerm 或 终端模拟器等 APP,以提供终端环境。

详情请参考:Android 运行本 BaiduPCS-Go 程序参考示例

iOS 就比较特殊了,因为 iOS 系统的特殊性,需要越狱后才能提供相应的运行环境。

越狱后,在 Cydia 搜索下载并安装 MobileTerminal,以提供终端环境。

命令列表

在命令行中,在 BaiduPCS-Go.exe 所在的目录下,使用以下格式输入命令

1
BaiduPCS-Go [global options] command [command options] [arguments...]

简单的说就是以 BaiduPCS-Go 开头,后面跟具体的命令(参数)。

未带任何其他参数运行程序,则程序进入 console 模式。(光标前有 BaiduPCS-Go > 的前缀)console 模式下直接输入命令,不需要加 BaiduPCS-Go 的前缀。

登录

既然是第三方百度网盘,肯定要登录百度账号才能使用。

有两种方法可以登录,常规登录 和 BDUSS 登录

  • 常规登陆

直接键入以下命令

1
BaiduPCS-Go login

然后依次输入 用户名 和 密码

登录成功!

  • BDUSS 登录

首先获取百度 BDUSS,方法见: https://url.cn/5t4KOP8

获得 BDUSS 后,用以下命令登录([BDUSS] = 你取得的 BDUSS)

1
BaiduPCS-Go login -bduss=[BDUSS]

获取 当前账号 & 已有的账号

1
BaiduPCS-Go loglist

切换已登录的百度帐号

1
2
3
4
BaiduPCS-Go su -uid=[uid]

BaiduPCS-Go su
请输入要切换帐号的 index 值 >[index 值]

退出已登录的百度帐号

1
2
3
4
BaiduPCS-Go logout -uid=[uid]

BaiduPCS-Go logout
请输入要退出帐号的 index 值 > [index 值]

因为我只有一个百度账号,就不演示第二种退出方式了

获取配额(获取网盘总空间 和 已使用空间)

1
BaiduPCS-Go quota

文件/目录操作

对 目录、文件的操作与 Linux 命令行相似。

目录、文件名可以使用通配符(*)

  1. 切换工作目录
1
BaiduPCS-Go cd [目录]
  1. 输出当前所在目录
1
BaiduPCS-Go pwd
  1. 列出当前工作目录的文件和目录或指定目录
1
2
BaiduPCS-Go ls
BaiduPCS-Go ls [目录]
  1. 获取单个文件 / 目录的元信息 (详细信息)
1
BaiduPCS-Go meta [文件/目录]

如果没有指定的目录则默认为 获取根目录的元信息

  1. 创建目录
1
BaiduPCS-Go mkdir [目录]
  1. 删除 文件/目录
1
BaiduPCS-Go rm [文件或目录1] [文件或目录2] [文件或目录3] ...
  1. 复制 文件/目录
1
2
BaiduPCS-Go cp [文件/目录] [目标 文件/目录]
BaiduPCS-Go cp [文件/目录1] [文件/目录2] [文件/目录3] ... [目标目录]

复制文件/目录时,需确保每个文件/目录的有效性

  1. 移动/重命名 文件/目录
1
2
3
4
# 移动:
BaiduPCS-Go mv <文件/目录1> <文件/目录2> <文件/目录3> ... <目标目录>
# 重命名:
BaiduPCS-Go mv <文件/目录> <重命名的文件/目录>

移动/重命名文件/目录时,需确保每个文件/目录的有效性

下载文件

1
2
BaiduPCS-Go download [文件或目录1] [文件或目录2] [文件或目录3]...
BaiduPCS-Go d [文件或目录1] [文件或目录2] [文件或目录3]...

支持同时下载多个文件/目录,下载的文件默认保存到程序所在目录的 download 目录下,你也可以自定义储存目录。

上传文件

1
2
BaiduPCS-Go upload [本地文件或目录1] [文件或目录2] ... [网盘的目标目录]
BaiduPCS-Go u [本地文件或目录1] [文件或目录2] ... [网盘的目标目录]

注意:

  1. 本地的目录要使用 \ 转义(两个反斜杠 \)

  2. **区别反斜杠 \ 和 斜杠 / **

例如:

1
2
3
4
5
6
7
8
# 将本地的 C:\Users\Administrator\Desktop\1.mp4 上传到网盘 /视频 目录
# 本地的目录要使用 "\" 转义(两个反斜杠 "\")
# 注意区别反斜杠 "\" 和 斜杠 "/"
BaiduPCS-Go upload C:\\Users\\Administrator\\Desktop\\1.mp4 /视频
# 将本地的 C:\Users\Administrator\Desktop\1.mp4 和 C:\Users\Administrator\Desktop\2.mp4 上传到网盘 /视频 目录
BaiduPCS-Go upload C:\\Users\\Administrator\\Desktop\\1.mp4 C:\\Users\\Administrator\\Desktop\\2.mp4 /视频
# 将本地的 C:\Users\Administrator\Desktop 整个目录上传到网盘 /视频 目录
BaiduPCS-Go upload C:\\Users\\Administrator\\Desktop /视频

设置

在 BaiduPCS-Go 中,使用以下格式的命令进行设置

1
BaiduPCS-Go set OptionName Value

翻译一下就是

1
BaiduPCS-Go set [被设置的项目] [你设置的值]

让我们先来看一下有哪些项目可以被设置

1
BaiduPCS-Go set -h

简单介绍一下

  • appid BaiduPCS-Go 的应用ID,一般没必要改 user_agent 浏览器标识,用来伪装成正版“百度云管家”的(如果能下载且速度不慢就没必要改) cache_size 下载缓存大小,一般没必要改

  • max_parallel 最大线程数 -> 设置最大线程数

  • savedir 下载文件的储存目录 -> 设置自定义储存目录

  1. 自定义储存目录

下载文件默认保存在 程序所在目录 的 download 目录下,使用以下命令自定义储存目录

1
BaiduPCS-Go set savedir [储存目录的路径]

例如:

1
2
# 设置保存目录,保存到 D:\Downloads (注意两个反斜杠 "\" )
BaiduPCS-Go set savedir D:\\Downloads
  1. 设置最大线程数

理论上(在没有占满带宽的情况下),线程开得越多下得越快,同时占用资源越多;建议开到 50 ~ 500(下载速度不仅仅取决于线程数,也取决于带宽大小;如果增加带宽却没有提速,说明瓶颈在带宽上);如果觉得下载文件时电脑运行卡顿,就开小一点。

设置方法

1
BaiduPCS-Go set max_parallel [最大并发数]

例如:

1
2
# 设置下载最大并发数为 150
BaiduPCS-Go set max_parallel 150

退出程序

运行命令 quit 或 exit 或 组合键 Ctrl+C 或 组合键 Ctrl+D

已知问题

下载进度到最后的时候,下载速度会降低。
程序的 console 模式在 windows 下部分中文无法正常输入。

参考

本文章参考了:

  • GitHub - iikira/BaiduPCS-Go: 百度网盘工具箱 - Go 语言编写

使用第三方百度网盘是有风险的,如果你因为使用第三方百度网盘导致账号被封,本博客概不负责。

本文转载自:「Mogeko」,原文:https://url.cn/5RiCNQQ,版权归原作者所有。欢迎投稿,投稿邮箱: editor@hi-linux.com