小米云服务中网盘功能的命令行客户端,主要实现了登录、文件(夹)下载、上传、删除、分享等功能!
- 登录这是模拟小米云服务Web端的登录逻辑
- 首次登录需输入手机验证码,短暂离后线再上线的话可以实现自动登录
- 账号密码本地会暂存,密码已加密,长时间不登录无需再输入账号密码
- 命令支持tab自动补全
- 独家特色分享功能,可以生成一个对外公开分享的链接,让非登录用户快速下载
- 支持并发上传和下载,默认上传并发5个,下载并发10个
本工具采用Go语言开发,但是目前只支持Linux运行环境,Windows和Mac暂未测试,理论上应该是没问题的,感兴趣的同学可以测试一下。
登录小米云服务账号
所有的操作都需要登录小米云服务账号之后才可以进行,所以第一步就是登录,需要输入账号密码,以及首次登录需要的手机验证码。
不管咋样,当你执行login命令的时候,工具会尝试采用已经缓存的账号密码登录,如果失败则会采用第二种方式。
如果你采用了第二种方式登录,登录成功后,以后都不用输入账号密码了,工具会保存账号密码,不过请放心,密码是以加密的形式保存 ~/.micloud.json 配置里面,并且该工具绝对不会上传用户账号和密码,请大家放心。
列出当前目录下的文件
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 <dir>
这个命令类似Linux下的cd,但是功能有限,大家体验一下就知道了。
下载当前目录下的一个文件或者文件夹,如果是文件夹则会递归下载目录里面的所有文件
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 <filepath>
路径必须是绝对路径,如 /home/jwang/abc.jpg。由于小米云服务web端的限制,目前单个文件最大限制4GB
生成一个对外公开分享的链接,类似网盘
share <file>
这个功能需要单独说下,理论上说小米网盘的文件只能自己下载,但是其实并不是,小米还是提供了入口,只不过没有对外开放,但是有限制,一些大文件的无法分享。
根据我测试,一般几百MB左右的文件还是可以分享出去的,链接有效期是24小时,不过下载速度非常快,也不用开会员。
Go@MiCloud:~$ share wps-office_11.1.0.8722_amd64.deb
获取分享链接成功(采用了短链接,有效期24小时): http://t.wibliss.com/BRfnl
删除文件或者目录,实际上放入回收站,如果想真正删除,可以登录小米云盘官方网页,在回收站里面删除。
在当前工作目录下创建一个新目录
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:$
显示当前目录树结构,但是此命令只会展示已经进入过的目录
/
├── 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命令可以显示上传和下载的任务信息列表
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 个