[feature] add httpUpgrade transport

Co-Authored-By: MHSanaei <ho3ein.sanaei@gmail.com>
This commit is contained in:
Alireza Ahmadi
2024-03-12 15:40:41 +01:00
parent 258101efae
commit 29d348bd67
8 changed files with 147 additions and 12 deletions

View File

@@ -217,6 +217,8 @@ func (s *SubJsonService) streamData(stream string) map[string]interface{} {
streamSettings["tcpSettings"] = s.removeAcceptProxy(streamSettings["tcpSettings"])
case "ws":
streamSettings["wsSettings"] = s.removeAcceptProxy(streamSettings["wsSettings"])
case "httpupgrade":
streamSettings["httpupgradeSettings"] = s.removeAcceptProxy(streamSettings["httpupgradeSettings"])
}
return streamSettings

View File

@@ -213,6 +213,10 @@ func (s *SubService) genVmessLink(inbound *model.Inbound, email string) string {
if grpc["multiMode"].(bool) {
obj["type"] = "multi"
}
case "httpupgrade":
httpupgrade, _ := stream["httpupgradeSettings"].(map[string]interface{})
obj["path"] = httpupgrade["path"].(string)
obj["host"] = httpupgrade["host"].(string)
}
security, _ := stream["security"].(string)
@@ -347,6 +351,10 @@ func (s *SubService) genVlessLink(inbound *model.Inbound, email string) string {
if grpc["multiMode"].(bool) {
params["mode"] = "multi"
}
case "httpupgrade":
httpupgrade, _ := stream["httpupgradeSettings"].(map[string]interface{})
params["path"] = httpupgrade["path"].(string)
params["host"] = httpupgrade["host"].(string)
}
security, _ := stream["security"].(string)
@@ -528,6 +536,10 @@ func (s *SubService) genTrojanLink(inbound *model.Inbound, email string) string
if grpc["multiMode"].(bool) {
params["mode"] = "multi"
}
case "httpupgrade":
httpupgrade, _ := stream["httpupgradeSettings"].(map[string]interface{})
params["path"] = httpupgrade["path"].(string)
params["host"] = httpupgrade["host"].(string)
}
security, _ := stream["security"].(string)
@@ -705,6 +717,10 @@ func (s *SubService) genShadowsocksLink(inbound *model.Inbound, email string) st
if grpc["multiMode"].(bool) {
params["mode"] = "multi"
}
case "httpupgrade":
httpupgrade, _ := stream["httpupgradeSettings"].(map[string]interface{})
params["path"] = httpupgrade["path"].(string)
params["host"] = httpupgrade["host"].(string)
}
security, _ := stream["security"].(string)