使用 Rclone 操作 PikPak 资源(命令行下载 PikPak 文件)

发表于 更新于

前言

Rclone 是一个管理云存储文件的命令行工具,它的支持极为广泛,包括面向开发者的云储存技术、面向用户的各种网盘。数量高达 70 多种。PikPak 是一个网盘兼云下载器。它们二者可以结合使用,让下载更为便捷。

本文将告诉你怎么做。这是一篇新手向教程。过程十分简单!

效果

我想有必要提前说一下效果,否则 PikPak 用户可能会不知道这样做的意义。

假设我们在路由器上,如何下载 PikPak 的内容呢?复制下载链接吗?不,太麻烦了。我们用 rclone 命令,就像操作本地文件一样来操作 PikPak 上的资源。例如:

rclone copy -P my-pikpak:'My Pack'/my-video.mp4 .

上面的命令会将 PikPak 上的 My Pack/my-video.mp4 文件复制到当前目录。如果你是 PikPak 用户,想必对这个 My Pack 目录并不陌生。

类似的,复制不仅可以是下载,也可以是上传。将两个路径参数颠倒即可。更重要的是 Rclone 可以并行批量下载(例如整个目录),能突破速度限制甚至将宽带跑满。

奖励

如果你从我的文章中获得了帮助和知识,请使用我的邀请链接注册 PikPak。我会从中获得一点点的额度奖励。

配置

前先在你的路由器/NAS 或本机上安装 Rclone,这里不做讲解。然后在 Rclone 上配置登录一次即可。

使用 rclone config 命令进入配置交互:

No remotes found, make a new one?
n) New remote
s) Set configuration password
q) Quit config
n/s/q> n

上面的输出来自第一个交互询问,输入 n 表示创建新的远程配置。回车进入下一个步骤。

Enter name for new remote.
name> my-pikpak

上面是配置这个远程的名称,输入 my-pikpak 或任意文本。但我建议最好不要使用中文,且在命名中提及 pikpak 便于区分。

Option Storage.
Type of storage to configure.
Choose a number from below, or type in your own value.
XX / PikPak
   \ (pikpak)
Storage> XX

上面是一个省略的输出。这个步骤列出了所有 Rclone 支持的远程平台,每一个左边有一个数字编号。找到 PikPak 的编号(这里用 XX 表示),然后输入编号回车。因为 Rclone 的远程支持在不断变化,编号可能不会是一尘不变的。

Option user.
Pikpak username.
Enter a value.
user> xx@xx.com

上面要求你输入 PikPak 的用户名。但实际上 PikPak 网站的用户名相当于昵称,并不能用于登录。此处你应该输入注册时使用的邮箱或手机号(手机号加上区号,例如 +1)。

Option user.

Option pass.
Pikpak password.
Choose an alternative below.
y) Yes, type in my own password
g) Generate random password
y/g> y
Enter the password:
password:
Confirm the password:
password:

上面是一个输入密码的交互。先输入 y 表示手动指定密码而不是随机密码。然后你要输入两次密码,输入时不会显示任何内容,输入完了回车即可。

Edit advanced config?
y) Yes
n) No (default)
y/n>

这是最后一个有效对话,询问你是否要编辑高级配置。直接回车(表示否)即可。

Configuration complete.
Options:
- type: pikpak
- user: USERNAME
- pass: *** ENCRYPTED ***
- token: {"access_token":"eyJ...","token_type":"Bearer","refresh_token":"os...","expiry":"2023-01-26T18:54:32.170582647+09:00"}
Keep this "remote" remote?
y) Yes this is OK (default)
e) Edit this remote
d) Delete this remote
y/e/d>

上面是 Rclone 成功登录的输出,直接回车结束命令。

使用

这里有一些 Rclone 的基本使用方法。注意下文的 my-pikpak 是添加好的远程配置名称,如果你不是这个名称请相应的修改。同时这也意味着你可以添加数个 PikPak 且互相独立使用。

下载

效果章节所述,下载就是复制,上传也是。将远程文件复制到本地就是下载:

rclone copy -P my-pikpak:'My Pack'/my-video.mp4 .

这里的 copy 子命令表示复制,-P 表示显示进度,my-pikpak:'My Pack'/my-video.mp4 表示来源目录,. 是复制到的目标位置。

可以看出这条命令的结构和 Linux 上的 cp 命令是差不多的。从抽象的角度,操作硬盘是不存在上传或下载的,只有复制这一种操作。而 Rclone 可以让你操作网盘像操作本地硬盘那样便捷。

我们写一个简易的脚本,方便我们下载 PikPak 上的文件:

#!/usr/bin/env sh

clone copy -P "my-pikpak:'My Pack'/$1" .

将上面的脚本保存为 pikpak-dl.sh,像这样使用它:

./pikpak-dl.sh my-video.mp4

这样就我们就不需要每一次都指定 PikPak 路径了。因为 My Pack 目录有一个空格不适合命令行使用,所以我一种用 ' 将其包裹作为一个整体。调用此脚本的参数就是去掉了 My Pack 目录的远程文件路径,执行时会将文件下载到当前目录。

上传

上传就是把两个路径参数颠倒一下,例如:

rclone copy -P ./my-video.mp4 my-pikpak:'My Pack'/

这里的 ./my-video.mp4 就是当前目录的文件,my-pikpak:'My Pack'/ 就是我们要复制到的位置。

疑问

  • 为何你总是输入 My Pack,不麻烦吗?

    确实麻烦。你也可以复制到根目录使用,无视这个目录。但这个愚蠢的带空格的目录 PikPak 貌似不允许删除。

结束语

Rclone 的强大不仅如此,更多操作有待你们自行发掘(例如删除、同步文件、移动、创建等复杂整理)。结合其它工具(如定时调度)还可以轻松实现自动同步云盘内容到本地。

如果你是一个普通网民,应该能体会到不总是具有图形界面的软件才是方便的。这里的 Rclone 就是一个很好的例子。

作者头像 一点点入门知识 打赏作者
订阅我的 Telegram 频道

订阅频道第一时间掌握作者博客的最新动态,获取更多的分享。

本文由作者按照 CC BY 4.0 进行授权
分享: