fix: expand getUrl API backends for Migu, Netease, GIT plugins
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 = []
|
||||
|
||||
Reference in New Issue
Block a user