feat: add proxy and sing-based listener support sing-mux

This commit is contained in:
wwqgtxx
2023-04-23 19:57:54 +08:00
parent aa6fa7f1e3
commit 7ca4b64a2b
5 changed files with 135 additions and 3 deletions

View File

@ -114,5 +114,19 @@ func ParseProxy(mapping map[string]any) (C.Proxy, error) {
return nil, err
}
if muxMapping, muxExist := mapping["smux"].(map[string]any); muxExist {
muxOption := &outbound.SingMuxOption{}
err = decoder.Decode(muxMapping, muxOption)
if err != nil {
return nil, err
}
if muxOption.Enabled {
proxy, err = outbound.NewSingMux(*muxOption, proxy, proxy.(outbound.ProxyBase))
if err != nil {
return nil, err
}
}
}
return NewProxy(proxy), nil
}