add connections track

This commit is contained in:
Jason
2019-08-10 19:00:18 +08:00
parent 870059087c
commit b5fe8489e9
5 changed files with 19 additions and 1 deletions

View File

@@ -5,6 +5,7 @@ import (
"net"
"strconv"
"sync"
"sync/atomic"
"time"
"golang.org/x/net/proxy"
@@ -16,6 +17,8 @@ import (
"github.com/xjasonlyu/tun2socks/core"
)
var ActiveConnections *int64
type tcpHandler struct {
sync.Mutex
@@ -110,6 +113,9 @@ func (h *tcpHandler) relay(localConn, remoteConn net.Conn, sess *stats.Session)
if h.sessionStater != nil {
h.sessionStater.RemoveSession(localConn)
}
// add -1
atomic.AddInt64(ActiveConnections, -1)
}
func (h *tcpHandler) Handle(localConn net.Conn, target *net.TCPAddr) error {
@@ -163,6 +169,9 @@ func (h *tcpHandler) Handle(localConn net.Conn, target *net.TCPAddr) error {
// relay connections
go h.relay(localConn, remoteConn, sess)
// add 1
atomic.AddInt64(ActiveConnections, 1)
log.Access(process, "proxy", target.Network(), localConn.LocalAddr().String(), targetAddr)
return nil
}