Skip to content

Latest commit

 

History

History
executable file
·
246 lines (228 loc) · 12.6 KB

README.md

File metadata and controls

executable file
·
246 lines (228 loc) · 12.6 KB

go-micloud

简介

小米云服务中网盘功能的命令行客户端,主要实现了登录、文件(夹)下载、上传、删除、分享等功能!

  • 登录这是模拟小米云服务Web端的登录逻辑
  • 首次登录需输入手机验证码,短暂离后线再上线的话可以实现自动登录
  • 账号密码本地会暂存,密码已加密,长时间不登录无需再输入账号密码
  • 命令支持tab自动补全
  • 独家特色分享功能,可以生成一个对外公开分享的链接,让非登录用户快速下载
  • 支持并发上传和下载,默认上传并发5个,下载并发10个

命令介绍

本工具采用Go语言开发,但是目前只支持Linux运行环境,Windows和Mac暂未测试,理论上应该是没问题的,感兴趣的同学可以测试一下。

一、login

登录小米云服务账号

所有的操作都需要登录小米云服务账号之后才可以进行,所以第一步就是登录,需要输入账号密码,以及首次登录需要的手机验证码。

不管咋样,当你执行login命令的时候,工具会尝试采用已经缓存的账号密码登录,如果失败则会采用第二种方式。

如果你采用了第二种方式登录,登录成功后,以后都不用输入账号密码了,工具会保存账号密码,不过请放心,密码是以加密的形式保存 ~/.micloud.json 配置里面,并且该工具绝对不会上传用户账号和密码,请大家放心。

二、ls

列出当前目录下的文件

total 13
d | ------ | 2018-10-26 12:51:07 | Doc
d | ------ | 2018-10-26 13:01:12 | Books
d | ------ | 2018-10-26 13:03:04 | Picture
d | ------ | 2018-10-26 13:03:10 | Package
- | 4.2 MB | 2019-12-23 17:13:12 | ProxifierSetup.exe
- | 71 MB  | 2019-12-23 17:20:11 | Geekbench-4.2.3-Linux.tar.gz
- | 69 MB  | 2019-12-23 17:20:56 | Postman-linux-x64-7.1.1.tar.gz
- | 259 MB | 2019-12-23 17:28:36 | wps-office_11.1.0.8722_amd64.deb
- | 140 MB | 2019-12-24 13:45:40 | navicat15-premium-en.AppImage
- | 1.9 MB | 2019-12-24 13:48:00 | Hacking_Device_v1.bik
- | 34 MB  | 2019-12-24 13:49:03 | ARM_Translation_Marshmallow.zip
- | 492 kB | 2019-12-24 13:49:09 | Baidu_Voice_RestApi_SampleCode.zip
- | 1.0 GB | 2019-12-24 13:53:30 | Deepin-Apps-Installation.zip

这个命令有点类似Linux系统下ls,只不过功能简单,没有额外参数,会显示文件类型、文件大小、创建时间、以及文件名。

三、cd

切换工作目录

cd <dir>

这个命令类似Linux下的cd,但是功能有限,大家体验一下就知道了。

四、download

下载当前目录下的一个文件或者文件夹,如果是文件夹则会递归下载目录里面的所有文件

download <file>
Go@MiCloud:~$ download Postman-linux-x64-7.1.1.tar.gz
[ Postman-linux-x64-7.1.1.tar.gz ]开始下载!
[ Postman-linux-x64-7.1.1.tar.gz ]下载成功!

下载文件的存放位置,默认是当前工具的运行目录,如需配置,可以在app.ini里面配置WORK_DIR

五、upload

上传一个文件或者文件夹到当前云盘所在目录,如果是文件夹则会递归上传目录里面的所有文件

upload <filepath>

路径必须是绝对路径,如 /home/jwang/abc.jpg。由于小米云服务web端的限制,目前单个文件最大限制4GB

六、share

生成一个对外公开分享的链接,类似网盘

share <file>

这个功能需要单独说下,理论上说小米网盘的文件只能自己下载,但是其实并不是,小米还是提供了入口,只不过没有对外开放,但是有限制,一些大文件的无法分享。

根据我测试,一般几百MB左右的文件还是可以分享出去的,链接有效期是24小时,不过下载速度非常快,也不用开会员。

Go@MiCloud:~$ share wps-office_11.1.0.8722_amd64.deb
获取分享链接成功(采用了短链接,有效期24小时): http://t.wibliss.com/BRfnl

七、rm

删除文件或者目录,实际上放入回收站,如果想真正删除,可以登录小米云盘官方网页,在回收站里面删除。

八、mkdir

在当前工作目录下创建一个新目录

Go@MiCloud:$ ls
total 6
d | ------ | 2018-10-26 12:51:07 | Doc
d | ------ | 2018-10-26 13:01:12 | Books
d | ------ | 2018-10-26 13:03:04 | Picture
d | ------ | 2018-10-26 13:03:10 | Package
d | ------ | 2020-08-22 16:58:31 | Movies
- | 1.9 kB | 2020-09-21 20:54:50 | main.go
Go@MiCloud:$ rm main.go
2020-09-21 20:54:53 #[ main.go ]删除成功
Go@MiCloud:$ mkdir 2222
2020-09-21 20:55:07 #[ 2222 ]创建成功
Go@MiCloud:$ ls
total 6
d | ------ | 2018-10-26 12:51:07 | Doc
d | ------ | 2018-10-26 13:01:12 | Books
d | ------ | 2018-10-26 13:03:04 | Picture
d | ------ | 2018-10-26 13:03:10 | Package
d | ------ | 2020-08-22 16:58:31 | Movies
d | ------ | 2020-09-21 20:55:07 | 2222
Go@MiCloud:$ 

九、tree

显示当前目录树结构,但是此命令只会展示已经进入过的目录

/
├── Doc
├── Books
├── Picture
│   ├── 10-11.jpg
│   ├── 10-10.jpg
│   ├── 10-13-beta.jpg
│   ├── 10-9.jpg
│   ├── 1493959153401.jpg
│   ├── 1493959163558.jpg
│   ├── 1493959172685.jpg
│   ├── 1493959186771.jpg
│   ├── 1493959197414.jpg
│   ├── wallPaper
│   │   ├── Solid Colors
│   │   ├── 1F51Q05K0-2.jpg
│   │   ├── 150505104113-9.jpg
│   │   ├── 150605101120-17.jpg
│   │   ├── 1F505102532-11.jpg
│   │   ├── 1493959163558.jpg
│   │   ├── 1493959186771.jpg
│   │   ├── 1493959197414.jpg
│   │   ├── El Capitan.jpg
│   │   ├── Elephant.jpg
│   │   ├── Flamingos.jpg
│   │   ├── Floating Ice.jpg
│   │   ├── Floating Leaves.jpg
├── Package
...
...
...

十、jobs

目前上传和下载都是异步的,jobs命令可以显示上传和下载的任务信息列表

Go@MiCloud:$ download WeGameMiniLoader.3.25.1.8081.gw.exe
2020-09-22 00:26:37 #添加下载任务: /WeGameMiniLoader.3.25.1.8081.gw.exe
Go@MiCloud:$ download navicat15-premium-en.AppImage
2020-09-22 00:26:39 #添加下载任务: /navicat15-premium-en.AppImage
Go@MiCloud:$ download phpStudy.zip
2020-09-22 00:26:42 #添加下载任务: /phpStudy.zip
Go@MiCloud:$ download main.go
2020-09-22 00:26:44 #添加下载任务: /main.go
Go@MiCloud:$ jobs
--------------------------------------------------------------------------------
任务状态 |状态信息 |文件总大小 |已处理大小 |文件名
--------------------------------------------------------------------------------
已完成   |下载成功     |34 MB    |34 MB    |phpStudy.zip
已完成   |下载成功     |4.3 MB   |4.3 MB   |WeGameMiniLoader.3.25.1.8081.gw.exe
已完成   |下载成功     |1.9 kB   |1.9 kB   |main.go
--------------------------------------------------------------------------------
下载中   |正在下载     |140 MB   |80 MB    |navicat15-premium-en.AppImage
--------------------------------------------------------------------------------
总任务 4 个,已完成 3 个, 待处理 0 个,处理中 1 个

也可以下载文件夹,会批量创建任务:

Go@MiCloud:$ download Books
...
...
...
Go@MiCloud:$ jobs
--------------------------------------------------------------------------------
任务状态 |状态信息   |文件总大小 |已处理大小 |文件名
--------------------------------------------------------------------------
已完成   |下载成功   |7.7 MB     |7.7 MB  |Vim实用技巧.pdf
已完成   |下载成功   |6.6 MB     |6.6 MB  |Go高级编程.pdf
已完成   |下载成功   |3.2 MB     |3.2 MB  |MySQL性能调优与架构设计--全册.pdf
已完成   |下载成功   |660 kB     |660 kB  |easy-swoole.pdf
已完成   |上传成功   |1.9 kB     |1.9 kB  |main.go
-----------------------------------------------------------------------
下载中   |正在下载   |105 MB     |22 MB   |Linux程序设计 中文第4版.pdf
下载中   |正在下载   |82 MB      |42 MB   |Laravel框架关键技术解析-陈昊.pdf
下载中   |正在下载   |80 MB      |4.7 MB  |啊哈!算法.pdf
下载中   |正在下载   |73 MB      |262 kB  |大话设计模式.pdf
下载中   |正在下载   |46 MB      |393 kB  |大话数据结构.pdf
下载中   |正在下载   |46 MB      |2.9 MB  |Linux就该这么学.pdf
下载中   |正在下载   |34 MB      |6.0 MB  |图解TCP_IP_第5版.pdf
下载中   |正在下载   |26 MB      |12 MB   |RESTful Web APIs.pdf
下载中   |正在下载   |16 MB      |704 kB  |Clean Code-代码整洁之道.pdf
下载中   |正在下载   |1.2 MB     |262 kB  |学习+Go+语言(Golang).pdf
-----------------------------------------------------------------------
待处理   |等待下载   |525 MB     |0 B     |深入理解计算机系统(原书第三版).pdf
待处理   |等待下载   |79 MB      |0 B     |汇编语言(第3版)王爽著.pdf
待处理   |等待下载   |76 MB      |0 B     |高性能mysql_第3版.pdf
待处理   |等待下载   |72 MB      |0 B     |计算机组成原理.pdf
待处理   |等待下载   |30 MB      |0 B     |黑客与画家.pdf
待处理   |等待下载   |14 MB      |0 B     |编程珠玑.pdf
待处理   |等待下载   |2.8 MB     |0 B     |浪潮之巅【必读】.pdf
待处理   |等待下载   |2.0 MB     |0 B     |深入理解PHP内核.pdf
待处理   |等待下载   |1.2 MB     |0 B     |阿里巴巴Java开发手册(详尽版).pdf
待处理   |等待下载   |108 kB     |0 B     |前端开发工程师-4年-夏恒.pdf
--------------------------------------------------------------------------------
总任务 25 个,已完成 15 个, 待处理 0 个,处理中 10 个

对于上传也是一样的操作:

Go@MiCloud:$ jobs
--------------------------------------------------------------------------------
任务状态 |状态信息         |文件总大小 |已处理大小 |文件名
--------------------------------------------------------------------------------
失败了   |单个文件不能大于4GB |23 GB      |0 B        |美国队长1.Captain.America.The.First.Avenger.2011.1080p.mkv
失败了   |单个文件不能大于4GB |20 GB      |0 B        |复仇者联盟3:无限战争.Infinity War.2018.2160p.mkv
失败了   |单个文件不能大于4GB |19 GB      |0 B        |Avengers.Endgame.2019.1080p.BluRay.x264.mkv
失败了   |单个文件不能大于4GB |17 GB      |0 B        |美国队长2.Captain.America.The.Winter.Soldier.2014.1080p.mkv
失败了   |单个文件不能大于4GB |15 GB      |0 B        |美国队长3.Captain.America.Civil.War.2016.1080p.mkv
失败了   |单个文件不能大于4GB |11 GB      |0 B        |复仇者联盟2:奥创纪元.Age.of.Ultron.2015.1080p.mp4
失败了   |单个文件不能大于4GB |8.4 GB     |0 B        |复仇者联盟1.The.Avengers.2012.2160P.mkv
失败了   |单个文件不能大于4GB |6.4 GB     |0 B        |奇异博士.Doctor.Strange.2016.BD1080P.mp4
失败了   |单个文件不能大于4GB |6.2 GB     |0 B        |无敌浩克.The.Incredible.Hulk.2008.1080P.mp4
--------------------------------------------------------------------------------
上传中   |计算文件哈希值   |2.5 GB     |0 B        |复仇者联盟4:终局之战.BD.720p.国英双语双字.mkv
上传中   |计算文件哈希值   |1.8 GB     |0 B        |蚁人.Ant.Man.2015.720p.mkv
上传中   |计算文件哈希值   |1.7 GB     |0 B        |蜘蛛侠:英雄归来.rmvb
上传中   |计算文件哈希值   |1.6 GB     |0 B        |惊奇队长.Captain Marvel.2019.BD.720p.mkv
上传中   |计算文件哈希值   |1.5 GB     |0 B        |蚁人2:黄蜂女现身. Ant-Man and the Wasp.2018.HD.720p.mkv
--------------------------------------------------------------------------------
待处理   |等待上传         |11 GB      |0 B        |钢铁侠3.Iron Man 3.2013.1080p.mkv
待处理   |等待上传         |11 GB      |0 B        |钢铁侠2.Iron Man 2.2010.1080p.mkv
待处理   |等待上传         |10 GB      |0 B        |钢铁侠1.Iron Man.2008.1080p.mkv
待处理   |等待上传         |3.4 GB     |0 B        |雷神.Thor.2011.720p.mkv
待处理   |等待上传         |3.1 GB     |0 B        |雷神3:诸神黄昏.mp4
待处理   |等待上传         |2.6 GB     |0 B        |雷神2:黑暗世界.mkv
待处理   |等待上传         |1.9 GB     |0 B        |黑豹.Black Panther.2018.BD.720p.mkv
待处理   |等待上传         |1.8 GB     |0 B        |银河护卫队2.Guardians of the Galaxy Vol.2.2017.BD.720p.mkv
待处理   |等待上传         |1.4 GB     |0 B        |银河护卫队.Guardians of the Galaxy.2014.BD.720p.rmvb
--------------------------------------------------------------------------------
总任务 23 个,已完成 18 个, 待处理 0 个,处理中 5 个