MCPcopy Index your code
hub / github.com/Moli-X/Resources / VQ2QX

Function VQ2QX

Script/Parser.js:1629–1662  ·  view source on GitHub ↗
(subs, Pudp, Ptfo, Pcert0, PTls13)

Source from the content-addressed store, hash-verified

1627
1628//quantumult 格式的 vmess URI 转换
1629function VQ2QX(subs, Pudp, Ptfo, Pcert0, PTls13) {
1630 var server = String(Base64.decode(subs.replace("vmess://", "").trim()).split("\u0000")[0])
1631 var node = ""
1632 var ip = "vmess=" + server.split(",")[1].trim() + ":" + server.split(",")[2].trim() + ", " + "method=aes-128-gcm, " + "password=" + server.split(",")[4].split("\"")[1] + ", "
1633 var tag = "tag=" + server.split("=")[0]
1634 var tfo = subs.indexOf("tfo=1") != -1 ? "fast-open=true, " : "fast-open=false, "
1635 var udp = Pudp == 1 ? "udp-relay=false, " : "udp-relay=false, "; // 不支持 vmess 类型 udp
1636 node = ip + tfo + udp
1637 var obfs = ""
1638 if (server.indexOf("obfs=") == -1) { // 非 ws/http 类型
1639 obfs = server.indexOf("over-tls=true") != -1 ? "obfs=over-tls, " : "" //over-tls
1640 var host = server.indexOf("tls-host") != -1 ? "obfs-host=" + server.split("tls-host=")[1].split(",")[0] + ", " : ""
1641 obfs = obfs + host
1642 } else if (server.indexOf("obfs=ws") != -1) {
1643 obfs = server.indexOf("over-tls=true") != -1 ? "obfs=wss, " : "obfs=ws, " //ws,wss 类型
1644 var uri = server.indexOf("obfs-path=") != -1 ? "obfs-uri=" + server.split("obfs-path=")[1].split("\"")[1] + ", " : "obfs-uri=/, "
1645 obfs = obfs + uri
1646 var host = server.indexOf("obfs-header=") != -1 ? "obfs-host=" + server.split("obfs-header=\"Host:")[1].split("[")[0].trim() + ", " : ""
1647 obfs = obfs + host
1648 } else if (server.indexOf("obfs=http") != -1) {
1649 obfs = "obfs=http, "
1650 var uri = server.indexOf("obfs-path=") != -1 ? "obfs-uri=" + server.split("obfs-path=")[1].split("\"")[1] + ", " : "obfs-uri=/, "
1651 obfs = obfs + uri
1652 var host = server.indexOf("obfs-header=") != -1 ? "obfs-host=" + server.split("obfs-header=\"Host:")[1].split("[")[0].trim() + ", " : ""
1653 obfs = obfs + host
1654 }
1655 if (obfs.indexOf("obfs=over-tls") != -1 || obfs.indexOf("obfs=wss") != -1) {
1656 var cert = Pcert0 != 0 || subs.indexOf("allowInsecure=1") != -1 ? "tls-verification=false, " : "tls-verification=true, "
1657 var tls13 = PTls13 == 1 ? "tls13=true, " : ""
1658 obfs = obfs + cert + tls13
1659 }
1660 node = node + obfs + tag
1661 return node
1662}
1663
1664
1665//Shadowrocket 格式的 vmess URI 转换

Callers 1

Subs2QXFunction · 0.85

Calls 1

indexOfMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…