美文网首页网络资料
BaiduPCS-Go | 百度网盘命令行工具(基于 Go)

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

作者: Mogeko丶 | 来源:发表于2018-02-08 12:01 被阅读0次
    Logo

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

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

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

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

    • 不需要 Aria2、IDM 等第三方软件
    • 自定义线程数(建议将最大线程数设置为 50 ~ 500,线程开太多会造成搞负载)
    • 支持通配符匹配路径 通配符-维基百科
    • 命(bi)令(ge)行(gao)

    BaiduPCS-Go 的 Github

    安装

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

    Releases

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

    BaiduPCS-Go.exe

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

    也可以在命令行中运行

    Run BaiduPCS-Go.exe

    在Android 与 iOS 上安装

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

    不同的是 Android 上没有原生的命令行,需要借助 TermuxNeoTerm 或 终端模拟器等 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 Login

    登录成功!

    BDUSS 登录

    获取百度 BDUSS

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

    BaiduPCS-Go login -bduss=[BDUSS]
    
    BaiduPCS-Go Login -bduss

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

    BaiduPCS-Go loglist
    
    loglist

    切换已登录的百度帐号

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

    退出已登录的百度帐号

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

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

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

    BaiduPCS-Go quota
    
    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 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 下部分中文无法正常输入。

    参考

    本文章参考了:

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


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

    相关文章

      网友评论

        本文标题:BaiduPCS-Go | 百度网盘命令行工具(基于 Go)

        本文链接:https://www.haomeiwen.com/subject/enfttftx.html