fix: Trojan websocket header panic

This commit is contained in:
H1JK 2023-11-20 22:19:38 +08:00 committed by Larvan2
parent b9d48f4115
commit bb9ad6cac0

View file

@ -57,6 +57,7 @@ func (t *Trojan) plainStream(ctx context.Context, c net.Conn) (net.Conn, error)
Port: port, Port: port,
Path: t.option.WSOpts.Path, Path: t.option.WSOpts.Path,
V2rayHttpUpgrade: t.option.WSOpts.V2rayHttpUpgrade, V2rayHttpUpgrade: t.option.WSOpts.V2rayHttpUpgrade,
Headers: http.Header{},
} }
if t.option.SNI != "" { if t.option.SNI != "" {
@ -64,11 +65,9 @@ func (t *Trojan) plainStream(ctx context.Context, c net.Conn) (net.Conn, error)
} }
if len(t.option.WSOpts.Headers) != 0 { if len(t.option.WSOpts.Headers) != 0 {
header := http.Header{}
for key, value := range t.option.WSOpts.Headers { for key, value := range t.option.WSOpts.Headers {
header.Add(key, value) wsOpts.Headers.Add(key, value)
} }
wsOpts.Headers = header
} }
return t.instance.StreamWebsocketConn(ctx, c, wsOpts) return t.instance.StreamWebsocketConn(ctx, c, wsOpts)