Fix: grpc transport path should not escape

This commit is contained in:
gVisor bot 2021-08-19 22:11:56 +08:00
parent f7abb313c8
commit cb4ddfc8ca
3 changed files with 4 additions and 2 deletions

View file

@ -24,7 +24,7 @@
]
},
"grpcSettings": {
"serviceName": "example"
"serviceName": "example!"
}
}
}

View file

@ -335,7 +335,7 @@ func TestClash_VmessGrpc(t *testing.T) {
UDP: true,
ServerName: "example.org",
GrpcOpts: outbound.GrpcOptions{
GrpcServiceName: "example",
GrpcServiceName: "example!",
},
})
if err != nil {

View file

@ -211,6 +211,8 @@ func StreamGunWithTransport(transport *http2.Transport, cfg *Config) (net.Conn,
Scheme: "https",
Host: cfg.Host,
Path: fmt.Sprintf("/%s/Tun", serviceName),
// for unescape path
Opaque: fmt.Sprintf("//%s/%s/Tun", cfg.Host, serviceName),
},
Proto: "HTTP/2",
ProtoMajor: 2,