fix(uri): update query parameters and improve transport type handling
This commit is contained in:
parent
852bde35dc
commit
0dca618f85
@ -45,7 +45,7 @@ func GenerateBase64General(data []proxy.Proxy, uuid string) []byte {
|
|||||||
links = append(links, p)
|
links = append(links, p)
|
||||||
}
|
}
|
||||||
var rsp []byte
|
var rsp []byte
|
||||||
rsp = base64.RawStdEncoding.AppendEncode(rsp, []byte(strings.Join(links, "\n")))
|
rsp = base64.RawStdEncoding.AppendEncode(rsp, []byte(strings.Join(links, "\r\n")))
|
||||||
return rsp
|
return rsp
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -103,6 +103,8 @@ func VmessUri(data proxy.Proxy, uuid string) string {
|
|||||||
Port: fmt.Sprint(data.Port),
|
Port: fmt.Sprint(data.Port),
|
||||||
ID: uuid,
|
ID: uuid,
|
||||||
Aid: "0",
|
Aid: "0",
|
||||||
|
Ps: data.Name,
|
||||||
|
Net: "tcp",
|
||||||
}
|
}
|
||||||
|
|
||||||
switch vmess.Transport {
|
switch vmess.Transport {
|
||||||
@ -137,6 +139,7 @@ func VlessUri(data proxy.Proxy, uuid string) string {
|
|||||||
var query = make(url.Values)
|
var query = make(url.Values)
|
||||||
setQuery(&query, "flow", vless.Flow)
|
setQuery(&query, "flow", vless.Flow)
|
||||||
setQuery(&query, "security", vless.Security)
|
setQuery(&query, "security", vless.Security)
|
||||||
|
setQuery(&query, "encryption", "none")
|
||||||
|
|
||||||
switch vless.Transport {
|
switch vless.Transport {
|
||||||
case "websocket":
|
case "websocket":
|
||||||
@ -145,7 +148,7 @@ func VlessUri(data proxy.Proxy, uuid string) string {
|
|||||||
setQuery(&query, "path", transportConfig.Path)
|
setQuery(&query, "path", transportConfig.Path)
|
||||||
|
|
||||||
case "http2", "httpupgrade":
|
case "http2", "httpupgrade":
|
||||||
setQuery(&query, "type", vless.Transport)
|
setQuery(&query, "type", "http")
|
||||||
setQuery(&query, "path", transportConfig.Path)
|
setQuery(&query, "path", transportConfig.Path)
|
||||||
setQuery(&query, "host", transportConfig.Host)
|
setQuery(&query, "host", transportConfig.Host)
|
||||||
case "grpc":
|
case "grpc":
|
||||||
@ -182,24 +185,22 @@ func TrojanUri(data proxy.Proxy, uuid string) string {
|
|||||||
securityConfig := trojan.SecurityConfig
|
securityConfig := trojan.SecurityConfig
|
||||||
|
|
||||||
var query = make(url.Values)
|
var query = make(url.Values)
|
||||||
setQuery(&query, "type", trojan.Transport)
|
|
||||||
setQuery(&query, "security", trojan.Security)
|
setQuery(&query, "security", trojan.Security)
|
||||||
|
|
||||||
switch trojan.Transport {
|
switch trojan.Transport {
|
||||||
case "ws", "http", "httpupgrade":
|
case "websocket":
|
||||||
|
setQuery(&query, "type", "ws")
|
||||||
setQuery(&query, "path", transportConfig.Path)
|
setQuery(&query, "path", transportConfig.Path)
|
||||||
setQuery(&query, "host", transportConfig.Host)
|
setQuery(&query, "host", transportConfig.Host)
|
||||||
case "grpc":
|
case "grpc":
|
||||||
|
setQuery(&query, "type", "grpc")
|
||||||
setQuery(&query, "serviceName", transportConfig.ServiceName)
|
setQuery(&query, "serviceName", transportConfig.ServiceName)
|
||||||
case "meek":
|
default:
|
||||||
setQuery(&query, "url", transportConfig.Host)
|
setQuery(&query, "type", "tcp")
|
||||||
|
setQuery(&query, "path", transportConfig.Path)
|
||||||
|
setQuery(&query, "host", transportConfig.Host)
|
||||||
}
|
}
|
||||||
|
|
||||||
setQuery(&query, "sni", securityConfig.SNI)
|
|
||||||
setQuery(&query, "fp", securityConfig.Fingerprint)
|
|
||||||
setQuery(&query, "pbk", securityConfig.RealityPublicKey)
|
|
||||||
setQuery(&query, "sid", securityConfig.RealityShortId)
|
|
||||||
|
|
||||||
if securityConfig.AllowInsecure {
|
if securityConfig.AllowInsecure {
|
||||||
setQuery(&query, "allowInsecure", "1")
|
setQuery(&query, "allowInsecure", "1")
|
||||||
}
|
}
|
||||||
@ -250,7 +251,7 @@ func TuicUri(data proxy.Proxy, uuid string) string {
|
|||||||
|
|
||||||
setQuery(&query, "congestion_control", "bbr")
|
setQuery(&query, "congestion_control", "bbr")
|
||||||
|
|
||||||
if tuic.SecurityConfig.SNI == "" {
|
if tuic.SecurityConfig.SNI != "" {
|
||||||
setQuery(&query, "sni", tuic.SecurityConfig.SNI)
|
setQuery(&query, "sni", tuic.SecurityConfig.SNI)
|
||||||
} else {
|
} else {
|
||||||
setQuery(&query, "disable_sni", "1")
|
setQuery(&query, "disable_sni", "1")
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user