• This repository has been archived on 28/Mar/2020
  • Stars
    star
    137
  • Rank 266,121 (Top 6 %)
  • Language
    C++
  • License
    GNU General Publi...
  • Created over 8 years ago
  • Updated about 8 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

DEVELOPMENT STALLED || Unified Music Service -- 通过实现各大平台API来消除因版权问题导致的音乐资源壁垒,支持网易云音乐、QQ、虾米等平台。

Israfil

neutrino license israfil AP

|关于|当前进度|开发日志|下载软件|编译|参与项目|编译状态|版权|协议|

LER0ever Project Israfil

Provide Unified Music Service for users in China.

尽可能解决因为独家版权导致听/下一首歌需要下5\6个app以及多个音乐平台间歌曲歌单同步困难等问题。 Project Israfil通过实现各大音乐平台的API来提供统一的音乐服务,消除因版权导致的不方便.

IN EARLY DEVELOPMENT

早期开发尚不可使用!!!

由于我长期在墙外,有些网络相关问题由于海外访问限制无法及时发现,敬请谅解!

Project Israfil只是本人的练笔之作,为了熟悉一下Go语言和Qt的开发,研究音乐平台协议只是顺手 ;)
如本项目有侵权行为,请和我联系,我会立刻删除Repo

关于这个项目

  • 目前支持的平台: Linux, Windows, macOS, Android. (按照兼容性从高到低),(iOS和FreeBSD理论上支持)
  • IsrafilCore: (./IsrafilCore)纯C++11编写,提供音乐服务接口给IsrafilApp, 其他程序也可以自由调用此接口,基本完成
  • Israfil App quick: 尝试用 QML 作UI, 开发中
  • IsrafilCLI(暂停): (./IsrafilCLI)独立子项目,Go语言编写,Go-Pie插件机制,适合部署到服务器端提供统一的API 目前完成了网易和qq的搜索与下载地址获取
Github: LER0ever/Israfil
国内镜像: 码云/LER/Israfil

Israfil 进度

开发日志及当前运行截图(持续更新)

目前已经可以边开发边用它听歌了!

没有人点上面的链接,所以这儿强行插一张截图:

左边为Windows Universal风格,右边为Material Design,可在P4设置中选择 scnsht 由于项目在早期开发,您可以点右上Watch接收项目开发动态提醒

当前代码量统计

任务列表:

加粗项代表正在开发的功能

  • IsrafilApp
    • UI(QML)
      • Qt5.7 QuickControls 2.0 UI界面
      • Qt MediaPlayer播放控制
      • Material Design界面初步
      • C++ 和 QML之间的caodan通讯 :(
  • IsrafilCore
    • 网易云音乐
      • 获取图片和歌词地址
      • 获取Mp3地址函数生效,并合并入search
      • 完成网易搜索,整合进Universal Search,结果尚未排序
      • Universal 歌单整合
      • 免登陆获取用户歌单
      • 跳进新API大坑
    • QQ音乐
      • 获得歌曲歌词、专辑图片及下载链接(包括无损)
      • 歌单相关操作,包括合并为Universal歌单
      • 整合音乐结果到Universal Search并加入Json
    • 天天动听
      • 搜索歌曲获得歌曲详情json
      • Universal整合
    • Universal
      • 封装QQ搜索至IsrafilCore
      • SongList搜索结果重编码为Json供qml调用
      • 整合搜索
    • HTTPClient
      • 自定义header发送GET请求
      • 自定义header进行HTTP POST, 初步的网易搜索获得json
  • IsrafilCLI (Golang 独立项目,暂停,推迟)
    • 网易&QQ:搜索歌曲获得详细信息以及获得下载链接
    • 基于termui的命令行界面
    • termui的editbox实现
    • 其他协议
  • 其他
    • 持续集成
      • 完成全自动化编译+上传二进制文件
      • Travis改用Qt5.7编译
      • 添加自动配置cython及网易新API

Israfil下载

LER0ever/Israfil-builds

  • 直接点上面的链接↸↸↸,(前提是如果你完全不知道这整个页面在说什么的话,)上面的链接会带你去下载地址
  • 目前编译脚本不支持macOS,主要是Qt 5.7的问题。
  • 注意,这个repo里的文件是本项目实时编译结果,尚在早期开发,下下来也没什么用
  • Releases里的格式为“操作系统 - 编译工具链 - 版本号 - 时间戳”,如macx-clang-0.1.0.0003-115355
  • 每次commit过后利用CI打Tag然后将Artifacts上传至Releases,Releases数量可能会较多,选择最近的二进制下载即可
  • Windows的二进制已经被WinDeployQt撸过了,Linux 和 OS X的没有自带Qt库,Linux请用包管理安装(大多数发行版都自带了),Mac用户再说

Israfil编译

项目依赖

子项目 所有依赖项
IsrafilCore C++, libcurl
IsrafilApp/quick C++, Qt5.7, IsrafilCore, 解码器
IsrafilCLI Golang

准备环境

由于用到了QtQuick.Controls 2.0 Qt最小要求版本为5.7

  • Windows: Qt官网(qt.io)下载Qt For Windows并安装
  • Linux:
sudo apt-add-repository --yes ppa:beineri/opt-qt57-trusty  
sudo apt-get -y update -qq  
sudo apt-get -y install qt57-meta-full
  • 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.7 GCC traviscistatus
OS X 5.6 Clang traviscistatus
Windows 5.7 MinGW gcc appvayorstatus
Android 5.5 gcc androideabi shield

Copyright

3rd party License Needed by in source
Qt Project LGPL2 IsrafilApp Universal Dependency
JosephP91/curlcpp MIT IsrafilCore Embedded in source
JieweiWei/md5 Apache IsrafilCore Embedded in source
ddliu/go-httpclient MIT HttpAPI Need manual go get

网易云音乐API参考了网易云音乐API分析
网易云音乐新版/eapi正在研究中...
Israfil中的歌曲和歌单版权归各大音乐平台所有

LICENSE

GNU GENERAL PUBLIC LICENSE V3
See Licence.md for details

More Repositories

1

EverVim

A Modern, Powerful & Modular Vim Distribution | Archived, see notice: https://ry.sb/evervim-archive
Vim Script
570
star
2

GRE-CN

GRE Preparation for Chinese students. 中文主导的GRE备考资料整理。
Batchfile
166
star
3

Hackintosh

macOS on PC, a collection
Shell
64
star
4

EvDev

Full-Featured Dockerized Development Environment
Shell
23
star
5

KickstartCMake

CMake starter template (C/C++)
C++
3
star
6

HPGO

Development of Project HPGO | Hybrid Parallelism Global Orchestration
3
star
7

Projects

Introductory Repo for my own git hosting
3
star
8

Toolkit

some of my useful scripts and tools
Go
2
star
9

dotfiles

My Dotfiles for Manjaro Linux and Nix OS on Thinkpad T460P and Desktop
Emacs Lisp
2
star
10

AOSC-DBK

Containerized Buildkit for whatever.
Shell
1
star
11

OSA

Open Source Agreements, including LICENSE, Contributors License Agreements (CLA), Patent Grant notice.
1
star
12

FDD

Futuristic Desktop Dashboard (WIP)
1
star
13

Presentations

Notes and Source code for my presentations at UW Madison
HTML
1
star
14

ImageGrid

Turns a square image into NxN grid
Go
1
star
15

ry.sb

https://ry.sb URL shortener, built with Netlify
1
star
16

oh-my-pkgs

My Presonal Build Script for Manjaro PKGBUILD and AOSC OS abbs.
Shell
1
star
17

ler0ever.github.io

L.E.R <Space> Website Source | 简体中文: https://rongyi.io | English: https://rongyi.io/en
CSS
1
star
18

Status

📈 Uptime monitor and status page for @LER0ever
Markdown
1
star
19

rongyi.ai

Academic Site @ https://rongyi.ai
HTML
1
star
20

LER0ever

1
star
21

Homepage

Website code for my Homepage: https://i.yirong.ml
CSS
1
star
22

AOSC-Bot

Telegram Bot in @AOSC-Dev for task automation
Go
1
star
23

aosc.vim

An unofficial Vim plugin for AOSC packaging and development
Vim Script
1
star
24

Swarm-Setup

Code that powers my server cluster
1
star