修复屏蔽协议引发的udp不通问题

This commit is contained in:
qaq
2025-10-30 16:15:04 +08:00
parent 5387b09dfe
commit b587193e74
5 changed files with 5 additions and 5 deletions
+1 -1
View File
@@ -120,7 +120,7 @@ func main() {
log := xlogger.NewLogger()
logger.SetDefault(log)
wsReporter := socket.StartWebSocketReporterWithConfig(config.Addr, config.Secret, "1.2.1")
wsReporter := socket.StartWebSocketReporterWithConfig(config.Addr, config.Secret, "1.2.2")
defer wsReporter.Stop()
service.SetHTTPReportURL(config.Addr, config.Secret)
+1 -1
View File
@@ -60,7 +60,7 @@ func (r *Router) Dial(ctx context.Context, network, address string) (conn net.Co
}
if network == "udp" || network == "udp4" || network == "udp6" {
if _, ok := conn.(net.PacketConn); !ok {
if _, ok := conn.(net.PacketConn); !ok && conn.RemoteAddr().Network() != "udp" {
return &packetConn{conn}, nil
}
}
+1 -1
View File
@@ -101,7 +101,7 @@ func (h *forwardHandler) Handle(ctx context.Context, conn net.Conn, opts ...hand
}
network := "tcp"
if _, ok := conn.(net.PacketConn); ok {
if conn.RemoteAddr().Network() == "udp" {
network = "udp"
}
ro.Network = network
+1 -1
View File
@@ -112,7 +112,7 @@ func (h *forwardHandler) Handle(ctx context.Context, conn net.Conn, opts ...hand
log.Infof("%s <> %s", conn.RemoteAddr(), conn.LocalAddr())
network := "tcp"
if _, ok := conn.(net.PacketConn); ok {
if conn.RemoteAddr().Network() == "udp" {
network = "udp"
}
ro.Network = network
+1 -1
View File
@@ -460,7 +460,7 @@ func (c *detectConn) Read(b []byte) (int, error) {
func detectProtocol(data []byte, conn net.Conn) (blocked bool) {
// 如果是 UDP,则不检测,直接放行
if _, ok := conn.(*net.UDPConn); ok {
if conn.RemoteAddr().Network() == "udp" || conn.RemoteAddr().Network() == "udp4" || conn.RemoteAddr().Network() == "udp6" {
return false
}