V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
qq316107934
V2EX  ›  分享创造

写了一个新的非利用 CDN 的网易云音乐下架歌曲下载代理

  •  
  •   qq316107934 · 2016-06-16 11:26:27 +08:00 · 5793 次点击
    这是一个创建于 3074 天前的主题,其中的信息可能已经有所发展或是发生改变。

    netease-music-replacer

    网易把 CDN 清理了一遍后,原先的工具都没法用了,于是参考 tornado 代理自己撸了一个能试听下载下架音乐的 python 脚本。

    原理:代理后获取到音乐 id ,名字和作曲家后百度搜索找到有版权方并获得下载地址替换掉 404 结果,准确率挺高的。

    目前支持的版权方:虾米音乐,百度音乐。

    暂时只支持 PC 版云音乐,安卓版试了下会报 gzip 编码错误,如果有知道该如何修改的还请多多指教。

    有 bug 欢迎提 issue ,觉得有用的话可以 star ,谢谢! 由于你懂的原因,最好 clone 一份。

    仅供学习交流使用,拒绝快递水表,谢谢。

    github 地址: https://github.com/qq316107934/netease-music-replacer

    第 1 条附言  ·  2016-06-16 12:37:10 +08:00
    刚刚添加了 QQ 音乐和酷我音乐的支持,版权覆盖更广。
    第 2 条附言  ·  2016-06-17 12:37:59 +08:00
    @lslqtz 已经确认最新安卓端的返回数据采取了某种加密方式,虽然提交数据的加密方式网上已经有人破解,但返回无解,安卓端破解暂时无望了。
    22 条回复    2016-06-21 03:43:22 +08:00
    GPU
        1
    GPU  
       2016-06-16 13:42:21 +08:00
    这个错误处理得还不是很好 。日志总是卡住呢?
    qq316107934
        2
    qq316107934  
    OP
       2016-06-16 13:47:48 +08:00
    @GPU 能否提供下日志"卡住"部分的截图呢?我这边没有遇到过类似的情况。
    GPU
        3
    GPU  
       2016-06-16 13:55:25 +08:00
    @qq316107934 可能是我用了 nohup 把 错误日志都重定向到 普通日志里造成的 。

    不过我试了一下,好像打开五月天的列表 还是有很多黑色的。
    qq316107934
        4
    qq316107934  
    OP
       2016-06-16 13:57:13 +08:00 via Android
    @GPU 确认是 pc 版的客户端吗?脚本应该把所有的版权和下架标志移除了才对(⇀‸↼‶),或者是代理姿势不对?
    qq316107934
        5
    qq316107934  
    OP
       2016-06-16 13:59:51 +08:00 via Android
    @GPU 注意到 nohup ,如果是 linux 版的话 url hash 和 pc 版是不一样的,稍后会支持
    GPU
        6
    GPU  
       2016-06-16 14:00:11 +08:00
    @qq316107934 是 PC 版的啊 。用的是客户端自带的代理设置的。日志里面都看到一堆 return raw url
    GPU
        7
    GPU  
       2016-06-16 14:01:06 +08:00
    @GPU 还有就是我是把脚本放在 vps 运行 ,然后设置了 0.0.0.0 的 listen 地址的。
    qq316107934
        8
    qq316107934  
    OP
       2016-06-16 14:08:04 +08:00 via Android
    @GPU raw url 代表不需要经过脚本修改直接返回的数据, return url 是脚本处理过的,比如 batch , download , player 。有可能是 vps 在国外环境的锅,一会儿拿国外的 vps 试试。
    GPU
        9
    GPU  
       2016-06-16 14:09:34 +08:00
    @qq316107934 我用的是腾讯云 的。
    GPU
        10
    GPU  
       2016-06-16 14:19:41 +08:00
    @qq316107934 扫代理的太快了,这开了几分钟就有人用这个 ip 注册 qq 账户了。
    qq316107934
        11
    qq316107934  
    OP
       2016-06-16 14:24:47 +08:00 via Android
    @GPU 简直丧心病狂😂,准备加入域名过滤或者代理用户验证。在上汇编课,等下课了回去一起弄😂
    GPU
        12
    GPU  
       2016-06-16 14:26:17 +08:00
    @qq316107934 嗯 ,我本身连接代理也是用的域名。
    qq316107934
        13
    qq316107934  
    OP
       2016-06-16 18:00:34 +08:00
    @GPU <img src='' /> 没想到加上 HTTP 认证之后网易云无限崩溃,我也崩溃了...网易云程序的鲁棒性比想象的要差的多,感觉客户端代理有 bug 。

    另外我在自己的服务器上测试没问题:
    <img src='' />
    服务器域名 ms300 。 cn (换成半角) 端口是软件默认端口,测试完毕麻烦说一声,我关闭这个端口~
    虽然肯定是多余,但顺便问一句: requests 和 tornado 依赖下好了吗?
    GPU
        14
    GPU  
       2016-06-16 19:41:13 +08:00
    @qq316107934

    我知道我之前为什么说依然灰色了 ,因为我都是进入到歌手列表去查看的.

    但是我使用了你的列表之后, 搜索结果里本身灰色的歌确实是白色了,但是双击依然是无法播放的.
    GPU
        15
    GPU  
       2016-06-16 19:43:42 +08:00
    第一次重新设置你的代理后 ,可以双击播放了 . 但是出现了图片的"加载失败"
    GPU
        16
    GPU  
       2016-06-16 19:44:16 +08:00
    @GPU 第一次 --->> 第二次
    lslqtz
        17
    lslqtz  
       2016-06-16 21:39:08 +08:00 via iPhone
    网易云手机可以播放无版权,跟着直接抓地址啊。
    etnperlong
        18
    etnperlong  
       2016-06-17 21:36:40 +08:00 via Android
    新思路,不错。
    brobird
        19
    brobird  
       2016-06-17 23:58:00 +08:00
    @lslqtz 你有思路吗 说来听听
    hard2reg
        20
    hard2reg  
       2016-06-18 01:52:19 +08:00
    不错的方法哦!我对这个你这个项目很感兴趣!
    jackroyal
        21
    jackroyal  
       2016-06-18 23:29:16 +08:00
    mac 版本 能用吗?刚简单试了下,貌似不成功
    hard2reg
        22
    hard2reg  
       2016-06-21 03:43:22 +08:00
    @qq316107934 代理指定网站即可,其他的网站不允许代理。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   976 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 20:35 · PVG 04:35 · LAX 12:35 · JFK 15:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.