在群晖上使用天翼云盘

国内的云盘接口一般都不公开,因此可玩性都不高,像 Rclone 中基本上都是国外的云盘,除了腾讯的 COS 和阿里的 OSS,因为这两者都支持 S3 对象存储。

老苏年初买了个天翼云盘的会员,一直在寻找天翼云盘在群晖上使用的办法,目前找个两个开源项目,其中一个就是我们今天要折腾的 天翼云盘 CLI Python,简称 cloud189-cli

项目的代码地址:https://github.com/Aruelius/cloud189

另一个项目是 cloudpan189-go,从简介和功能看,除了开发语言不同,功能定位非常接近。有兴趣的可以在参考文档中找到代码地址。

生成镜像

cloud189-cli 这个项目本身没有提供 docker 镜像,所以老苏简单弄了一个,你可以直接下源代码自己编,也可以下载老苏已经编好的。

如果不打算自己编可以直接跳到下一个章节

Dockerfile 文件如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
FROM python:3.8-slim
MAINTAINER laosu<wbsu2003@gmail.com>

WORKDIR /cloud189
COPY . /cloud189

# Environment
ENV TERM=xterm
RUN pip install -r requirements.txt

# Application
EXPOSE 80
ENV NAME cloud189-cli

CMD ["python3", "/cloud189/main.py"]

Dockerfile 文件放到代码根目录中,执行

1
2
# 构建镜像
docker build -t wbsu2003/cloud189-cli:v1 .

运行容器

和以往我们运行的容器不同,这是一个交互式的容器,需要我们在命令行输入账号和密码、以及一系列的命令,所以这次安装需要用命令行来执行

1
2
# 运行容器
docker run -i -t -p 4000:80 --name=cloud189 -v /volume1/docker/cloud189:/cloud189/downloads wbsu2003/cloud189-cli:v1

其中
-i:允许对容器内的标准输入进行交互;
-t:在新容器内启动一个终端;
--name=cloud189:容器名称为cloud189;

不需要先下载镜像,如果本地找不到会自动从 dockerhub 下载镜像

安装完成后按提示依次输入用户名和密码

验证通过后,会自动检测更新,有时候会出现错误,但只要出现 全部文件 > ,就表示可以使用了

官方有个命令的汇总表格

命令 描述
help 查看帮助文档
login 用户名+密码 登录/添加用户
clogin cookie 登录/添加用户
refresh 刷新当前目录
setpath 修改下载路径(默认 ./downloads)
update 检测软件更新
who/quota 查看账户信息、空间大小
clear 清屏
cdrec 进入回收站
[cdrec] ls 显示回收站目录
[cdrec] rec + 文件名 恢复文件
[cdrec] clean 清空回收站
[cdrec] cd .. 退出回收站
su + [-l/用户名] 列出用户/切换用户
ls + [-l] [文件夹] 列出文件与目录
cd + 文件夹名 切换工作目录
upload + 文件(夹)路径 上传文件(夹)
down + 文件名/分享链接 下载文件/提取分享链接下载直链
mkdir + 文件夹名 创建文件夹
rm + 文件/文件夹 删除文件(夹)
share + 文件/文件夹 分享文件(夹)
shared + [2] 已经分享文件(夹)信息
jobs + [-f] [任务id] 查看后台上传下载任务
rename + 文件(夹)名 [新名] 重命名
mv + 文件名 移动文件
sign + [-a/--all] 签到抽奖
bye/exit 退出

试试 ll

ll= ls -l 表示列出详细列表

签个到,比手机端简单多了

换一个账号登录

切换账号

更多的命令自己慢慢体验,详细的说明请看官方的 Wiki(https://github.com/Aruelius/cloud189/wiki)

进入容器

如果退出了容器、或者重启了机器之后,怎么再进入容器呢?

1
2
# 进入容器
docker exec --user root -it cloud189 /bin/bash

另一种方法可以不用每次都开启 SSH 客户端,就是我们以前常用的 「终端机」

然后执行 ./main.py

在「终端机」上也是一样的

需要说明的是,在「终端机」可能出现下面👇这样的提示

1
Fail to get terminal size, we got os.terminal_size(columns=0, lines=0), continue anyway? (y/N)

方法一:直接输入 y 就可以继续

方法二:停止容器,并在容器的环境变量中增加两个值

可变
COLUMNS 640
LINES 480

数字

启动容器进入「终端机」

退出容器

使用完成后,通过下面👇的命令可以退出容器操作

1
2
# 退出容器
exit 或者 ctrl+D

如果是在「终端机」上运行就不要退出了,因为退出会导致容器停止。

小结

虽然没有图形界面,但好在命令不多。可惜不能像 Rclone 一样 mount,而且只能进入容器内操作,略显繁琐,期待作者后续的更新了。

参考文档

Aruelius/cloud189: 天翼云盘 CLI Python
地址:https://github.com/Aruelius/cloud189

tickstep/cloudpan189-go: 天翼云盘命令行客户端(CLI),基于GO语言实现
地址:https://github.com/tickstep/cloudpan189-go

Aria2+天翼网盘——使用Aria2下载再自动上传到天翼网盘实现离线下载的功能 - 好鸭
地址:https://haoduck.com/698.html