| 2069 | |
| 2070 | // 纠正部分不规范的写法(没有把 tag 写在最后) |
| 2071 | function QXFix(cntf) { |
| 2072 | var cnti = cntf.replace(/\s*tag\s*\=/g,"tag=").replace("chacha20-poly","chacha20-ietf-poly") |
| 2073 | try { |
| 2074 | var hd = cnti.split(",tag=")[0] |
| 2075 | var tag = "tag="+cnti.split(",tag=")[1].split(",")[0].trim() |
| 2076 | var tail = cnti.split(tag+",") |
| 2077 | cnti = tail.length<=1? cnti : String(hd + ","+tail[1].split("\r")[0] +"," + tag) |
| 2078 | cntis = cnti.split(",").filter(Boolean).map(item => item.trim()) //防止节点名中有,符号而导致的错误情况 |
| 2079 | tagfix = "" |
| 2080 | cntii = "" |
| 2081 | for (i in cntis) { |
| 2082 | if (cntis[i].indexOf("=") == -1 && cntis[i].trim() !="") { // tag 中多出的项目 |
| 2083 | tagfix += ","+cntis[i] |
| 2084 | } else { |
| 2085 | cntis[i].indexOf("tag=") != 0? cntii += cntis[i]+", ": cntii=cntii |
| 2086 | } |
| 2087 | } |
| 2088 | cntii = cntii+tag+tagfix |
| 2089 | //$notify("tag-fix","Look","cntf:\n"+cntf+"\nhd:\n"+hd+"\ntag:\n"+tag+"\ntail:\n"+tail+"\ncnti: \n"+cnti +"\n\ncntii: \n"+cntii) |
| 2090 | return cntii |
| 2091 | } catch (err) { |
| 2092 | if(Perror == 0) { |
| 2093 | $notify("❌ 解析出现错误,已忽略该条目", "⚠️ 请点击通知,发送订阅链接进行反馈", cntf+"\n"+ err, bug_link); |
| 2094 | } |
| 2095 | } |
| 2096 | return "" |
| 2097 | } |
| 2098 | |
| 2099 | // 用于过滤非节点部分(比如整份配置中其它内容),同时纠正部分不规范的写法(没有把 tag 写在最后) |
| 2100 | function isQuanX(content) { |