mirror of
https://github.com/lush2020/CF-Workers-SUB.git
synced 2026-03-21 11:02:41 +08:00
更新_worker.js,优化订阅链接处理逻辑,添加去重功能并调整换行符处理
This commit is contained in:
29
_worker.js
29
_worker.js
@@ -14,13 +14,7 @@ let timestamp = 4102329600000;//2099-12-31
|
||||
//节点链接 + 订阅链接
|
||||
let MainData = `
|
||||
https://raw.githubusercontent.com/mfuu/v2ray/master/v2ray
|
||||
https://raw.githubusercontent.com/peasoft/NoMoreWalls/master/list_raw.txt
|
||||
https://raw.githubusercontent.com/ermaozi/get_subscribe/main/subscribe/v2ray.txt
|
||||
https://raw.githubusercontent.com/aiboboxx/v2rayfree/main/v2
|
||||
https://raw.githubusercontent.com/mahdibland/SSAggregator/master/sub/airport_sub_merge.txt
|
||||
https://raw.githubusercontent.com/mahdibland/SSAggregator/master/sub/sub_merge.txt
|
||||
https://raw.githubusercontent.com/Pawdroid/Free-servers/refs/heads/main/sub
|
||||
`
|
||||
`;
|
||||
|
||||
let urls = [];
|
||||
let subConverter = "SUBAPI.cmliussss.net"; //在线订阅转换后端,目前使用CM的订阅转换功能。支持自建psub 可自行搭建https://github.com/bulianglin/psub
|
||||
@@ -126,10 +120,13 @@ export default {
|
||||
else if (url.searchParams.has('quanx')) 追加UA = 'Quantumult%20X';
|
||||
else if (url.searchParams.has('loon')) 追加UA = 'Loon';
|
||||
|
||||
const 请求订阅响应内容 = await getSUB(urls, request, 追加UA, userAgentHeader);
|
||||
console.log(请求订阅响应内容);
|
||||
req_data += 请求订阅响应内容[0].join('\n');
|
||||
订阅转换URL += "|" + 请求订阅响应内容[1];
|
||||
const 订阅链接数组 = [...new Set(urls)].filter(item => item?.trim?.()); // 去重
|
||||
if (订阅链接数组.length > 0) {
|
||||
const 请求订阅响应内容 = await getSUB(订阅链接数组, request, 追加UA, userAgentHeader);
|
||||
console.log(请求订阅响应内容);
|
||||
req_data += 请求订阅响应内容[0].join('\n');
|
||||
订阅转换URL += "|" + 请求订阅响应内容[1];
|
||||
}
|
||||
|
||||
if (env.WARP) 订阅转换URL += "|" + (await ADD(env.WARP)).join("|");
|
||||
//修复中文错误
|
||||
@@ -168,7 +165,7 @@ export default {
|
||||
return base64.slice(0, base64.length - padding) + '=='.slice(0, padding);
|
||||
}
|
||||
|
||||
base64Data = encodeBase64(result.replace(/\u0026/g, '&'))
|
||||
base64Data = encodeBase64(result)
|
||||
}
|
||||
|
||||
if (订阅格式 == 'base64' || token == fakeToken) {
|
||||
@@ -229,11 +226,11 @@ export default {
|
||||
};
|
||||
|
||||
async function ADD(envadd) {
|
||||
var addtext = envadd.replace(/[ "'|\r\n]+/g, ',').replace(/,+/g, ','); // 将空格、双引号、单引号和换行符替换为逗号
|
||||
var addtext = envadd.replace(/[ "'|\r\n]+/g, '\n').replace(/\n+/g, '\n'); // 替换为换行
|
||||
//console.log(addtext);
|
||||
if (addtext.charAt(0) == ',') addtext = addtext.slice(1);
|
||||
if (addtext.charAt(addtext.length - 1) == ',') addtext = addtext.slice(0, addtext.length - 1);
|
||||
const add = addtext.split(',');
|
||||
if (addtext.charAt(0) == '\n') addtext = addtext.slice(1);
|
||||
if (addtext.charAt(addtext.length - 1) == '\n') addtext = addtext.slice(0, addtext.length - 1);
|
||||
const add = addtext.split('\n');
|
||||
//console.log(add);
|
||||
return add;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user