feat: 支持解灰手动选择音源

This commit is contained in:
IamFurina 2025-07-22 20:31:04 +08:00 committed by ImFurina
parent 0c99618380
commit 0ee7b55f99
5 changed files with 13 additions and 6 deletions

2
.env
View File

@ -15,7 +15,7 @@ ENABLE_FLAC = true
## 启用无损音质时,是否选择音质最高的
SELECT_MAX_BR = true
## 音源设置
UNBLOCK_SOURCE = ['pyncmd','kuwo', 'qq', 'migu', 'kugou']
UNBLOCK_SOURCE = pyncmd,qq,kuwo,migu,kugou
## 严格按照配置音源设置顺序进行匹配
FOLLOW_SOURCE_ORDER = true
## Cookie设置项; 推荐在Vercel等平台进行环境变量的设置或者设置github secret

View File

@ -7,8 +7,10 @@ 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)
const source = query.source
? query.source.split(',') : ['pyncmd', '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;
console.log("[OK] 开始解灰", query.id, result)
if (result.url.includes('kuwo')) { result.proxyUrl = proxy + result.url }

View File

@ -7,8 +7,10 @@ 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)
const source = query.source
? query.source.split(',') : ['pyncmd', '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;
console.log("[OK] 开始解灰", query.id, result)
if (result.url.includes('kuwo')) { result.proxyUrl = proxy + result.url }

View File

@ -253,7 +253,8 @@ async function consturctServer(moduleDefs) {
const song = moduleResponse['body']['data'][0]
if (song.freeTrialInfo !== null || !song.url || [1, 4].includes(song.fee)) {
const match = require('@unblockneteasemusic/server')
const source = ['pyncmd','kuwo', 'qq', 'migu', 'kugou']
const source = process.env.UNBLOCK_SOURCE ? process.env.UNBLOCK_SOURCE.split(',') : ['pyncmd', 'kuwo', 'qq', 'migu', 'kugou']
console.log("开始解灰", source)
const { url } = await match(req.query.id, source)
song.url = url
song.freeTrialInfo = 'null'

2
tempCodeRunnerFile.js Normal file
View File

@ -0,0 +1,2 @@
const source = process.env.UNBLOCK_SOURCE ? process.env.UNBLOCK_SOURCE.split(',') : ['pyncmd', 'kuwo', 'qq', 'migu', 'kugou']
console.log("开始解灰", source)