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-defaultsudo 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 -- 支持多个音乐平台的开源音乐服务的更多相关文章

  1. PHP原生开发的各大音乐平台API接口

    支持以下音乐平台 网易云音乐 QQ音乐 酷狗音乐 酷我音乐 虾米音乐 百度音乐 一听音乐 咪咕音乐 荔枝FM 蜻蜓FM 喜马拉雅FM 全民K歌 5sing原创 5sing翻唱 若是数据获取失败 方案一 ...

  2. Debug - 支持浏览器和 Node 平台的全端调试工具

    Debug 是一个跟踪调试消息的 JavaScript 库.因为它只是对 console.log 的包装,所以支持 Node 和浏览器.它允许你过滤日志输出而不需要改变你的源代码,也输出时间差异,可以 ...

  3. QtCreator动态编译jsoncpp完美支持x86和arm平台

    如果是做嵌入式开发. 在Qt下支持JSon最好的办法,可能不是采用qjson这个库.QJson这个库的实例只提供了x86环境下的编译方法. Installing QJson-------------- ...

  4. 第三方平台正式支持接入微信公众平台JS-SDK

    之前微信公众平台面向开发者开放微信内网页开发工具包,现在第三方平台也能正式支持接入微信公众平台JS-SDK了,第三方平台可以在获得公众号的授权后,通过JS-SDK帮助公众号开发和实现网页业务. 公众号 ...

  5. Spring Boot入门(13)自制音乐平台

      经过笔者这几天的辛勤劳作(其实就是苦逼地码代码),一个新的网站已经上线啦!该网站是用Spring Boot工具写的,主要实现的功能如下: 根据歌曲名称和音乐平台搜索歌曲,并实现歌曲的在线播放: 歌 ...

  6. 开源音乐下载神器XMusicDownloader更新,支持歌单一键下载,支持无损音乐

    开源音乐下载神器XMusicDownloader更新啦,新增网易.腾讯音乐歌单歌曲.歌手歌曲.专辑歌曲一键下载,同时支持下载flac无损音乐. 功能 V1.0 功能开源工具软件XMusicDownlo ...

  7. .NET平台下开源框架

    一.AOP框架Encase 是C#编写开发的为.NET平台提供的AOP框架.Encase 独特的提供了把方面(aspects)部署到运行时代码,而其它AOP框架依赖配置文件的方式.这种部署方面(asp ...

  8. 这个接口管理平台 eoLinker 开源版部署指南你一定不想错过

    本文主要内容是讲解如何在本地部署eoLinker开源版. 环境要求 1.PHP 5.5+ / PHP7+(推荐) 2.Mysql 5.5+ / Mariadb 5.5+ 3.Nginx(推荐) / A ...

  9. 这份接口管理平台 eoLinker 开源版的部署指南教程你一定不想错过

    本文主要内容是讲解如何在本地部署eoLinker开源版. 环境要求 1.PHP 5.5+ / PHP7+(推荐) 2.Mysql 5.5+ / Mariadb 5.5+ 3.Nginx(推荐) / A ...

随机推荐

  1. Atom远程连接服务器报错服务器版本和客户端版本不一致

    Atom远程连接服务器 报错信息: Server version is different than client version Original error message: Version mi ...

  2. AndroidStudio快捷键汇总

    最近开始全面转向Android Studio开发了,经常要去查快捷键,索性汇总下,自己方便查找 IDE 按键 说明 F1 帮助 Alt(Option)+F1 查找文件所在目录位置 Alt(Option ...

  3. Android手机监控软件设计实现

    一.需求分析: 随着IT信息技术的飞速发展,手机的普及,伴随着智能手机的出现及快速的更新换代,手机已不仅仅是一个通信工具,更是一个多功能的应用平台. 手机监控软件则是基于电脑监控软件的原理,植入手机平 ...

  4. Android蓝牙操作笔记

    蓝牙是一种支持设备短距离传输数据的无线技术.android在2.0以后提供了这方面的支持. 从查找蓝牙设备到能够相互通信要经过几个基本步骤(本机做为服务器): 1.设置权限 在manifest中配置 ...

  5. 【项目经验】如何用TexturePacker & Physicseditor开发游戏

    首先感谢Andreas的license.先广告一下Andreas. ------------------------------------------------------------------ ...

  6. CSDN上下载的一些关于Android程序调用Webservice执行不成功的问题

    今天从书上和CSDN上找了几个关于android调用webservice的样例,这些样例从代码来看.没不论什么错误,可是就是执行不成功.分析了android调用web接口的写法,发现这些样例在调用的时 ...

  7. c++ 怎样获取系统时间

    c++ 怎样获取系统时间 2008-04-28 15:34 //方案— 长处:仅使用C标准库:缺点:仅仅能精确到秒级 #include <time.h> #include <stdi ...

  8. CentOS下yum安装mysql,jdk以及tomcat

    首先说明,服务器是阿里云的,centos6.3_64位安全加固版.首先需要登陆进来,使用的是putty,因为最初的时候,Xshell登陆会被拒绝. 0. 创建个人文件夹 # 使用 yum 安装tomc ...

  9. PHP中的可变参数函数和可选参数函数

    1)可选参数函数.例如: <?phpfunction add($var1,$var2,$var3=0,$var4=0){ return$var1+$var2+$var3+$var4;}echo ...

  10. 【转】Adobe CC 的下载地址

    http://trials3.adobe.com/AdobeProducts/AEFT/12/win64/AfterEffects_12_LS20.7z http://trials3.adobe.co ...