This commit is contained in:
Dicky Mulia Fiqri 2025-12-18 12:21:03 +08:00 committed by GitHub
commit 0788dad28e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 17 additions and 5 deletions

View File

@ -178,15 +178,23 @@ func ConvertsV2Ray(buf []byte) ([]map[string]any, error) {
} }
switch network { switch network {
case "ws": case "ws", "httpupgrade":
headers := make(map[string]any) headers := make(map[string]any)
wsOpts := make(map[string]any) wsOpts := make(map[string]any)
headers["User-Agent"] = RandUserAgent() headers["User-Agent"] = RandUserAgent()
if host := query.Get("host"); host != "" {
headers["Host"] = host
}
wsOpts["path"] = query.Get("path") wsOpts["path"] = query.Get("path")
wsOpts["headers"] = headers wsOpts["headers"] = headers
if network == "httpupgrade" {
wsOpts["v2ray-http-upgrade"] = true
wsOpts["v2ray-http-upgrade-fast-open"] = true
}
trojan["ws-opts"] = wsOpts trojan["ws-opts"] = wsOpts
case "grpc": case "grpc":
@ -358,6 +366,7 @@ func ConvertsV2Ray(buf []byte) ([]map[string]any, error) {
wsOpts["max-early-data"] = med wsOpts["max-early-data"] = med
wsOpts["early-data-header-name"] = "Sec-WebSocket-Protocol" wsOpts["early-data-header-name"] = "Sec-WebSocket-Protocol"
case "httpupgrade": case "httpupgrade":
wsOpts["v2ray-http-upgrade"] = true
wsOpts["v2ray-http-upgrade-fast-open"] = true wsOpts["v2ray-http-upgrade-fast-open"] = true
} }
query.Del("ed") query.Del("ed")
@ -455,6 +464,8 @@ func ConvertsV2Ray(buf []byte) ([]map[string]any, error) {
"host": pluginInfo.Get("host"), "host": pluginInfo.Get("host"),
"path": pluginInfo.Get("path"), "path": pluginInfo.Get("path"),
"tls": strings.Contains(plugin, "tls"), "tls": strings.Contains(plugin, "tls"),
"mux": pluginInfo.Get("mux") != "0",
"v2ray-http-upgrade": strings.Contains(plugin, "httpupgrade"),
} }
} }
} }

View File

@ -118,6 +118,7 @@ func handleVShareLink(names map[string]int, url *url.URL, scheme string, proxy m
wsOpts["max-early-data"] = med wsOpts["max-early-data"] = med
wsOpts["early-data-header-name"] = "Sec-WebSocket-Protocol" wsOpts["early-data-header-name"] = "Sec-WebSocket-Protocol"
case "httpupgrade": case "httpupgrade":
wsOpts["v2ray-http-upgrade"] = true
wsOpts["v2ray-http-upgrade-fast-open"] = true wsOpts["v2ray-http-upgrade-fast-open"] = true
} }
} }