使用 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 就是一个很好的例子。
订阅频道第一时间掌握作者博客的最新动态,获取更多的分享。