mirror of
https://github.com/Sagit-chu/flvx.git
synced 2026-09-29 07:56:37 +08:00
修复屏蔽协议引发的udp不通问题
This commit is contained in:
+1
-1
@@ -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)
|
||||
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user