开源用 Go 写的一个天翼网盘的下载器(NAS 神器)

2021-03-08 11:50:08 +08:00
 otokaze

一个不限速的天翼云网盘下载器。(支持分享链接下载、支持 Windows 、Linux 、macOS ) Based Go.
详细使用说明看: https://otokaze.me/2021/189cloud-downloader-written-with-golang.html

版本特色

NAME:
   189Cloud-Downloader - 一个 189 云盘的下载器。(支持分享链接)

USAGE:
   189Cloud-Downloader [global options] command [command options] [arguments...]

COMMANDS:
   login     登陆 189 账号
   logout    退出登陆
   exit      退出程序
   share     读取分享链接
   cd        切换至目录
   pwd       查看当前路径
   get       下载这个目录(递归)|文件
   ls        遍历目录(精简)
   ll        遍历目录(详细)
   userinfo  查看当前登录的用户信息
   help, h   Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --help, -h  show help (default: false)
5579 次点击
所在节点    Go 编程语言
38 条回复
otokaze
2021-03-08 17:48:22 +08:00
@thtznet 目前我没上传的需求,而且天翼网盘不开会员就给的那么点空间,自己有 nas 完全没必要用到上传功能,不过你可以自己实现后给我提 pr 。
otokaze
2021-03-08 17:58:59 +08:00
@pmlican rsa 公钥从 Windows pc 版的登陆页上的 js 代码中获取 https://cloud.189.cn/unifyLoginForPC.action 就是这么神奇
otokaze
2021-03-08 18:01:46 +08:00
@pmlican 还有你为什么需要转存功能,直接下载下来不好么,通过 api 直接下载还可以突破 10g 大小的限制,下载链接我是实时获取的所以不用担心过期。
pmlican
2021-03-08 18:19:48 +08:00
@otokaze 因为去年的活动,直接送了 6T 的容量。自己没有 nas,另外保存到云盘可以在线观看。不过我发现天翼云盘在线播放做的不如百度云,在 mac 上 chrome 播放部分 mp4 黑屏没画面,safari 没问题,而且即使是黄金会员缓存速度都不如百度云未开会员。转存是为了第一能在线播放,第二是先转存防止分享链接失效过快。
otokaze
2021-03-08 18:25:23 +08:00
@pmlican 好 我有时间就添加下这个功能,别忘了 watch&star 项目,可以让你第一时间了解到更新。
Dganzh
2021-03-08 19:17:37 +08:00
有 b*ai*du 云盘的吗,没开会员,想放 nas 慢慢下
littlewing
2021-03-08 19:46:12 +08:00
天翼网盘 有啥用
cjd6568358
2021-03-08 19:48:41 +08:00
可以开放 API 吗? 这样前端可以做页面
otokaze
2021-03-08 19:53:52 +08:00
@cjd6568358 不需要页面,要在 web 上操作还不如直接用官方的网页版。
nelsonken
2021-03-08 20:06:30 +08:00
橙心考虑吗? wx: Z2s1MTA0NA==
yongzhong
2021-03-08 20:46:12 +08:00
音风小伙,yyds!
otokaze
2021-03-09 00:20:16 +08:00
@pmlican 天翼云有对转存进行限制么??我转存了几十次每次都是批量 50+的任务都没触发限制啊
hanguofu
2021-03-09 02:44:34 +08:00
楼主的旅游类的博文也写得挺好~~~
fatelight
2021-03-09 07:55:38 +08:00
提几个不成熟意见(或者需求)啊哈哈,别嫌弃哈啊哈
1 天翼云盘最蛋疼的就是 nas 双向同步备份问题,相信很多人需求这个

2 疑惑:由于日常用 aria2 下载天翼云,基本 500M 宽带可以拉满,等一下试试速度

3 扩展性一:客户端能迅雷 bt 离线,是否可以抓包然后实现这个功能

4 扩展性二:TG bot 很好玩,通过 TG bot 控制本地 nas 下载,成熟的 TG bot 框架很多,基本可以套用不用造轮子

4 扩展性三:如果(基于 2 疑惑) aria2 下载更稳定更快的话,直接导出连接到本地 aria2 服务
pmlican
2021-03-09 10:07:19 +08:00
@otokaze 估计你转存的文件数量不多,我抓包看了请求的流程是 createBatchTask.action,创建任务获取 taskId,然后重复调用 checkBatchTask.action 检查状态,但返回信息没有说限制多少数量。我之前是卡在 createBatchTask 获取 taskId 失败,因为我 cookie 是抓包获取的,估计是没做登录实时获取 cookie 。你可以试下这个 https://cloud.189.cn/t/yIbuMnUFjmYz,c8hx
otokaze
2021-03-09 18:52:28 +08:00
@fatelight

回复 1:双向备份这个其实不是 downloader 工具应该具备的功能, 不过 idea 确实很好。可以根据 api 给的 file optime+filename 来实现,欢迎来提 pr 一起开发这个功能,不过到时估计项目得改名了😂
回复 2:本工具实现原理跟 aria2 是一样的,所以两者在下载速度上没啥区别,不过本工具完全因天翼网盘而生,所以更注重操作上的体验。
回复 3: 本工具只做网盘已有资源的下载。
回复 4: 可以定义几个接口跟 TG bot 的对接,但是我觉得没啥意义, 因为体验上来说跟终端无法比,你想做到远程控制 nas 进行下载,完全可以用 gotty ( go 写的 web ssh console )然后 screen -S 一个新会话随时随地下载。
回复 5:你导出链接到本地 aria2 其实也没啥意义,一个是天翼云获取的下载链接有时间淘汰机制,你没下个资源就发现后面的都不能下载了。还有一个就是针对文件夹嵌套的情况,你可以写油猴脚本递归获取到文件夹下的所有资源地址,但是重命名问题和保存文件路径上你会感到非常恶心。

有更加好的意见的话,可以在 github 上提 issue,等你~
otokaze
2021-03-09 19:00:48 +08:00
@pmlican 那这种还是太小众了,一般用户触发不了这个限制,以及你的 cookie 问题,通过 api 刷新 cookie 需要有 access key (还是 sso 登陆那一套东西),不过你可以试着起个协程一直做心跳检查,可能会自续约 cookie 有效期也说不定。
psllll
2021-03-18 11:04:44 +08:00
下载之后 sha256 和文件体积对不上,网页下载正常

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

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

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

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

© 2021 V2EX