fix: expand getUrl API backends for Migu, Netease, GIT plugins

This commit is contained in:
miao-moe
2026-06-20 14:04:12 +08:00
parent f5cc0e3a1a
commit a65463217c
3 changed files with 90 additions and 6 deletions

View File

@@ -44,12 +44,64 @@ function buildApis(songId, q) {
extract: function(res) { return res && res.code === 200 && res.url ? res.url : null }
})
}
apis.push({
name: 'HUIBQ',
url: 'https://lxmusicapi.onrender.com/url/git/' + songId + '/' + q,
headers: { 'User-Agent': HEADERS_COMMON['User-Agent'], 'X-Request-Key': 'share-v3' },
extract: function(res) { return res && res.code === 0 && res.url ? res.url : null }
})
apis.push(
{
name: 'HUIBQ',
url: 'https://lxmusicapi.onrender.com/url/git/' + songId + '/' + q,
headers: { 'User-Agent': HEADERS_COMMON['User-Agent'], 'X-Request-Key': 'share-v3' },
extract: function(res) { return res && res.code === 0 && res.url ? res.url : null }
},
{
name: '星海',
url: 'https://music-api.gdstudio.xyz/api.php?types=url&source=git&id=' + songId + '&br=' + mapBr(q),
headers: HEADERS_COMMON,
extract: function(res) {
if (res && res.url) return res.url
if (res && res.data && res.data.url) return res.data.url
return null
}
},
{
name: '收集GIT',
url: 'https://kw-api.cenguigui.cn/api/song/url?id=' + songId + '&quality=' + q + '&source=git',
headers: HEADERS_COMMON,
extract: function(res) {
if (res && res.url) return res.url
if (res && res.data && res.data.url) return res.data.url
return null
}
},
{
name: 'fish',
url: 'https://m-api.ceseet.me/url/git/' + songId + '/' + q,
headers: HEADERS_COMMON,
extract: function(res) {
if (res && res.url) return res.url
if (res && res.data && res.data.url) return res.data.url
return null
}
},
{
name: '念心',
url: 'https://music.nxinxz.com/kgqq/git.php?id=' + songId + '&level=' + q + '&type=mp3',
headers: HEADERS_COMMON,
extract: function(res) {
if (res && res.url) return res.url
if (res && res.data && res.data.url) return res.data.url
return null
}
},
{
name: 'HYW',
url: 'https://music.bxa241d4.shop/api/music/url?source=git&songId=' + songId + '&quality=' + q,
headers: { 'User-Agent': HEADERS_COMMON['User-Agent'], 'X-Card-Key': 'TF-VSS0-8Y73-U1AW-GEXJ' },
extract: function(res) {
if (res && res.url) return res.url
if (res && res.code === 200 && res.data && res.data.url) return res.data.url
return null
}
}
)
return apis
}

View File

@@ -227,6 +227,16 @@ function buildApis(songId, q) {
if (res && res.code === 200 && res.data && res.data.url) return res.data.url
return null
}
},
{
name: 'XC',
url: 'https://music.xc2022.xyz/api/music/url?source=mg&id=' + songId + '&quality=' + q,
headers: HEADERS_COMMON,
extract: function(res) {
if (res && res.url) return res.url
if (res && res.data && res.data.url) return res.data.url
return null
}
}
)
return apis

View File

@@ -307,6 +307,26 @@ function unmsGetUrl(songId, quality) {
})
}
function xhGetUrl(songId, quality) {
var br = mapBr(quality)
var url = 'https://music-api.gdstudio.xyz/api.php?types=url&source=netease&id=' + encodeURIComponent(songId) + '&br=' + br
return httpGet(url, HEADERS_COMMON, 10000).then(function(res) {
if (res && res.url) return { url: res.url, platform: 'wy' }
if (res && res.data && res.data.url) return { url: res.data.url, platform: 'wy' }
throw new Error('no url')
})
}
function nxGetUrl(songId, quality) {
var br = mapBr(quality)
var url = 'https://music.nxinxz.com/kgqq/wy.php?id=' + encodeURIComponent(songId) + '&level=' + br + '&type=mp3'
return httpGet(url, HEADERS_COMMON, 10000).then(function(res) {
if (res && res.url) return { url: res.url, platform: 'wy' }
if (res && res.data && res.data.url) return { url: res.data.url, platform: 'wy' }
throw new Error('no url')
})
}
function getUrl(songId, quality) {
var apis = []
apis.push({ name: 'ceru', fn: ceruGetUrl })
@@ -314,6 +334,8 @@ function getUrl(songId, quality) {
apis.push({ name: 'lx', fn: lxGetUrl })
apis.push({ name: 'ymc', fn: ymcGetUrl })
apis.push({ name: 'unms', fn: unmsGetUrl })
apis.push({ name: 'xh', fn: xhGetUrl })
apis.push({ name: 'nx', fn: nxGetUrl })
apis.push({ name: 'official', fn: wyOfficialUrl })
var promises = []