Project Israfil -- 支持多个音乐平台的开源音乐服务
Israfil
|关于|当前进度|开发日志|下载软件|编译|参与项目|编译状态|版权|协议|
LER0ever Project Israfil
Provide Unified Music Service for users in China.
由于版权问题,QQ音乐、网易云等音乐平台有部分歌曲无法播放。Project Israfil通过实现各大音乐平台的API来提供统一的音乐服务,消除因版权导致的不方便.
IN EARLY DEVELOPMENT
早期开发尚不可使用!
Project Israfil只是本人的练笔之作,为了熟悉一下Go语言和Qt的开发,研究音乐平台协议只是顺手 ;)
如本项目有侵权行为,请和我联系,我会立刻删除Repo
关于这个项目
IsrafilCore: (./IsrafilCore)C++11编写,提供音乐服务接口给IsrafilApp, 其他程序也可以自由调用此接口,开发中
Israfil App: Qt, QML, Material Design, 早期开发中。Israfil HTTP API: (./HttpAPI)独立子项目,Go语言编写,Go-Pie插件机制,适合部署到服务器端提供统一的API 目前完成了网易和qq的搜索与下载地址获取
Israfil 进度
开发日志及当前运行效果(持续更新)
当前代码量统计
已完成:
| 项目 | 协议 | 已完成 | 测试 | 完成时间 |
|---|---|---|---|---|
| IsrafilCore | 网易云音乐 | 获取图片和歌词地址 | test-netease | 2016-06-10 |
| IsrafilCore | 网易云音乐 | 获取Mp3地址函数生效,并合并入search | test-search | 2016-06-09 |
| IsrafilCore | 网易& QQ | 增加获取mp3,图片歌词的函数, 网易的加密暂时用Py实现 | - | 2016-06-09 |
| IsrafilCore | 网易云音乐 | 完成网易搜索,整合进Universal Search,结果尚未排序 | test-search | 2016-06-08 |
| IsrafilCore | 网易云音乐 | 原API通过EncryptID及dfsID计算MP3下载地址 | test-netease | 2016-06-07 |
| IsrafilCore | HTTPClient | 自定义header进行HTTP POST, 初步的网易搜索获得json | test-network | 2016-06-06 |
| IsrafilCore | QQ音乐 | 整合音乐结果到Universal Search并加入Json | test-qqmusic | 2016-06-04 |
| IsrafilCore | Universal | SongList搜索结果重编码为Json供qml调用 | test-qqmusic | 2016-06-04 |
| Israfil | 持续集成 | 完成全自动化编译+上传二进制文件 | - | 2016-06-03 |
| IsrafilCore | Universal | 封装QQ搜索至IsrafilCore | test-core | 2016-06-02 |
| IsrafilCore | QQ音乐 | 获得歌曲歌词、专辑图片及下载链接(包括无损) | test-qqmusic | 2016-06-02 |
| IsrafilCore | HTTPClient | 自定义header发送GET请求 | test-network | 2016-05-28 |
| HTTPAPI | QQ&网易 | 搜索歌曲获得详细信息以及获得下载链接 | - | 2016-04-15 |
进行中(按优先级排列):
| 项目 | 协议 | 功能 | 完成情况 | 开始时间 |
|---|---|---|---|---|
| IsrafilApp | UI | Qml-Material 界面设计,可能需要手动维护一份Fork | 30% | 2016-06-05 |
| IsrafilApp | Qml<->C++ | C++ 和 QML之间的caodan通讯 :( | 30% | 2016-06-04 |
| IsrafilCore | 虾米音乐 | 协议研究 | 60% | 2016-05-28 |
| IsrafilAPP | UI | qml-material 初步界面demo 及 qml文件的资源打包 | 60% | 2016-05-13 |
Israfil下载
LER0ever/Israfil-builds
- 直接点上面的链接↸↸↸,(前提是如果你完全不知道这整个页面在说什么的话,)上面的链接会带你去下载地址
- 注意,这个repo里的文件是本项目实时编译结果,尚在早期开发,下下来也没什么用
- Releases里的格式为“操作系统 - 编译工具链 - 版本号 - 时间戳”,如macx-clang-0.1.0.0003-115355
- 每次commit过后利用CI打Tag然后将Artifacts上传至Releases,Releases数量可能会较多,选择最近的二进制下载即可
- Windows的二进制已经被WinDeployQt撸过了,Linux 和 OS X的没有自带Qt库,Linux请用包管理安装(大多数发行版都自带了),Mac用户再说
Israfil编译
准备环境
Windows: Qt官网(qt.io)下载Qt For Windows并安装
Linux: sudo $包管理安装命令 qt5-default (如sudo apt-get install qt5-default, sudo pacman -S qt5)
OS X: brew install qt5 (需要手动加入环境变量) 或者官网下载安装包安装
编译
git clone https://github.com/LER0ever/Israfil
cd Israfil && mkdir build
cd build && qmake ..
make
或者用Qt-Creator打开Israfil.pro,Release模式构建所有项目.
Contributions are always welcome
See contribute.md
CI Status
| Platform | Qt & Compiler | Status |
|---|---|---|
| Linux | 5.6 Clang & GCC | |
| OS X | 5.6 Clang & GCC | |
| Windows | 5.5 MinGW gcc | |
| Android | 5.5 gcc androideabi |
Copyright
| 3rd party | License | Needed by | in source |
|---|---|---|---|
| papyros/qml-material | LGPL2 | IsrafilApp | Embedded in source |
| Qt Project | LGPL2 | IsrafilApp | Universal Dependency |
| JosephP91/curlcpp | MIT | IsrafilCore | Embedded in source |
| JieweiWei/md5 | Apache | IsrafilCore | Embedded in source |
| natefinch/pie | MIT | HttpAPI | Embedded in source |
| ddliu/go-httpclient | MIT | HttpAPI | Need manual go get |
网易云音乐API参考了网易云音乐API分析
网易云音乐新版API正在学习中...
Israfil中的歌曲和歌单版权归各大音乐平台所有
LICENSE
GNU GENERAL PUBLIC LICENSE V3
See Licence.md for details
Project Israfil -- 支持多个音乐平台的开源音乐服务的更多相关文章
- PHP原生开发的各大音乐平台API接口
支持以下音乐平台 网易云音乐 QQ音乐 酷狗音乐 酷我音乐 虾米音乐 百度音乐 一听音乐 咪咕音乐 荔枝FM 蜻蜓FM 喜马拉雅FM 全民K歌 5sing原创 5sing翻唱 若是数据获取失败 方案一 ...
- Debug - 支持浏览器和 Node 平台的全端调试工具
Debug 是一个跟踪调试消息的 JavaScript 库.因为它只是对 console.log 的包装,所以支持 Node 和浏览器.它允许你过滤日志输出而不需要改变你的源代码,也输出时间差异,可以 ...
- QtCreator动态编译jsoncpp完美支持x86和arm平台
如果是做嵌入式开发. 在Qt下支持JSon最好的办法,可能不是采用qjson这个库.QJson这个库的实例只提供了x86环境下的编译方法. Installing QJson-------------- ...
- 第三方平台正式支持接入微信公众平台JS-SDK
之前微信公众平台面向开发者开放微信内网页开发工具包,现在第三方平台也能正式支持接入微信公众平台JS-SDK了,第三方平台可以在获得公众号的授权后,通过JS-SDK帮助公众号开发和实现网页业务. 公众号 ...
- Spring Boot入门(13)自制音乐平台
经过笔者这几天的辛勤劳作(其实就是苦逼地码代码),一个新的网站已经上线啦!该网站是用Spring Boot工具写的,主要实现的功能如下: 根据歌曲名称和音乐平台搜索歌曲,并实现歌曲的在线播放: 歌 ...
- 开源音乐下载神器XMusicDownloader更新,支持歌单一键下载,支持无损音乐
开源音乐下载神器XMusicDownloader更新啦,新增网易.腾讯音乐歌单歌曲.歌手歌曲.专辑歌曲一键下载,同时支持下载flac无损音乐. 功能 V1.0 功能开源工具软件XMusicDownlo ...
- .NET平台下开源框架
一.AOP框架Encase 是C#编写开发的为.NET平台提供的AOP框架.Encase 独特的提供了把方面(aspects)部署到运行时代码,而其它AOP框架依赖配置文件的方式.这种部署方面(asp ...
- 这个接口管理平台 eoLinker 开源版部署指南你一定不想错过
本文主要内容是讲解如何在本地部署eoLinker开源版. 环境要求 1.PHP 5.5+ / PHP7+(推荐) 2.Mysql 5.5+ / Mariadb 5.5+ 3.Nginx(推荐) / A ...
- 这份接口管理平台 eoLinker 开源版的部署指南教程你一定不想错过
本文主要内容是讲解如何在本地部署eoLinker开源版. 环境要求 1.PHP 5.5+ / PHP7+(推荐) 2.Mysql 5.5+ / Mariadb 5.5+ 3.Nginx(推荐) / A ...
随机推荐
- cocos2d-x 纹理深入研究
转自:http://blog.csdn.net/qq51931373/article/details/9152227 1.纹理控制. 看此代码: CCSprite *pSprite = CCSprit ...
- C#-动态生成40个按钮,大小(20,20),要求每行6个放置
应该为for (int i=0;i<基本数据DataSet3.Tables [0].Rows .Count ;i++) { int ...
- nonce和timestamp在Http安全协议中的作用
前段时间给客户网站做新浪微博账号登录功能,对OAuth协议以及相关的一些安全协议做了一些研究,顺便就记录一下学习心得吧.在这里就不打算具体讲OAuth的协议流程了,而是针对OAuth请求头里的nonc ...
- 同时使用ADO与Excel类库冲突的问题
客户需要一个Demo程序实现Access数据库表导出到Excel表格,并将表中存储的照片(OLE对象)以其中一个字段(编号)命名存储到本地.程序中引入了ADO操作Access数据库("C:\ ...
- nopCommerce的源代码结构和架构
下载地址 nopcommerce的源代码很容易拿到,它是开源的,所以你可以直接到网上下载.下载地址:http://www.nopcommerce.com/downloads.aspx 因为nop是国外 ...
- ajax检查用户名
Ajax实现的效果 究竟Ajax能实现什么功能呢?今天下午学习了一下Ajax,现在跟大家分享一下我的学习心得.Ajax是什么?工作机制又是什么?可能不大准确,只是我个人看了视频学习后的一点点看法. A ...
- Java + MongoDB Hello World Example--转载
原文地址:http://www.mkyong.com/mongodb/java-mongodb-hello-world-example/ A simple Java + MongoDB hello w ...
- 关于JFace带复选框的树
树的复选框用CheckboxTreeViewer实现.由于其子类ContainerCheckedTreeViewer在没有选择全部子节点时可以自动将父节点设置成灰选,所以实现树的复选框更多的是用Con ...
- 【转载】TCL装载包和版本控制
转载来源:http://blog.chinaunix.net/uid-9967220-id-3033702.html package forget ?package package ...? ...
- C#扫盲之:==/Equals /ReferenceEquals 异同的总结,相等性你真的知道吗?
1.前言 == Equals ReferenceEquals 三个相等性测试,是.NET提供给程序员使用的三个方法,他们之间有什么联系和区别,你真的仔细研究过?虽然之前也多多少少知道一点,但是有时候又 ...