Compare commits

..

No commits in common. "d4ee3b88f8db78c829ad02f1516abd5b1cce81c5" and "bcda215a6cf55f4159ed194483fcba021081ef7a" have entirely different histories.

6 changed files with 64 additions and 33 deletions

View File

@ -2,11 +2,6 @@
name: Release
on:
push:
branches:
- main
tags:
- 'v*.*.*'
workflow_dispatch:
jobs:

View File

@ -18,7 +18,7 @@ module.exports = async (query, request) => {
let result = await request(
`/api/w/login/cellphone`,
data,
createOption(query, 'weapi'),
createOption(query),
)
if (result.body.code === 200) {

View File

@ -0,0 +1,38 @@
// 网易云歌曲解灰
// 支持qq音乐、酷狗音乐、酷我音乐、咪咕音乐、第三方网易云API等等(来自GD音乐台)
const createOption = require('../util/option.js')
const logger = require('../util/logger.js')
module.exports = async (query, request) => {
try {
const match = require('@unblockneteasemusic/server')
const source = query.source
? query.source.split(',')
: ['pyncmd', 'bodian', 'kuwo', 'qq', 'migu', 'kugou']
const server = query.server ? query.server.split(',') : query.server
const result = await match(query.id, !server ? source : server)
const proxy = process.env.PROXY_URL
logger.info('开始解灰', query.id, result)
const useProxy = process.env.ENABLE_PROXY || 'false'
if (result.url.includes('kuwo')) {
result.proxyUrl = useProxy === 'true' ? proxy + result.url : result.url
}
return {
status: 200,
body: {
code: 200,
data: result,
},
}
} catch (e) {
return {
status: 500,
body: {
code: 500,
msg: e.message || 'unblock error',
data: [],
},
}
}
}

View File

@ -1,7 +1,7 @@
{
"name": "@neteasecloudmusicapienhanced/api",
"version": "4.29.18",
"description": "A revival project for NeteaseCloudMusicApi Node.js Services (Half Refactor & Enhanced)|| 网易云音乐 API 备份 + 增强 || 本项目自原版v4.28.0版本后开始自行维护",
"version": "4.29.17",
"description": "为停更的网易云音乐 NodeJs API 提供持续的维护!",
"scripts": {
"dev": "nodemon app.js",
"start": "node app.js",
@ -84,7 +84,7 @@
},
"devDependencies": {
"@eslint/eslintrc": "^3.3.3",
"@eslint/js": "^9.39.2",
"@eslint/js": "^9.39.1",
"@types/express": "^5.0.6",
"@types/express-fileupload": "^1.5.1",
"@types/mocha": "^10.0.10",

42
pnpm-lock.yaml generated
View File

@ -58,8 +58,8 @@ importers:
specifier: ^3.3.3
version: 3.3.3
'@eslint/js':
specifier: ^9.39.2
version: 9.39.2
specifier: ^9.39.1
version: 9.39.1
'@types/express':
specifier: ^5.0.6
version: 5.0.6
@ -180,8 +180,8 @@ packages:
resolution: {integrity: sha512-BIhe0sW91JGPiaF1mOuPy5v8NflqfjIcDNpC+LbW9f609WVRX1rArrhi6Z2ymvrAry9jw+5POTj4t2t62o8Bmw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/js@9.39.2':
resolution: {integrity: sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA==}
'@eslint/js@9.39.1':
resolution: {integrity: sha512-S26Stp4zCy88tH94QbBv3XCuzRQiZ9yXofEILmglYTh/Ug/a9/umqvgFtYBAo3Lp0nsI/5/qH1CCrbdK3AP1Tw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/object-schema@2.1.7':
@ -857,8 +857,8 @@ packages:
resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==}
engines: {node: '>=18'}
es-abstract@1.24.1:
resolution: {integrity: sha512-zHXBLhP+QehSSbsS9Pt23Gg964240DPd6QCf8WpkqEXxQ7fhdZzYsocOr5u7apWonsS5EjZDmTF+/slGMyasvw==}
es-abstract@1.24.0:
resolution: {integrity: sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==}
engines: {node: '>= 0.4'}
es-define-property@1.0.1:
@ -2088,15 +2088,15 @@ packages:
engines: {node: '>=10'}
hasBin: true
send@1.2.1:
resolution: {integrity: sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==}
send@1.2.0:
resolution: {integrity: sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==}
engines: {node: '>= 18'}
serialize-javascript@6.0.2:
resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==}
serve-static@2.2.1:
resolution: {integrity: sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==}
serve-static@2.2.0:
resolution: {integrity: sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==}
engines: {node: '>= 18'}
set-blocking@2.0.0:
@ -2615,7 +2615,7 @@ snapshots:
'@eslint/js@9.39.0': {}
'@eslint/js@9.39.2': {}
'@eslint/js@9.39.1': {}
'@eslint/object-schema@2.1.7': {}
@ -2962,7 +2962,7 @@ snapshots:
array-buffer-byte-length: 1.0.2
call-bind: 1.0.8
define-properties: 1.2.1
es-abstract: 1.24.1
es-abstract: 1.24.0
es-errors: 1.3.0
get-intrinsic: 1.3.0
is-array-buffer: 3.0.5
@ -3356,7 +3356,7 @@ snapshots:
environment@1.1.0: {}
es-abstract@1.24.1:
es-abstract@1.24.0:
dependencies:
array-buffer-byte-length: 1.0.2
arraybuffer.prototype.slice: 1.0.4
@ -3695,8 +3695,8 @@ snapshots:
qs: 6.14.0
range-parser: 1.2.1
router: 2.2.0
send: 1.2.1
serve-static: 2.2.1
send: 1.2.0
serve-static: 2.2.0
statuses: 2.0.2
type-is: 2.0.1
vary: 1.1.2
@ -4770,7 +4770,7 @@ snapshots:
dependencies:
call-bind: 1.0.8
define-properties: 1.2.1
es-abstract: 1.24.1
es-abstract: 1.24.0
es-errors: 1.3.0
es-object-atoms: 1.1.1
get-intrinsic: 1.3.0
@ -4854,7 +4854,7 @@ snapshots:
semver@7.7.3: {}
send@1.2.1:
send@1.2.0:
dependencies:
debug: 4.4.3
encodeurl: 2.0.0
@ -4874,12 +4874,12 @@ snapshots:
dependencies:
randombytes: 2.1.0
serve-static@2.2.1:
serve-static@2.2.0:
dependencies:
encodeurl: 2.0.0
escape-html: 1.0.3
parseurl: 1.3.3
send: 1.2.1
send: 1.2.0
transitivePeerDependencies:
- supports-color
@ -5049,7 +5049,7 @@ snapshots:
call-bound: 1.0.4
define-data-property: 1.1.4
define-properties: 1.2.1
es-abstract: 1.24.1
es-abstract: 1.24.0
es-object-atoms: 1.1.1
has-property-descriptors: 1.0.2
@ -5220,7 +5220,7 @@ snapshots:
dependencies:
call-bind: 1.0.8
define-properties: 1.2.1
es-abstract: 1.24.1
es-abstract: 1.24.0
es-errors: 1.3.0
get-proto: 1.0.1
math-intrinsics: 1.1.0

View File

@ -255,9 +255,7 @@ $ sudo docker run -d -p 3000:3000 netease-music-api
!> ~~二开作者再注: 现在二维码登录也无法使用了, 网易云官方最近查的太严了, 现在尝试调用会提示环境异常, 如果各位有绕过的方法请一定开`Pull Request`~~
!> ~~二开作者注: 二维码登录现在是修复了, 但是密码登录和短信登录还是不行, 如果各位有绕过的方法请一定开`Pull Request`~~
!> 二开作者注: 在`v4.29.18`版本中修复了密码登录和短信登录的问题, 现在可以正常使用了
!> 二开作者注: 二维码登录现在是修复了, 但是密码登录和短信登录还是不行, 如果各位有绕过的方法请一定开`Pull Request`
#### 1. 手机登录