Browse Source

Imaginary Security Lever: zero: turn off all security on payload data

Shelikhoo 4 years ago
parent
commit
1368e92605
2 changed files with 8 additions and 0 deletions
  1. 2 0
      infra/conf/vmess.go
  2. 6 0
      proxy/vmess/outbound/outbound.go

+ 2 - 0
infra/conf/vmess.go

@@ -31,6 +31,8 @@ func (a *VMessAccount) Build() *vmess.Account {
 		st = protocol.SecurityType_AUTO
 	case "none":
 		st = protocol.SecurityType_NONE
+	case "zero":
+		st = protocol.SecurityType_ZERO
 	default:
 		st = protocol.SecurityType_AUTO
 	}

+ 6 - 0
proxy/vmess/outbound/outbound.go

@@ -110,6 +110,12 @@ func (h *Handler) Process(ctx context.Context, link *transport.Link, dialer inte
 		request.Option.Set(protocol.RequestOptionGlobalPadding)
 	}
 
+	if request.Security == protocol.SecurityType_ZERO {
+		request.Security = protocol.SecurityType_NONE
+		request.Option.Clear(protocol.RequestOptionChunkStream)
+		request.Option.Clear(protocol.RequestOptionChunkMasking)
+	}
+
 	input := link.Reader
 	output := link.Writer