开源用 Go 写的一个天翼网盘的下载器(NAS 神器) - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
otokaze
V2EX    Go 编程语言

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

  •  2
     
  •   otokaze
    otokaze 2021-03-08 11:50:08 +08:00 6332 次点击
    这是一个创建于 1682 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一个不限速的天翼云网盘下载器。(支持分享链接下载、支持 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 条回复    2021-03-18 11:04:44 +08:00
    Kagari
        1
    Kagari  
       2021-03-08 12:08:28 +08:00
    liuxu
        2
    liuxu  
       2021-03-08 12:50:46 +08:00   6
    v2 实名了吗,我记得前段时间写 baidu 客户端都被抓了,这里建议自首
    longxboy
        3
    longxboy  
       2021-03-08 13:24:15 +08:00
    otokaze yyds!
    goodryb
        4
    goodryb  
       2021-03-08 14:02:02 +08:00
    不错不错,不过天益云好像登录之后网页下载速度也很快,之前下过一次,能有 4MB
    xemtof
        5
    xemtof  
       2021-03-08 14:03:51 +08:00
    天翼云下载本来就不限速啊
    td width="10" valign="top">
    otokaze
        6
    otokaze  
    OP
       2021-03-08 14:25:42 +08:00
    @longxboy 虾哥牛
    otokaze
        7
    otokaze  
    OP
       2021-03-08 14:29:22 +08:00
    @xemtof 下载多了会限速,而且这个主要目的是能在 linux 跑,get 一下就能把分享目录里的所有内容都下载到本地,方便很多
    q197
        8
    q197  
       2021-03-08 14:48:43 +08:00
    @otokaze 我超出每日免费限额了还是满速 难道是电信用户不限速?
    guyeu
        9
    guyeu  
       2021-03-08 15:03:47 +08:00   3
    看成了天海翼,我还有救吗
    richzhu
        10
    richzhu  
       2021-03-08 15:25:47 +08:00
    不是长久之计,NAS 还是要稳定第一
    thtznet
        11
    thtznet  
       2021-03-08 15:39:55 +08:00
    可以加入上传么?这样可以作为 NAS 的备份盘用。
    lusi1990
        12
    lusi1990  
       2021-03-08 15:48:22 +08:00
    等用户多了,就开始收割了
    shaopu
        13
    shaopu  
       2021-03-08 15:50:18 +08:00
    不错,顺便让我看到这个良心网站 https://yun.hei521.cn/
    sherlockwhite
        14
    sherlockwhite  
       2021-03-08 16:56:38 +08:00
    话说天翼云有什么地方可以发掘资源吗
    sherlockwhite
        15
    sherlockwhite  
       2021-03-08 16:56:57 +08:00
    @shaopu 看到楼上这个了
    ji39
        16
    ji39  
       2021-03-08 16:59:53 +08:00
    @lusi1990 天翼云收割?
    chenqh
        17
    chenqh  
       2021-03-08 17:00:14 +08:00
    可惜我不用天翼网盘,不然我就 fork 一个 py 的
    lusi1990
        18
    lusi1990  
       2021-03-08 17:06:10 +08:00
    @ji39 当然,用户多了, 服务器的开支就大了,不可能一直免费. 今天签到就给了 7 M
    lyhiving
        19
    lyhiving  
       2021-03-08 17:20:42 +08:00 via iPhone
    @liuxu
    不要老是这样。
    没有创新是不行的。
    支持楼主
    pmlican
        20
    pmlican  
       2021-03-08 17:25:01 +08:00
    问下楼主能不能加个批量转存功能,去年白嫖了一年的黄金会员,但还是有文件数量限制,要开通 vvip 才行。自己尝试过抓包接口写脚本,但获取批量转存 url 时 token 老是失效。我看了你的源码的登录模块,登录参数做了 rsa 加密,好奇问下那个公钥是在哪获取的。谢谢!
    otokaze
        21
    otokaze  
    OP
       2021-03-08 17:48:22 +08:00
    @thtznet 目前我没上传的需求,而且天翼网盘不开会员就给的那么点空间,自己有 nas 完全没必要用到上传功能,不过你可以自己实现后给我提 pr 。
    otokaze
        22
    otokaze  
    OP
       2021-03-08 17:58:59 +08:00
    @pmlican rsa 公钥从 Windows pc 版的登陆页上的 js 代码中获取 https://cloud.189.cn/unifyLoginForPC.action 就是这么神奇
    otokaze
        23
    otokaze  
    OP
       2021-03-08 18:01:46 +08:00
    @pmlican 还有你为什么需要转存功能,直接下载下来不好么,通过 api 直接下载还可以突破 10g 大小的限制,下载链接我是实时获取的所以不用担心过期。
    pmlican
        24
    pmlican  
       2021-03-08 18:19:48 +08:00
    @otokaze 因为去年的活动,直接送了 6T 的容量。自己没有 nas,另外保存到云盘可以在线观看。不过我发现天翼云盘在线播放做的不如百度云,在 mac 上 chrome 播放部分 mp4 黑屏没画面,safari 没问题,而且即使是黄金会员缓存速度都不如百度云未开会员。转存是为了第一能在线播放,第二是先转存防止分享链接失效过快。
    otokaze
        25
    otokaze  
    OP
       2021-03-08 18:25:23 +08:00
    @pmlican 好 我有时间就添加下这个功能,别忘了 watch&star 项目,可以让你第一时间了解到更新。
    Dganzh
        26
    Dganzh  
       2021-03-08 19:17:37 +08:00
    有 b*ai*du 云盘的吗,没开会员,想放 nas 慢慢下
    littlewing
        27
    littlewing  
       2021-03-08 19:46:12 +08:00
    天翼网盘 有啥用
    cjd6568358
        28
    cjd6568358  
       2021-03-08 19:48:41 +08:00
    可以开放 API 吗? 这样前端可以做页面
    otokaze
        29
    otokaze  
    OP
       2021-03-08 19:53:52 +08:00
    @cjd6568358 不需要页面,要在 web 上操作还不如直接用官方的网页版。
    nelsonken
        30
    nelsonken  
       2021-03-08 20:06:30 +08:00
    橙心考虑吗? wx: Z2s1MTA0NA==
    yongzhong
        31
    yongzhong  
       2021-03-08 20:46:12 +08:00
    音风小伙,yyds!
    otokaze
        32
    otokaze  
    OP
       2021-03-09 00:20:16 +08:00
    @pmlican 天翼云有对转存进行限制么??我转存了几十次每次都是批量 50+的任务都没触发限制啊
    hanguofu
        33
    hanguofu  
       2021-03-09 02:44:34 +08:00
    楼主的旅游类的博文也写得挺好~~~
    pC0oc4EbCSsJUy4W
        34
    pC0oc4EbCSsJUy4W  
       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
        35
    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
        36
    otokaze  
    OP
       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
        37
    otokaze  
    OP
       2021-03-09 19:00:48 +08:00
    @pmlican 那这种还是太小众了,一般用户触发不了这个限制,以及你的 cookie 问题,通过 api 刷新 cookie 需要有 access key (还是 sso 登陆那一套东西),不过你可以试着起个协程一直做心跳检查,可能会自续约 cookie 有效期也说不定。
    psllll
        38
    psllll  
       2021-03-18 11:04:44 +08:00
    下载之后 sha256 和文件体积对不上,网页下载正常
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3492 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 04:41 PVG 12:41 LAX 21:41 JFK 00:41
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86