BaiduPCS-Go | 百度网盘命令行工具(基于 Go)

BaiduPCS-Go | 百度网盘命令行工具(基于 Go)_第1张图片
Logo

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

百度网盘自 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

安装

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

BaiduPCS-Go | 百度网盘命令行工具(基于 Go)_第2张图片
Releases
  • 下载 BaiduPCS-Go

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

BaiduPCS-Go | 百度网盘命令行工具(基于 Go)_第3张图片
BaiduPCS-Go.exe

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

也可以在命令行中运行

BaiduPCS-Go | 百度网盘命令行工具(基于 Go)_第4张图片
Run BaiduPCS-Go.exe

在Android 与 iOS 上安装

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

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

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

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

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

命令列表

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

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

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

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

登录

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

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

常规登陆

直接键入以下命令

BaiduPCS-Go login

然后依次输入 用户名密码

BaiduPCS-Go | 百度网盘命令行工具(基于 Go)_第5张图片
BaiduPCS-Go Login

登录成功!

BDUSS 登录

获取百度 BDUSS

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

BaiduPCS-Go login -bduss=[BDUSS]
BaiduPCS-Go | 百度网盘命令行工具(基于 Go)_第6张图片
BaiduPCS-Go Login -bduss

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

BaiduPCS-Go loglist
BaiduPCS-Go | 百度网盘命令行工具(基于 Go)_第7张图片
loglist

切换已登录的百度帐号

BaiduPCS-Go su -uid=[uid]
BaiduPCS-Go su
请输入要切换帐号的 index 值 >[index 值]
BaiduPCS-Go | 百度网盘命令行工具(基于 Go)_第8张图片
BaiduPCS-Go su

退出已登录的百度帐号

BaiduPCS-Go logout -uid=[uid]
BaiduPCS-Go logout
请输入要退出帐号的 index 值 > [index 值]
BaiduPCS-Go | 百度网盘命令行工具(基于 Go)_第9张图片
BaiduPCS-Go logout

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

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

BaiduPCS-Go quota
BaiduPCS-Go | 百度网盘命令行工具(基于 Go)_第10张图片
BaiduPCS-Go quota

文件/目录操作

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

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

切换工作目录

BaiduPCS-Go cd [目录]

输出当前所在目录

BaiduPCS-Go pwd

列出当前工作目录的文件和目录或指定目录

BaiduPCS-Go ls
BaiduPCS-Go ls [目录]

获取单个文件 / 目录的元信息 (详细信息)

BaiduPCS-Go meta [文件/目录]

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

创建目录

BaiduPCS-Go mkdir [目录]

删除 文件/目录

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

复制 文件/目录

BaiduPCS-Go cp [文件/目录] [目标 文件/目录]
BaiduPCS-Go cp [文件/目录1] [文件/目录2] [文件/目录3] ... [目标目录]

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

移动/重命名 文件/目录

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

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

下载文件

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

支持同时下载多个文件/目录

下载的文件默认保存到 程序所在目录download 目录下,你可以自定义储存目录

上传文件

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

注意:

  • 本地的目录要使用 \ 转义(两个反斜杠 \
  • **区别反斜杠 \ 和 斜杠 / **

例如:

# 将本地的 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 中,使用以下格式的命令进行设置

BaiduPCS-Go set OptionName Value

翻译一下就是

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

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

BaiduPCS-Go set -h
BaiduPCS-Go | 百度网盘命令行工具(基于 Go)_第11张图片
BaiduPCS-Go set

简单介绍一下

  • appid BaiduPCS-Go 的应用ID,一般没必要改
  • user_agent 浏览器标识,用来伪装成正版“百度云管家”的(如果能下载且速度不慢就没必要改)
  • cache_size 下载缓存大小,一般没必要改
  • max_parallel 最大线程数 -> 设置最大线程数
  • savedir 下载文件的储存目录 -> 设置自定义储存目录

自定义储存目录

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

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

例如:

# 设置保存目录, 保存到 D:\Downloads (注意两个反斜杠 "\" )
BaiduPCS-Go set savedir D:\\Downloads

设置最大线程数

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

设置方法

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

例如:

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

退出程序

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

已知问题

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

参考

本文章参考了:

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

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


原文地址:https://mogeko.github.io/2017/013
欢迎关注我的博客 (・ω・) ノ:Mogeko`s Blog

你可能感兴趣的:(BaiduPCS-Go | 百度网盘命令行工具(基于 Go))