diff --git a/README.MD b/README.MD index 4d94cd7..f7dbfaf 100644 --- a/README.MD +++ b/README.MD @@ -3,9 +3,9 @@ 为停更的网易云音乐 NodeJs API 提供持续的维护!
## 灵感来自 @@ -26,8 +26,8 @@ ## 安装 ```shell -$ git clone https://github.com/IamFurina/NeteaseCloudMusicApiReborn.git -$ cd NeteaseCloudMusicApi +$ git clone https://github.com/NeteaseCloudMusicApiReborn/api.git +$ cd api $ pnpm install ``` @@ -449,6 +449,8 @@ banner({ type: 0 }).then((res) => { 312. 广播电台 - 电台信息 313. 广播电台 - 全部电台 314. 广播电台 - 收藏/取消收藏电台 +315. 获取歌曲解灰链接 +> 支持 `qq` `kuwo` `kugou` `migu` `pyncmd` 音源 ## 单元测试 diff --git a/module/song_url_unblock.js b/module/song_url_unblock.js new file mode 100644 index 0000000..8afbdbe --- /dev/null +++ b/module/song_url_unblock.js @@ -0,0 +1,30 @@ +// 网易云歌曲解灰 +// 支持qq音乐、酷狗音乐、酷我音乐、咪咕音乐、第三方网易云API等等(来自GD音乐台) + +const createOption = require('../util/option.js') + + +module.exports = async (query, request) => { + try { + const match = require("@unblockneteasemusic/server") + const source = ['pyncmd', 'kuwo', 'qq', 'migu', 'kugou'] + const result = await match(query.id, source) + console.log("[OK] 开始解灰", query.id, result) + return { + status: 200, + body: { + code: 200, + data: Array.isArray(result) ? result : [result], + }, + } + } catch (e) { + return { + status: 500, + body: { + code: 500, + msg: e.message || 'unblock error', + data: [], + }, + } + } +} \ No newline at end of file diff --git a/public/docs/_coverpage.md b/public/docs/_coverpage.md index dc76274..91011f5 100644 --- a/public/docs/_coverpage.md +++ b/public/docs/_coverpage.md @@ -1,13 +1,13 @@ -# 网易云音乐 API +# 网易云音乐 API Reborn -> 网易云音乐 NodeJS 版 API +> 为停更的网易云音乐 NodeJs API 提供持续的维护! -- 全部接口已升级到最新 +- 基于原版网易云API新增更多有趣的功能 - 具备登录接口,多达200多个接口 - 更完善的文档 -[GitLab](https://gitlab.com/Binaryify/NeteaseCloudMusicApi) +[Github](https://github.com/neteasecloudmusicapireborn/api) [Get Started](#neteasecloudmusicapi)  diff --git a/public/docs/home.md b/public/docs/home.md index 5223225..978276a 100644 --- a/public/docs/home.md +++ b/public/docs/home.md @@ -1564,6 +1564,18 @@ tags: 歌单标签 **调用例子 :** `/check/music?id=33894312` +### 获取客户端灰色歌曲链接 + +说明 : 技术来自于 [UnblockNeteaseMusic](https://github.com/unblockneteasemusic/server) 的支持, 聚合多个音源匹配(有几率匹配不成功) + +**必选参数 :** `id` : 音乐 id + `level`: 播放音质等级, 分为 `standard` => `标准`,`higher` => `较高`, `exhigh`=>`极高`, +`lossless`=>`无损`, `hires`=>`Hi-Res`, `jyeffect` => `高清环绕声`, `sky` => `沉浸环绕声`, `dolby` => `杜比全景声`, `jymaster` => `超清母带` + +**接口地址 :** `/song/url/unblock` + +**调用例子 :** `/song/download/url/v1?id=2155423468` + ### 搜索 说明 : 调用此接口 , 传入搜索关键词可以搜索该音乐 / 专辑 / 歌手 / 歌单 / 用户 , diff --git a/server.js b/server.js index 37b209d..fb75e04 100644 --- a/server.js +++ b/server.js @@ -1,3 +1,4 @@ +require("dotenv").config(); const fs = require('fs') const path = require('path') const express = require('express') @@ -8,7 +9,7 @@ const cache = require('./util/apicache').middleware const { cookieToJson } = require('./util/index') const fileUpload = require('express-fileupload') const decode = require('safe-decode-uri-component') -require("dotenv").config(); + /** * The version check result. * @readonly @@ -238,7 +239,7 @@ async function consturctServer(moduleDefs) { return request(...obj) }) console.log('[OK]', decode(req.originalUrl)) - +/* if (req.baseUrl === '/song/url/v1' || req.baseUrl === '/song/url') { const song = moduleResponse['body']['data'][0] if (song.freeTrialInfo !== null || !song.url || [1, 4].includes(song.fee)) { @@ -250,7 +251,7 @@ async function consturctServer(moduleDefs) { console.log("解灰成功!")// 对于Splayer来说,去除开通会员提示 } } - +*/ const cookies = moduleResponse.cookie if (!query.noCookie) {