From 010fbf4d8bde223376ce0bc43011f2fd46f1c1a8 Mon Sep 17 00:00:00 2001 From: RPRX <63339210+rprx@users.noreply.github.com> Date: Mon, 21 Sep 2020 03:20:04 +0000 Subject: [PATCH] Make isAEAD more efficient --- proxy/vmess/outbound/outbound.go | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/proxy/vmess/outbound/outbound.go b/proxy/vmess/outbound/outbound.go index d76ca8680..b1592766f 100644 --- a/proxy/vmess/outbound/outbound.go +++ b/proxy/vmess/outbound/outbound.go @@ -6,7 +6,6 @@ package outbound import ( "context" - "os" "time" "v2ray.com/core" @@ -31,7 +30,6 @@ type Handler struct { serverList *protocol.ServerList serverPicker protocol.ServerPicker policyManager policy.Manager - aead_disabled bool } // New creates a new VMess outbound handler. @@ -52,10 +50,6 @@ func New(ctx context.Context, config *Config) (*Handler, error) { policyManager: v.GetFeature(policy.ManagerType()).(policy.Manager), } - if disabled, _ := os.LookupEnv("V2RAY_VMESS_AEAD_DISABLED"); disabled == "true" { - handler.aead_disabled = true - } - return handler, nil } @@ -120,7 +114,7 @@ func (h *Handler) Process(ctx context.Context, link *transport.Link, dialer inte output := link.Writer isAEAD := false - if !h.aead_disabled && len(account.AlterIDs) == 0 { + if !aead_disabled && len(account.AlterIDs) == 0 { isAEAD = true } @@ -185,6 +179,7 @@ func (h *Handler) Process(ctx context.Context, link *transport.Link, dialer inte var ( enablePadding = false + aead_disabled = false ) func shouldEnablePadding(s protocol.SecurityType) bool { @@ -197,8 +192,14 @@ func init() { })) const defaultFlagValue = "NOT_DEFINED_AT_ALL" + paddingValue := platform.NewEnvFlag("v2ray.vmess.padding").GetValue(func() string { return defaultFlagValue }) if paddingValue != defaultFlagValue { enablePadding = true } + + aeadDisabled := platform.NewEnvFlag("v2ray.vmess.aead.disabled").GetValue(func() string { return defaultFlagValue }) + if aeadDisabled == "true" { + aead_disabled = true + } }