mirror of
https://github.com/TeaOSLab/EdgeNode.git
synced 2025-11-06 18:10:26 +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())
|
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())
|
originConn, err := this.connectOrigin(server.Id, serverName, server.ReverseProxy, conn.RemoteAddr().String())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
_ = conn.Close()
|
_ = conn.Close()
|
||||||
|
|||||||
@@ -359,9 +359,9 @@ type UDPConn struct {
|
|||||||
isClosed bool
|
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{
|
var conn = &UDPConn{
|
||||||
addr: addr,
|
addr: clientAddr,
|
||||||
proxyListener: proxyListener,
|
proxyListener: proxyListener,
|
||||||
serverConn: serverConn,
|
serverConn: serverConn,
|
||||||
activatedAt: time.Now().Unix(),
|
activatedAt: time.Now().Unix(),
|
||||||
@@ -371,6 +371,12 @@ func NewUDPConn(server *serverconfigs.ServerConfig, addr net.Addr, proxyListener
|
|||||||
// 统计
|
// 统计
|
||||||
if server != nil {
|
if server != nil {
|
||||||
stats.SharedTrafficStatManager.Add(server.UserId, server.Id, "", 0, 0, 1, 0, 0, 0, 0, server.ShouldCheckTrafficLimit(), server.PlanId())
|
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
|
// 处理ControlMessage
|
||||||
@@ -392,7 +398,7 @@ func NewUDPConn(server *serverconfigs.ServerConfig, addr net.Addr, proxyListener
|
|||||||
if n > 0 {
|
if n > 0 {
|
||||||
conn.activatedAt = time.Now().Unix()
|
conn.activatedAt = time.Now().Unix()
|
||||||
|
|
||||||
_, writingErr := proxyListener.WriteTo(buffer[:n], cm, addr)
|
_, writingErr := proxyListener.WriteTo(buffer[:n], cm, clientAddr)
|
||||||
if writingErr != nil {
|
if writingErr != nil {
|
||||||
conn.isOk = false
|
conn.isOk = false
|
||||||
break
|
break
|
||||||
|
|||||||
Reference in New Issue
Block a user