浏览代码

Skip Port 53, 443 before using single XUDP for VLESS & VMess

RPRX 4 年之前
父节点
当前提交
924fe16077
共有 2 个文件被更改,包括 2 次插入2 次删除
  1. 1 1
      proxy/vless/outbound/outbound.go
  2. 1 1
      proxy/vmess/outbound/outbound.go

+ 1 - 1
proxy/vless/outbound/outbound.go

@@ -178,7 +178,7 @@ func (h *Handler) Process(ctx context.Context, link *transport.Link, dialer inte
 	clientReader := link.Reader // .(*pipe.Reader)
 	clientReader := link.Reader // .(*pipe.Reader)
 	clientWriter := link.Writer // .(*pipe.Writer)
 	clientWriter := link.Writer // .(*pipe.Writer)
 
 
-	if request.Command == protocol.RequestCommandUDP && h.cone {
+	if request.Command == protocol.RequestCommandUDP && h.cone && request.Port != 53 && request.Port != 443 {
 		request.Command = protocol.RequestCommandMux
 		request.Command = protocol.RequestCommandMux
 		request.Address = net.DomainAddress("v1.mux.cool")
 		request.Address = net.DomainAddress("v1.mux.cool")
 		request.Port = net.Port(666)
 		request.Port = net.Port(666)

+ 1 - 1
proxy/vmess/outbound/outbound.go

@@ -131,7 +131,7 @@ func (h *Handler) Process(ctx context.Context, link *transport.Link, dialer inte
 	ctx, cancel := context.WithCancel(ctx)
 	ctx, cancel := context.WithCancel(ctx)
 	timer := signal.CancelAfterInactivity(ctx, cancel, sessionPolicy.Timeouts.ConnectionIdle)
 	timer := signal.CancelAfterInactivity(ctx, cancel, sessionPolicy.Timeouts.ConnectionIdle)
 
 
-	if request.Command == protocol.RequestCommandUDP && h.cone {
+	if request.Command == protocol.RequestCommandUDP && h.cone && request.Port != 53 && request.Port != 443 {
 		request.Command = protocol.RequestCommandMux
 		request.Command = protocol.RequestCommandMux
 		request.Address = net.DomainAddress("v1.mux.cool")
 		request.Address = net.DomainAddress("v1.mux.cool")
 		request.Port = net.Port(666)
 		request.Port = net.Port(666)