From 78b65e6a832de2881629cc4f484be9dbb0cf5f6d Mon Sep 17 00:00:00 2001 From: Jason Date: Thu, 22 Aug 2019 13:39:57 +0800 Subject: [PATCH] Revert "update proxy session" This reverts commit 7a77dea691bdfb5810dfc8350d7c9f8687adf466. --- proxy/tcp.go | 31 +++++++++++++++---------------- proxy/udp.go | 37 +++++++++++++++++-------------------- 2 files changed, 32 insertions(+), 36 deletions(-) diff --git a/proxy/tcp.go b/proxy/tcp.go index 0623a9f..5542a0c 100644 --- a/proxy/tcp.go +++ b/proxy/tcp.go @@ -94,16 +94,22 @@ func (h *tcpHandler) Handle(conn net.Conn, target *net.TCPAddr) error { return err } - var session = &S.Session{ - Network: localConn.LocalAddr().Network(), - DialerAddr: remoteConn.LocalAddr().String(), - ClientAddr: localConn.LocalAddr().String(), - TargetAddr: targetAddr, - UploadBytes: 0, - DownloadBytes: 0, - SessionStart: time.Now(), + // Get name of the process + var process = lsof.GetProcessName(localConn.LocalAddr()) + if monitor != nil { + session := &S.Session{ + Process: process, + Network: localConn.LocalAddr().Network(), + DialerAddr: remoteConn.LocalAddr().String(), + ClientAddr: localConn.LocalAddr().String(), + TargetAddr: targetAddr, + UploadBytes: 0, + DownloadBytes: 0, + SessionStart: time.Now(), + } + addSession(localConn, session) + remoteConn = &S.Conn{Session: session, Conn: remoteConn} } - remoteConn = &S.Conn{Session: session, Conn: remoteConn} // Set keepalive tcpKeepAlive(localConn) @@ -112,13 +118,6 @@ func (h *tcpHandler) Handle(conn net.Conn, target *net.TCPAddr) error { // Relay connections go h.relay(localConn, remoteConn) - // Get name of the process - var process = lsof.GetProcessName(localConn.LocalAddr()) - if monitor != nil { - session.Process = process - addSession(localConn, session) - } - log.Access(process, "proxy", "tcp", localConn.LocalAddr().String(), targetAddr) return nil } diff --git a/proxy/udp.go b/proxy/udp.go index a6cf950..4f47466 100644 --- a/proxy/udp.go +++ b/proxy/udp.go @@ -2,12 +2,12 @@ package proxy import ( "fmt" - "github.com/xjasonlyu/tun2socks/common/lsof" "net" "strconv" "sync" "time" + "github.com/xjasonlyu/tun2socks/common/lsof" "github.com/xjasonlyu/tun2socks/common/pool" "github.com/xjasonlyu/tun2socks/core" "github.com/xjasonlyu/tun2socks/log" @@ -78,16 +78,22 @@ func (h *udpHandler) Connect(conn core.UDPConn, target *net.UDPAddr) error { return err } - var session = &S.Session{ - Network: conn.LocalAddr().Network(), - DialerAddr: remoteConn.LocalAddr().String(), - ClientAddr: conn.LocalAddr().String(), - TargetAddr: targetAddr, - UploadBytes: 0, - DownloadBytes: 0, - SessionStart: time.Now(), + // Get name of the process + var process = lsof.GetProcessName(conn.LocalAddr()) + if monitor != nil { + session := &S.Session{ + Process: process, + Network: conn.LocalAddr().Network(), + DialerAddr: remoteConn.LocalAddr().String(), + ClientAddr: conn.LocalAddr().String(), + TargetAddr: targetAddr, + UploadBytes: 0, + DownloadBytes: 0, + SessionStart: time.Now(), + } + addSession(conn, session) + remoteConn = &S.PacketConn{Session: session, PacketConn: remoteConn} } - remoteConn = &S.PacketConn{Session: session, PacketConn: remoteConn} h.remoteMap.Store(conn, &udpElement{ remoteAddr: remoteAddr, @@ -96,16 +102,7 @@ func (h *udpHandler) Connect(conn core.UDPConn, target *net.UDPAddr) error { go h.fetchUDPInput(conn, remoteConn, target) - go func() { - // Get name of the process - var process = lsof.GetProcessName(conn.LocalAddr()) - if monitor != nil { - session.Process = process - addSession(conn, session) - } - log.Access(process, "proxy", "udp", conn.LocalAddr().String(), targetAddr) - }() - + log.Access(process, "proxy", "udp", conn.LocalAddr().String(), targetAddr) return nil }