|
@@ -2,12 +2,14 @@ package transportcommon
|
|
|
|
|
|
|
|
import (
|
|
import (
|
|
|
"context"
|
|
"context"
|
|
|
|
|
+ "crypto/tls"
|
|
|
|
|
|
|
|
"github.com/v2fly/v2ray-core/v5/common/environment"
|
|
"github.com/v2fly/v2ray-core/v5/common/environment"
|
|
|
"github.com/v2fly/v2ray-core/v5/common/environment/envctx"
|
|
"github.com/v2fly/v2ray-core/v5/common/environment/envctx"
|
|
|
"github.com/v2fly/v2ray-core/v5/common/net"
|
|
"github.com/v2fly/v2ray-core/v5/common/net"
|
|
|
"github.com/v2fly/v2ray-core/v5/common/session"
|
|
"github.com/v2fly/v2ray-core/v5/common/session"
|
|
|
"github.com/v2fly/v2ray-core/v5/transport/internet"
|
|
"github.com/v2fly/v2ray-core/v5/transport/internet"
|
|
|
|
|
+ v2tls "github.com/v2fly/v2ray-core/v5/transport/internet/tls"
|
|
|
)
|
|
)
|
|
|
|
|
|
|
|
func ListenWithSecuritySettings(ctx context.Context, address net.Address, port net.Port, streamSettings *internet.MemoryStreamConfig) (
|
|
func ListenWithSecuritySettings(ctx context.Context, address net.Address, port net.Port, streamSettings *internet.MemoryStreamConfig) (
|
|
@@ -43,5 +45,11 @@ func ListenWithSecuritySettings(ctx context.Context, address net.Address, port n
|
|
|
if streamSettings.SocketSettings != nil && streamSettings.SocketSettings.AcceptProxyProtocol {
|
|
if streamSettings.SocketSettings != nil && streamSettings.SocketSettings.AcceptProxyProtocol {
|
|
|
newError("accepting PROXY protocol").AtWarning().WriteToLog(session.ExportIDToError(ctx))
|
|
newError("accepting PROXY protocol").AtWarning().WriteToLog(session.ExportIDToError(ctx))
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ if config := v2tls.ConfigFromStreamSettings(streamSettings); config != nil {
|
|
|
|
|
+ if tlsConfig := config.GetTLSConfig(); tlsConfig != nil {
|
|
|
|
|
+ l = tls.NewListener(l, tlsConfig)
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
return l, nil
|
|
return l, nil
|
|
|
}
|
|
}
|