feat(proxyUrl): 支持代理酷我资源, 需自己部署反向代理

This commit is contained in:
IamFurina 2025-07-20 17:50:46 +08:00 committed by ImFurina
parent de01a55aa2
commit 0c99618380
5 changed files with 20 additions and 3 deletions

7
.env
View File

@ -1,7 +1,12 @@
# CORS资源共享设置
### CORS资源共享设置
## 如果你需要配置, 请取消下面的注释并设置具体的域名
# CORS_ALLOW_ORIGIN = "*"
### 代理设置
## 如果你需要配置, 请取消下面的注释并设置具体的代理地址
PROXY_URL = "https://your-proxy-url.com/?proxy="
### UnblockNeteaseMusic 设置项
## 启用全局解灰, 无论是否调用参数都会使用解灰(推荐开启)
ENABLE_GENERAL_UNBLOCK = true

View File

@ -9,7 +9,9 @@ module.exports = async (query, request) => {
const match = require("@unblockneteasemusic/server")
const source = ['pyncmd', 'kuwo', 'qq', 'migu', 'kugou']
const result = await match(query.id, source)
const proxy = process.env.PROXY_URL;
console.log("[OK] 开始解灰", query.id, result)
if (result.url.includes('kuwo')) { result.proxyUrl = proxy + result.url }
return {
status: 200,
body: {

View File

@ -9,7 +9,9 @@ module.exports = async (query, request) => {
const match = require("@unblockneteasemusic/server")
const source = ['pyncmd', 'kuwo', 'qq', 'migu', 'kugou']
const result = await match(query.id, source)
const proxy = process.env.PROXY_URL;
console.log("[OK] 开始解灰", query.id, result)
if (result.url.includes('kuwo')) { result.proxyUrl = proxy + result.url }
return {
status: 200,
body: {

View File

@ -16,6 +16,10 @@ module.exports = async (query, request) => {
if (query.unblock === 'true') {
try {
const result = await match(query.id, source)
console.log('[OK] 开始解灰', query.id, result)
if (result.url.includes('kuwo')) {
var proxyUrl = process.env.PROXY_URL + result.url
}
let url = Array.isArray(result) ? (result[0]?.url || result[0]) : (result.url || result)
if (url) {
return {
@ -30,6 +34,7 @@ module.exports = async (query, request) => {
level: query.level,
freeTrialInfo: 'unblock',
fee: 0,
proxyUrl: proxyUrl || '',
},
],
},

View File

@ -259,8 +259,11 @@ async function consturctServer(moduleDefs) {
song.freeTrialInfo = 'null'
console.log("解灰成功!")
}
if (song.url.includes('kuwo')) {
const proxy = process.env.PROXY_URL;
if (proxy) {song.proxyUrl = proxy + song.url}
}
}
const cookies = moduleResponse.cookie
if (!query.noCookie) {