Revert "update proxy session"

This reverts commit 7a77dea691.
This commit is contained in:
Jason
2019-08-22 13:39:57 +08:00
parent 7a77dea691
commit 78b65e6a83
2 changed files with 32 additions and 36 deletions

View File

@@ -94,16 +94,22 @@ func (h *tcpHandler) Handle(conn net.Conn, target *net.TCPAddr) error {
return err return err
} }
var session = &S.Session{ // Get name of the process
Network: localConn.LocalAddr().Network(), var process = lsof.GetProcessName(localConn.LocalAddr())
DialerAddr: remoteConn.LocalAddr().String(), if monitor != nil {
ClientAddr: localConn.LocalAddr().String(), session := &S.Session{
TargetAddr: targetAddr, Process: process,
UploadBytes: 0, Network: localConn.LocalAddr().Network(),
DownloadBytes: 0, DialerAddr: remoteConn.LocalAddr().String(),
SessionStart: time.Now(), 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 // Set keepalive
tcpKeepAlive(localConn) tcpKeepAlive(localConn)
@@ -112,13 +118,6 @@ func (h *tcpHandler) Handle(conn net.Conn, target *net.TCPAddr) error {
// Relay connections // Relay connections
go h.relay(localConn, remoteConn) 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) log.Access(process, "proxy", "tcp", localConn.LocalAddr().String(), targetAddr)
return nil return nil
} }

View File

@@ -2,12 +2,12 @@ package proxy
import ( import (
"fmt" "fmt"
"github.com/xjasonlyu/tun2socks/common/lsof"
"net" "net"
"strconv" "strconv"
"sync" "sync"
"time" "time"
"github.com/xjasonlyu/tun2socks/common/lsof"
"github.com/xjasonlyu/tun2socks/common/pool" "github.com/xjasonlyu/tun2socks/common/pool"
"github.com/xjasonlyu/tun2socks/core" "github.com/xjasonlyu/tun2socks/core"
"github.com/xjasonlyu/tun2socks/log" "github.com/xjasonlyu/tun2socks/log"
@@ -78,16 +78,22 @@ func (h *udpHandler) Connect(conn core.UDPConn, target *net.UDPAddr) error {
return err return err
} }
var session = &S.Session{ // Get name of the process
Network: conn.LocalAddr().Network(), var process = lsof.GetProcessName(conn.LocalAddr())
DialerAddr: remoteConn.LocalAddr().String(), if monitor != nil {
ClientAddr: conn.LocalAddr().String(), session := &S.Session{
TargetAddr: targetAddr, Process: process,
UploadBytes: 0, Network: conn.LocalAddr().Network(),
DownloadBytes: 0, DialerAddr: remoteConn.LocalAddr().String(),
SessionStart: time.Now(), 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{ h.remoteMap.Store(conn, &udpElement{
remoteAddr: remoteAddr, remoteAddr: remoteAddr,
@@ -96,16 +102,7 @@ func (h *udpHandler) Connect(conn core.UDPConn, target *net.UDPAddr) error {
go h.fetchUDPInput(conn, remoteConn, target) go h.fetchUDPInput(conn, remoteConn, target)
go func() { log.Access(process, "proxy", "udp", conn.LocalAddr().String(), targetAddr)
// 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)
}()
return nil return nil
} }