diff --git a/Scripts/resource-parser.js b/Scripts/resource-parser.js index f591609..3027ea2 100644 --- a/Scripts/resource-parser.js +++ b/Scripts/resource-parser.js @@ -1,5 +1,5 @@ /** -☑️ 资源解析器 ©𝐒𝐡𝐚𝐰𝐧 ⟦2022-08-03 23:20⟧ +☑️ 资源解析器 ©𝐒𝐡𝐚𝐰𝐧 ⟦2022-08-08 12:30⟧ ---------------------------------------------------------- 🛠 发现 𝐁𝐔𝐆 请反馈: https://t.me/Shawn_Parser_Bot ⛳️ 关注 🆃🅶 相关频道: https://t.me/QuanX_API @@ -630,7 +630,7 @@ function Type_Check(subs) { function TagCheck_QX(content) { typefix = {"shadowsocks":["𝐬𝐬","𝐒𝐒","🅢🅢","🆂🆂","ⓢⓢ","🅂🅂","SS"],"shadowsocksr":["𝐬𝐬𝐫","𝐒𝐒𝐑","🅢🅢🅡","🆂🆂🆁","ⓢⓢⓡ","🅂🅂🅁","SSR"],"vmess":["𝐯𝐦𝐞𝐬𝐬","𝐕𝐌𝐄𝐒𝐒","🅥🅜🅔🅢🅢","🆅🅼🅴🆂🆂","ⓥⓜⓔⓢⓢ","🅅🄼🄴🅂🅂","VMESS"],"trojan":["𝐭𝐫𝐨𝐣𝐚𝐧","𝐓𝐑𝐎𝐉𝐀𝐍","🅣🅡🅞🅙🅐🅝","🆃🆁🅾🅹🅰🅽","ⓣⓡⓞⓙⓐⓝ","🅃🅁🄾🄹🄰🄽","TROJAN"],"http":["𝐡𝐭𝐭𝐩","𝐇𝐓𝐓𝐏","🅗🅣🅣🅟","🅷🆃🆃🅿","ⓗⓣⓣⓟ","🄷🅃🅃🄿","HTTP"],"socks5":["𝐬𝐨𝗰𝗸𝐬","𝐒𝐎𝐂𝐊𝐒","🅢🅞🅒🅚🅢","🆂🅾🅲🅺🆂","ⓢⓄⒸⓀⓢ","🅂🄾🄲🄺🅂","SOCKS"]} console.log(content) - var Olist = content.map(item =>item.trim().replace(/\s{2,}/g," ")) + var Olist = content.map(item =>item.trim())//.replace(/\s{2,}/g," ")) //$notify("","",Olist) var [Nlist, nmlist] = [ [], [] ] var [nulllist,duplist] = [ [], [] ]; //记录空名字节点&重名节点 @@ -649,6 +649,7 @@ function TagCheck_QX(content) { } var ni = 0 while (nmlist.indexOf(nm) != -1) { //重名情形 + //$notify("重名",nm,nmlist) nm = ni==0? nm+ NoReplace(ni+1):nm.split(" ").slice(0,nm.split(" ").length-2).join(" ") + NoReplace(ni+1) item = Pdel != 1 ? item.split("tag")[0] + "tag=" + nm : "" ni = ni + 1 @@ -2264,7 +2265,7 @@ function get_emoji(emojip, sname) { "🇿🇦": ["South Africa", "南非", "Johannesburg"], "🇦🇪": ["United Arab Emirates", "阿联酋","AE ", "迪拜", "Dubai"], "🇧🇷": ["BR", "Brazil", "巴西", "圣保罗"], - "🇯🇵": ["JP", "Japan","JAPAN", "日本", "东京", "大阪", "埼玉", "沪日", "穗日", "川日", "中日", "泉日", "杭日", "深日", "辽日", "广日"], + "🇯🇵": ["JP", "Japan","JAPAN", "日本", "东京", "大阪", "埼玉", "沪日", "穗日", "川日", "中日", "泉日", "杭日", "深日", "辽日", "广日", "Tokyo"], "🇦🇷": ["AR", "Argentina", "阿根廷"], "🇳🇴": ["Norway", "挪威", "NO"], "🇵🇱": [" PL", "POL", "波兰","波蘭"], @@ -2564,7 +2565,8 @@ function LoonSSR2QX(cnt) { } function YAMLFix(cnt){ - cnt = cnt.replace(/\[/g,"yaml@bug1").replace(/\\r/g,"") + cnt = cnt.replace(/\[/g,"yaml@bug1").replace(/\\r/g,"").replace(/\*/g,"yaml@bug2") + //2022-08-08 增加 .replace(/\*/g,"🌟@bug2") 以解决名字以 * 开始时引起的部分问题 if (cnt.indexOf("{") != -1 && /\{\s*\"*(name|type|server)/.test(cnt)){ cnt = cnt.replace(/(^|\n)- /g, "$1 - ").replace(/ - /g," - ").replace(/:(?!\s)/g,": ").replace(/\,\"/g,", \"").replace(/: {/g, ": {, ").replace(/, (Host|host|path|mux)/g,", $1") //2022-04-11 remove tls|skip from replace(/, (Host|host|path|mux)/g,", $1") @@ -2609,7 +2611,7 @@ function yamlcheck(cnt){ function Clash2QX(cnt) { const yaml = new YAML() if (Pdbg==1) { $notify(" Before YAML Parse", "content", cnt)} - var aa = JSON.stringify(yaml.parse(YAMLFix(cnt))).replace(/yaml@bug𝟙/g,"[").replace(/冒号/gmi,":") + var aa = JSON.stringify(yaml.parse(YAMLFix(cnt))).replace(/yaml@bug𝟙/g,"[").replace(/冒号/gmi,":").replace(/yaml@bug𝟚/g,"*") for (var i=0;i<10;i++) { aa = aa.replace(new RegExp(patn[4][i], "gmi"),patn[0][i]) } @@ -2640,7 +2642,7 @@ function Clash2QX(cnt) { node = Ptfo0 != 0 ? XTFO(node,Ptfo0) : node nodelist.push(node) }catch (e) { - $notify(`⚠️该节点解析错误, 暂时已忽略处理`,`可点击通知反馈至 bot`,node,bug_link ) + $notify(`⚠️该节点解析错误, 暂时已忽略处理`,`可点击通知反馈至 bot`,JSON.stringify(node),bug_link ) } } return nodelist.join("\n")