国内的云盘接口一般都不公开,因此可玩性都不高,像 Rclone
中基本上都是国外的云盘,除了腾讯的 COS
和阿里的 OSS
,因为这两者都支持 S3 对象存储。
老苏年初买了个天翼云盘的会员,一直在寻找天翼云盘在群晖上使用的办法,目前找个两个开源项目,其中一个就是我们今天要折腾的 天翼云盘 CLI Python
,简称 cloud189-cli
。
项目的代码地址:https://github.com/Aruelius/cloud189
另一个项目是
cloudpan189-go
,从简介和功能看,除了开发语言不同,功能定位非常接近。有兴趣的可以在参考文档中找到代码地址。
生成镜像
cloud189-cli
这个项目本身没有提供 docker
镜像,所以老苏简单弄了一个,你可以直接下源代码自己编,也可以下载老苏已经编好的。
如果不打算自己编可以直接跳到下一个章节
Dockerfile
文件如下:
FROM python:3.8-slim
MAINTAINER laosu
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
文件放到代码根目录中,执行
# 构建镜像
docker build -t wbsu2003/cloud189-cli:v1 .
运行容器
和以往我们运行的容器不同,这是一个交互式的容器,需要我们在命令行输入账号和密码、以及一系列的命令,所以这次安装需要用命令行来执行
# 运行容器
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
表示列出详细列表
签个到,比手机端简单多了
[图片上传失败...(image-f1bd88-1624714807055)]
换一个账号登录
切换账号
更多的命令自己慢慢体验,详细的说明请看官方的 Wiki(https://github.com/Aruelius/cloud189/wiki)
进入容器
如果退出了容器、或者重启了机器之后,怎么再进入容器呢?
# 进入容器
docker exec --user root -it cloud189 /bin/bash
另一种方法可以不用每次都开启 SSH
客户端,就是我们以前常用的 「终端机」
然后执行 ./main.py
在「终端机」上也是一样的
需要说明的是,在「终端机」可能出现下面这样的提示
Fail to get terminal size, we got os.terminal_size(columns=0, lines=0), continue anyway? (y/N)
方法一:直接输入 y
就可以继续
方法二:停止容器,并在容器的环境变量中增加两个值
可变 | 值 |
---|---|
COLUMNS |
640 |
LINES |
480 |
启动容器进入「终端机」
退出容器
使用完成后,通过下面的命令可以退出容器操作
# 退出容器
exit 或者 ctrl+D
如果是在「终端机」上运行就不要退出了,因为退出会导致容器停止。
小结
虽然没有图形界面,但好在命令不多。可惜不能像 Rclone
一样 mount
,而且只能进入容器内操作,略显繁琐,期待作者后续的更新了。
参考文档
Aruelius/cloud189: 天翼云盘 CLI Python
地址:https://github.com/Aruelius/cloud189tickstep/cloudpan189-go: 天翼云盘命令行客户端(CLI),基于GO语言实现
地址:https://github.com/tickstep/cloudpan189-goAria2+天翼网盘——使用Aria2下载再自动上传到天翼网盘实现离线下载的功能 - 好鸭
地址:https://haoduck.com/698.html