mirror of
				https://github.com/TeaOSLab/EdgeNode.git
				synced 2025-11-04 16:00:25 +08:00 
			
		
		
		
	TCP和UDP也支持DAU统计
This commit is contained in:
		@@ -145,6 +145,12 @@ func (this *TCPListener) handleConn(server *serverconfigs.ServerConfig, conn net
 | 
			
		||||
		stats.SharedTrafficStatManager.Add(server.UserId, server.Id, "", 0, 0, 1, 0, 0, 0, 0, server.ShouldCheckTrafficLimit(), server.PlanId())
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// DAU统计
 | 
			
		||||
	clientIP, _, parseErr := net.SplitHostPort(conn.RemoteAddr().String())
 | 
			
		||||
	if parseErr == nil {
 | 
			
		||||
		stats.SharedDAUManager.AddIP(server.Id, clientIP)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	originConn, err := this.connectOrigin(server.Id, serverName, server.ReverseProxy, conn.RemoteAddr().String())
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		_ = conn.Close()
 | 
			
		||||
 
 | 
			
		||||
@@ -359,9 +359,9 @@ type UDPConn struct {
 | 
			
		||||
	isClosed      bool
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func NewUDPConn(server *serverconfigs.ServerConfig, addr net.Addr, proxyListener UDPPacketListener, cm any, serverConn *net.UDPConn) *UDPConn {
 | 
			
		||||
func NewUDPConn(server *serverconfigs.ServerConfig, clientAddr net.Addr, proxyListener UDPPacketListener, cm any, serverConn *net.UDPConn) *UDPConn {
 | 
			
		||||
	var conn = &UDPConn{
 | 
			
		||||
		addr:          addr,
 | 
			
		||||
		addr:          clientAddr,
 | 
			
		||||
		proxyListener: proxyListener,
 | 
			
		||||
		serverConn:    serverConn,
 | 
			
		||||
		activatedAt:   time.Now().Unix(),
 | 
			
		||||
@@ -371,6 +371,12 @@ func NewUDPConn(server *serverconfigs.ServerConfig, addr net.Addr, proxyListener
 | 
			
		||||
	// 统计
 | 
			
		||||
	if server != nil {
 | 
			
		||||
		stats.SharedTrafficStatManager.Add(server.UserId, server.Id, "", 0, 0, 1, 0, 0, 0, 0, server.ShouldCheckTrafficLimit(), server.PlanId())
 | 
			
		||||
 | 
			
		||||
		// DAU统计
 | 
			
		||||
		clientIP, _, parseErr := net.SplitHostPort(clientAddr.String())
 | 
			
		||||
		if parseErr == nil {
 | 
			
		||||
			stats.SharedDAUManager.AddIP(server.Id, clientIP)
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// 处理ControlMessage
 | 
			
		||||
@@ -392,7 +398,7 @@ func NewUDPConn(server *serverconfigs.ServerConfig, addr net.Addr, proxyListener
 | 
			
		||||
			if n > 0 {
 | 
			
		||||
				conn.activatedAt = time.Now().Unix()
 | 
			
		||||
 | 
			
		||||
				_, writingErr := proxyListener.WriteTo(buffer[:n], cm, addr)
 | 
			
		||||
				_, writingErr := proxyListener.WriteTo(buffer[:n], cm, clientAddr)
 | 
			
		||||
				if writingErr != nil {
 | 
			
		||||
					conn.isOk = false
 | 
			
		||||
					break
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user