The Go Programming Language
› http://golang.org/
› Go Playground
Go Projects
› Revel Web Framework
otokaze

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

  •  2
     
  •   otokaze ·
    otokaze · Mar 8, 2021 · 7518 views
    This topic created in 2074 days ago, the information mentioned may be changed or developed.

    一个不限速的天翼云网盘下载器。(支持分享链接下载、支持 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)
    
    38 replies  •  2021-03-18 11:04:44 +08:00
    Kagari
    Kagari
    Mar 8, 2021
    1
    liuxu
    liuxu
    Mar 8, 2021❤️6
    2
    v2 实名了吗,我记得前段时间写 baidu 客户端都被抓了,这里建议自首
    longxboy
    longxboy
    Mar 8, 2021
    3
    otokaze yyds!
    goodryb
    goodryb
    Mar 8, 2021
    4
    不错不错,不过天益云好像登录之后网页下载速度也很快,之前下过一次,能有 4MB
    xemtof
    xemtof
    Mar 8, 2021
    5
    天翼云下载本来就不限速啊
    otokaze
    otokaze
    OP
    Mar 8, 2021
    6
    @longxboy 虾哥牛🍺
    otokaze
    otokaze
    OP
    Mar 8, 2021
    7
    @xemtof 下载多了会限速,而且这个主要目的是能在 linux 跑,get 一下就能把分享目录里的所有内容都下载到本地,方便很多
    q197
    q197
    Mar 8, 2021
    8
    @otokaze 我超出每日免费限额了还是满速 难道是电信用户不限速?
    guyeu
    guyeu
    Mar 8, 2021❤️3
    9
    看成了天海翼,我还有救吗
    richzhu
    richzhu
    Mar 8, 2021
    10
    不是长久之计,NAS 还是要稳定第一
    thtznet
    thtznet
    Mar 8, 2021
    11
    可以加入上传么?这样可以作为 NAS 的备份盘用。
    lusi1990
    lusi1990
    Mar 8, 2021
    12
    等用户多了,就开始收割了
    shaopu
    shaopu
    Mar 8, 2021
    13
    不错,顺便让我看到这个良心网站 https://yun.hei521.cn/
    sherlockwhite
    sherlockwhite
    Mar 8, 2021
    14
    话说天翼云有什么地方可以发掘资源吗
    sherlockwhite
    sherlockwhite
    Mar 8, 2021
    15
    @shaopu 看到楼上这个了
    ji39
    ji39
    Mar 8, 2021
    16
    @lusi1990 天翼云收割?
    simple2025
    simple2025
    Mar 8, 2021
    17
    可惜我不用天翼网盘,不然我就 fork 一个 py 的
    lusi1990
    lusi1990
    Mar 8, 2021
    18
    @ji39 当然,用户多了, 服务器的开支就大了,不可能一直免费. 今天签到就给了 7 M
    lyhiving
    lyhiving
    Mar 8, 2021 via iPhone
    19
    @liuxu
    不要老是这样。
    没有创新是不行的。
    支持楼主
    pmlican
    pmlican
    Mar 8, 2021
    20
    问下楼主能不能加个批量转存功能,去年白嫖了一年的黄金会员,但还是有文件数量限制,要开通 vvip 才行。自己尝试过抓包接口写脚本,但获取批量转存 url 时 token 老是失效。我看了你的源码的登录模块,登录参数做了 rsa 加密,好奇问下那个公钥是在哪获取的。谢谢!
    otokaze
    otokaze
    OP
    Mar 8, 2021
    21
    @thtznet 目前我没上传的需求,而且天翼网盘不开会员就给的那么点空间,自己有 nas 完全没必要用到上传功能,不过你可以自己实现后给我提 pr 。
    otokaze
    otokaze
    OP
    Mar 8, 2021
    22
    @pmlican rsa 公钥从 Windows pc 版的登陆页上的 js 代码中获取 https://cloud.189.cn/unifyLoginForPC.action 就是这么神奇
    otokaze
    otokaze
    OP
    Mar 8, 2021
    23
    @pmlican 还有你为什么需要转存功能,直接下载下来不好么,通过 api 直接下载还可以突破 10g 大小的限制,下载链接我是实时获取的所以不用担心过期。
    pmlican
    pmlican
    Mar 8, 2021
    24
    @otokaze 因为去年的活动,直接送了 6T 的容量。自己没有 nas,另外保存到云盘可以在线观看。不过我发现天翼云盘在线播放做的不如百度云,在 mac 上 chrome 播放部分 mp4 黑屏没画面,safari 没问题,而且即使是黄金会员缓存速度都不如百度云未开会员。转存是为了第一能在线播放,第二是先转存防止分享链接失效过快。
    otokaze
    otokaze
    OP
    Mar 8, 2021
    25
    @pmlican 好 我有时间就添加下这个功能,别忘了 watch&star 项目,可以让你第一时间了解到更新。
    Dganzh
    Dganzh
    Mar 8, 2021
    26
    有 b*ai*du 云盘的吗,没开会员,想放 nas 慢慢下
    littlewing
    littlewing
    Mar 8, 2021
    27
    天翼网盘 有啥用
    cjd6568358
    cjd6568358
    Mar 8, 2021
    28
    可以开放 API 吗? 这样前端可以做页面
    otokaze
    otokaze
    OP
    Mar 8, 2021
    29
    @cjd6568358 不需要页面,要在 web 上操作还不如直接用官方的网页版。
    nelsonken
    nelsonken
    Mar 8, 2021
    30
    橙心考虑吗? wx: Z2s1MTA0NA==
    yongzhong
    yongzhong
    Mar 8, 2021
    31
    音风小伙,yyds!
    otokaze
    otokaze
    OP
    Mar 9, 2021
    32
    @pmlican 天翼云有对转存进行限制么??我转存了几十次每次都是批量 50+的任务都没触发限制啊
    hanguofu
    hanguofu
    Mar 9, 2021
    33
    楼主的旅游类的博文也写得挺好~~~
    pC0oc4EbCSsJUy4W
    pC0oc4EbCSsJUy4W
    Mar 9, 2021
    34
    提几个不成熟意见(或者需求)啊哈哈,别嫌弃哈啊哈
    1 天翼云盘最蛋疼的就是 nas 双向同步备份问题,相信很多人需求这个

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

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

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

    4 扩展性三:如果(基于 2 疑惑) aria2 下载更稳定更快的话,直接导出连接到本地 aria2 服务
    pmlican
    pmlican
    Mar 9, 2021
    35
    @otokaze 估计你转存的文件数量不多,我抓包看了请求的流程是 createBatchTask.action,创建任务获取 taskId,然后重复调用 checkBatchTask.action 检查状态,但返回信息没有说限制多少数量。我之前是卡在 createBatchTask 获取 taskId 失败,因为我 cookie 是抓包获取的,估计是没做登录实时获取 cookie 。你可以试下这个 https://cloud.189.cn/t/yIbuMnUFjmYz,c8hx
    otokaze
    otokaze
    OP
    Mar 9, 2021
    36
    @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
    otokaze
    OP
    Mar 9, 2021
    37
    @pmlican 那这种还是太小众了,一般用户触发不了这个限制,以及你的 cookie 问题,通过 api 刷新 cookie 需要有 access key (还是 sso 登陆那一套东西),不过你可以试着起个协程一直做心跳检查,可能会自续约 cookie 有效期也说不定。
    psllll
    psllll
    Mar 18, 2021
    38
    下载之后 sha256 和文件体积对不上,网页下载正常
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   3481 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 67ms · UTC 04:08 · PVG 12:08 · LAX 20:08 · JFK 23:08
    ♥ Do have faith in what you're doing.