无聊写了一个小米网盘服务的命令行终端

2020-09-22 22:04:11 +08:00
 wangbenjun5

众所周知,小米手机自带一个云服务,云服务里面有一个网盘功能,其实这个网盘最早是快盘,后来被小米收购了应该。

这个网盘类似百度云网盘,但是不能对外分享,可以算是私有网盘,但是其 PC 客户端比较垃圾,是采用祖传 chrome 套壳,node 写的,效率可想而知,于是乎我就抓了小米云服务网页版( https://i.mi.com/drive#/all )的接口写个命令行终端。

采用 100% Golang 编写,目前实现了,上传、下载、创建目录等功能,上传和下载支持异步批量模式,效率还是非常高滴!

Go@MiCloud:$ 
NAME:
   main - MiCloud Third Party Console Client Written By Golang

USAGE:
   main command [command options] [arguments...]

COMMANDS:
   login     登录小米云服务账号
   ls        列表当前目录所有文件和文件夹
   download  下载文件或者文件夹
   cd        改变当前目录,例如:cd movies
   upload    上传文件或者文件夹
   share     获取一个公共分享链接
   rm        删除文件或者文件夹,即放入回收站
   mkdir     创建目录
   tree      打印树型目录结构
   jobs      展示后台当前所有下载和上传任务
   help, h   Shows a list of commands or help for one command

OPTIONS:
   --help, -h     show help (default: false)
   --version, -v  print the version (default: false)
   

其中有一个独家功能(命令 share ),可以把网盘里面的文件生成一个公开的分享链接,提供给非小米登录用户下载,变相实现共享功能,小米这个网盘比百度云快多了,下载基本上能达到慢速。

感兴趣的可以试试!

https://github.com/wangbjun/go-micloud/blob/master/README.md

试用可点击下载编译好的执行文件: https://github.com/wangbjun/go-micloud/releases/tag/1.2

5178 次点击
所在节点    程序员
47 条回复
mengzhexin
2020-09-23 10:10:46 +08:00
@xishijt 开会员啊,比百度便宜
wangbenjun5
2020-09-23 10:13:36 +08:00
@xishijt 作为米粉肯定是要买会员的,白金好像是 200GB,其实并不贵。小米这个云盘和小米云服务一体的,比如同步手机照片,联系人等等。如果文件不多,放在上面还是挺靠谱的,安全可靠。
wangbenjun5
2020-09-23 10:14:14 +08:00
@edk24 好的,后续加上
mahone3297
2020-09-23 10:50:49 +08:00
我想要数据自动同步的功能。比如,本地 a 添加,自动同步到云。自动同步到本地 b
现在在用微云
百度网盘,可能为了数据安全,在云端删除,本地不会删。本地删除,云端好像也不会删。只有添加,会自动同步。

要实现上面的需求,lz 估计要写点代码,实现该需求

大家有这样的需求吗?是如何解决的?
renmu123
2020-09-23 11:03:01 +08:00
@mahone3297 这是 onedrive 杀手级功能
wangbenjun5
2020-09-23 11:03:33 +08:00
@mahone3297 你说的就是同步盘功能,类似坚果云和百度云这样的专业网盘。这块功能其实有考虑,之前小米有一个 PC 端,但是做的比较差劲,是用 js 写的,我的最终目标就是实现同步盘功能,下一步计划就做
solider245
2020-09-23 11:08:36 +08:00
@kokutou 这个不涉及到盗用,你做个客户端,相当于是帮他宣传,完全没问题呀。
@mahone3297 你这个需求最好是自己搭,要方便不少。
@xishijt 5G 放文件应该挺方便了吧?
kutear
2020-09-23 11:16:42 +08:00
最想要的还是微云的 cli
lepig
2020-09-23 11:18:25 +08:00
感谢分享,一直想写个这种东西。参考参考
caqiko
2020-09-23 11:34:29 +08:00
大佬如果能整出一个 GUI 客户端就好了…CLI 用起来还是不方便啊

现在用的小米云服务官方客户端,主要用一个便签同步功能…
lepig
2020-09-23 11:36:29 +08:00
命令行登录成功以后 咋退出啊?
撸个 exit 或者 quit 命令啊
wangbenjun5
2020-09-23 11:36:58 +08:00
@caqiko gui 太难了,我不会,以前想过用 qt 写,但是对 c++又不熟,放弃了,所以就整了个命令行版本
wangbenjun5
2020-09-23 11:37:25 +08:00
@lepig 目前是 Ctrl + d……
lepig
2020-09-23 11:40:29 +08:00
@wangbenjun5 好的 谢谢
caqiko
2020-09-23 11:43:53 +08:00
share 命令返回一个链接,复制到浏览器好像下载不了

#获取分享成功,有效期 24 小时,复制链接( http://t.wibliss.com?t=64fnl )到浏览器里面打开下载,请注意浏览器弹框!
caqiko
2020-09-23 11:44:37 +08:00
@caqiko 可以下载了…
xylophone21
2020-09-23 11:49:29 +08:00
@renmu123 现在已经不流行 dropbox 了吗?
yumenawei
2020-09-23 11:50:05 +08:00
@caqiko #35 我打开连接可以下载啊,是个 .ps1 的文件
wangbenjun5
2020-09-23 11:53:35 +08:00
@caqiko 这个下载是弹框,很多浏览器会阻止,需要允许
jasonqiao36
2020-09-23 12:22:49 +08:00
能下载云相册里面的照片吗

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/709568

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX