From 336c24f5d0dd993ad79e5243a57e9bcca9c4812d Mon Sep 17 00:00:00 2001 From: cmliu Date: Wed, 23 Jul 2025 20:52:04 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=5Fworker.js=EF=BC=8C?= =?UTF-8?q?=E4=BC=98=E5=8C=96base64=E8=AE=A2=E9=98=85=E8=BD=AC=E6=8D=A2?= =?UTF-8?q?=E9=80=BB=E8=BE=91=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _worker.js | 27 +++++++++++++-------------- wrangler.toml | 2 +- 2 files changed, 14 insertions(+), 15 deletions(-) diff --git a/_worker.js b/_worker.js index 43fd9ea..a731b0e 100644 --- a/_worker.js +++ b/_worker.js @@ -126,6 +126,18 @@ export default { console.log(请求订阅响应内容); req_data += 请求订阅响应内容[0].join('\n'); 订阅转换URL += "|" + 请求订阅响应内容[1]; + if (订阅格式 == 'base64' && !userAgent.includes('subconverter') && 请求订阅响应内容[1].includes('://')) { + subConverterUrl = `${subProtocol}://${subConverter}/sub?target=mixed&url=${encodeURIComponent(请求订阅响应内容[1])}&insert=false&config=${encodeURIComponent(subConfig)}&emoji=true&list=false&tfo=false&scv=true&fdn=false&sort=false&new_name=true`; + try { + const subConverterResponse = await fetch(subConverterUrl); + if (subConverterResponse.ok) { + const subConverterContent = await subConverterResponse.text(); + req_data += '\n' + atob(subConverterContent); + } + } catch (error) { + console.log('订阅转换请回base64失败,检查订阅转换后端是否正常运行'); + } + } } if (env.WARP) 订阅转换URL += "|" + (await ADD(env.WARP)).join("|"); @@ -138,22 +150,9 @@ export default { //去重 const uniqueLines = new Set(text.split('\n')); - let result = [...uniqueLines].join('\n'); + const result = [...uniqueLines].join('\n'); //console.log(result); - if (订阅格式 == 'base64' && !userAgent.includes('subconverter') && 订阅转换URL.includes('://')) { - subConverterUrl = `${subProtocol}://${subConverter}/sub?target=mixed&url=${encodeURIComponent(订阅转换URL)}&insert=false&config=${encodeURIComponent(subConfig)}&emoji=true&list=false&tfo=false&scv=true&fdn=false&sort=false&new_name=true`; - try { - const subConverterResponse = await fetch(subConverterUrl); - if (subConverterResponse.ok) { - const subConverterContent = await subConverterResponse.text(); - result += '\n' + atob(subConverterContent); - } - } catch (error) { - console.log('订阅转换请回base64失败,检查订阅转换后端是否正常运行'); - } - } - let base64Data; try { base64Data = btoa(result); diff --git a/wrangler.toml b/wrangler.toml index b9e2690..40cccef 100644 --- a/wrangler.toml +++ b/wrangler.toml @@ -1,4 +1,4 @@ name = "sub-worker" main = "_worker.js" -compatibility_date = "2025-07-07" +compatibility_date = "2025-07-23" keep_vars = true \ No newline at end of file