| 1548 | |
| 1549 | // qx 类型 tls/udp 验证问题t |
| 1550 | function QX_TLS(cnt,Pcert0,PTls13) { |
| 1551 | cnt =cnt.replace(/tag\s*\=/gm,"tag=") // |
| 1552 | var cert0 = Pcert0 == 1? "tls-verification=true, " : "tls-verification=false, " |
| 1553 | var tls13 = PTls13 == 1? "tls13=true, " : "" |
| 1554 | if(cnt.indexOf("tls-verification") != -1){ // 已有tls参数时, 如用户不指定,则不做处理 |
| 1555 | cnt = (Pcert0 == -1 || Pcert0 == 1) ? cnt.replace(RegExp("tls\-verification.*?\,", "gmi"), cert0): cnt |
| 1556 | //cnt = Pcert0 == 1? cnt.replace(RegExp("tls\-verification.*?\,", "gmi"), cert0): cnt |
| 1557 | }else if(cnt.indexOf("obfs=over-tls")!=-1 || /over\-tls\s*\=\s*true/.test(cnt) || cnt.indexOf("obfs=wss")!=-1){ //未包含tls参数时 |
| 1558 | cnt = cnt.replace(new RegExp("tag.*?\=", "gmi"), cert0+"tag=") |
| 1559 | } |
| 1560 | if (tls13 !="") { |
| 1561 | if(cnt.indexOf("tls13") != -1){ |
| 1562 | cnt = cnt.replace(RegExp("tls13.*?\,", "gmi"), tls13) |
| 1563 | }else if(cnt.indexOf("obfs=over-tls")!=-1 || /over\-tls\s*\=\s*true/.test(cnt) || cnt.indexOf("obfs=wss")!=-1){ |
| 1564 | cnt = cnt.replace(new RegExp("tag.*?\=", "gmi"), tls13+"tag=") |
| 1565 | } |
| 1566 | } |
| 1567 | if (!/^(shadowsocks|trojan|vmess)/.test(cnt.trim())) { //关闭非 ss/ssr/trojan/vmess 类型的 udp |
| 1568 | udp = "udp-relay=false, " |
| 1569 | if(cnt.indexOf("udp-relay") != -1){ |
| 1570 | var cnt = cnt.replace(RegExp("udp\-relay.*?\,", "gmi"), udp) |
| 1571 | }else{ |
| 1572 | var cnt = cnt.replace(new RegExp("tag.*?\=", "gmi"), udp+"tag=") |
| 1573 | } |
| 1574 | } |
| 1575 | return cnt |
| 1576 | } |
| 1577 | |
| 1578 | //将sip008格式的订阅转换成quanx格式 |
| 1579 | function SIP2QuanX (cnt) { |