update register

This commit is contained in:
Jason
2019-08-16 14:49:20 +08:00
parent a182fa8bde
commit 8fa4541d05
7 changed files with 73 additions and 63 deletions

View File

@@ -12,7 +12,6 @@ import (
"github.com/xjasonlyu/tun2socks/core"
"github.com/xjasonlyu/tun2socks/log"
D "github.com/xjasonlyu/tun2socks/component/fakedns"
S "github.com/xjasonlyu/tun2socks/component/session"
)
@@ -23,17 +22,12 @@ type udpHandler struct {
remoteAddrMap sync.Map
remoteConnMap sync.Map
fakeDNS D.FakeDNS
monitor S.Monitor
}
func NewUDPHandler(proxyHost string, proxyPort int, timeout time.Duration, fakeDNS D.FakeDNS, monitor S.Monitor) core.UDPConnHandler {
func NewUDPHandler(proxyHost string, proxyPort int, timeout time.Duration) core.UDPConnHandler {
return &udpHandler{
proxyHost: proxyHost,
proxyPort: proxyPort,
fakeDNS: fakeDNS,
monitor: monitor,
timeout: timeout,
}
}
@@ -65,7 +59,7 @@ func (h *udpHandler) fetchUDPInput(conn core.UDPConn, input net.PacketConn, addr
func (h *udpHandler) Connect(conn core.UDPConn, target *net.UDPAddr) error {
// Lookup fakeDNS host record
targetHost, err := lookupHost(h.fakeDNS, target)
targetHost, err := lookupHost(target)
if err != nil {
log.Warnf("lookup target host error: %v", err)
return err
@@ -82,7 +76,7 @@ func (h *udpHandler) Connect(conn core.UDPConn, target *net.UDPAddr) error {
// Get name of the process
var process = lsof.GetProcessName(conn.LocalAddr())
if h.monitor != nil {
if monitor != nil {
session := &S.Session{
Process: process,
Network: conn.LocalAddr().Network(),
@@ -93,8 +87,7 @@ func (h *udpHandler) Connect(conn core.UDPConn, target *net.UDPAddr) error {
DownloadBytes: 0,
SessionStart: time.Now(),
}
h.monitor.AddSession(conn, session)
addSession(conn, session)
remoteConn = &S.PacketConn{Session: session, PacketConn: remoteConn}
}
@@ -152,7 +145,5 @@ func (h *udpHandler) Close(conn core.UDPConn) {
conn.Close()
// Remove session
if h.monitor != nil {
h.monitor.RemoveSession(conn)
}
removeSession(conn)
}