diff --git a/cmd/main.go b/cmd/main.go index 73ee57c..7c61ec3 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -16,7 +16,7 @@ import ( "github.com/xjasonlyu/tun2socks/common/stats" "github.com/xjasonlyu/tun2socks/core" "github.com/xjasonlyu/tun2socks/filter" - "github.com/xjasonlyu/tun2socks/proxy/socks" + "github.com/xjasonlyu/tun2socks/proxy" "github.com/xjasonlyu/tun2socks/tun" // init logger @@ -149,8 +149,8 @@ func main() { } proxyHost := proxyAddr.IP.String() proxyPort := uint16(proxyAddr.Port) - core.RegisterTCPConnHandler(socks.NewTCPHandler(proxyHost, proxyPort, fakeDns, sessionStater)) - core.RegisterUDPConnHandler(socks.NewUDPHandler(proxyHost, proxyPort, *args.UdpTimeout, fakeDns, sessionStater)) + core.RegisterTCPConnHandler(proxy.NewTCPHandler(proxyHost, proxyPort, fakeDns, sessionStater)) + core.RegisterUDPConnHandler(proxy.NewUDPHandler(proxyHost, proxyPort, *args.UdpTimeout, fakeDns, sessionStater)) // Register an output callback to write packets output from lwip stack to tun // device, output function should be set before input any packets. diff --git a/proxy/socks/socks.go b/proxy/socks.go similarity index 99% rename from proxy/socks/socks.go rename to proxy/socks.go index cb31d9e..7bfc867 100644 --- a/proxy/socks/socks.go +++ b/proxy/socks.go @@ -1,7 +1,7 @@ // Code in this file are grabbed from https://github.com/nadoo/glider, which // is also referencing another repo: https://github.com/shadowsocks/go-shadowsocks2 -package socks +package proxy import ( "errors" diff --git a/proxy/socks/tcp.go b/proxy/tcp.go similarity index 93% rename from proxy/socks/tcp.go rename to proxy/tcp.go index 3fb4dad..1bbce52 100644 --- a/proxy/socks/tcp.go +++ b/proxy/tcp.go @@ -1,4 +1,4 @@ -package socks +package proxy import ( "net" @@ -12,7 +12,6 @@ import ( "github.com/xjasonlyu/tun2socks/common/lsof" "github.com/xjasonlyu/tun2socks/common/stats" "github.com/xjasonlyu/tun2socks/core" - . "github.com/xjasonlyu/tun2socks/proxy" ) type tcpHandler struct { @@ -71,12 +70,12 @@ func (h *tcpHandler) Handle(localConn net.Conn, target *net.TCPAddr) error { } // set keepalive - TCPKeepAlive(localConn) - TCPKeepAlive(remoteConn) + tcpKeepAlive(localConn) + tcpKeepAlive(remoteConn) go func() { // relay connections - TCPRelay(localConn, remoteConn) + tcpRelay(localConn, remoteConn) // remove session if h.sessionStater != nil { diff --git a/proxy/socks/udp.go b/proxy/udp.go similarity index 99% rename from proxy/socks/udp.go rename to proxy/udp.go index edac3db..aca9f24 100644 --- a/proxy/socks/udp.go +++ b/proxy/udp.go @@ -1,4 +1,4 @@ -package socks +package proxy import ( "bytes" diff --git a/proxy/proxy.go b/proxy/utils.go similarity index 85% rename from proxy/proxy.go rename to proxy/utils.go index f8783af..50428e8 100644 --- a/proxy/proxy.go +++ b/proxy/utils.go @@ -15,26 +15,26 @@ type duplexConn interface { CloseWrite() error } -func TCPCloseRead(conn net.Conn) { +func tcpCloseRead(conn net.Conn) { if c, ok := conn.(duplexConn); ok { c.CloseRead() } } -func TCPCloseWrite(conn net.Conn) { +func tcpCloseWrite(conn net.Conn) { if c, ok := conn.(duplexConn); ok { c.CloseWrite() } } -func TCPKeepAlive(conn net.Conn) { +func tcpKeepAlive(conn net.Conn) { if tcp, ok := conn.(*net.TCPConn); ok { tcp.SetKeepAlive(true) tcp.SetKeepAlivePeriod(30 * time.Second) } } -func TCPRelay(localConn, remoteConn net.Conn) { +func tcpRelay(localConn, remoteConn net.Conn) { var once sync.Once closeOnce := func() { once.Do(func() { @@ -59,7 +59,7 @@ func TCPRelay(localConn, remoteConn net.Conn) { } else { localConn.SetDeadline(time.Now()) remoteConn.SetDeadline(time.Now()) - TCPCloseRead(remoteConn) + tcpCloseRead(remoteConn) } wg.Done() }() @@ -71,7 +71,7 @@ func TCPRelay(localConn, remoteConn net.Conn) { } else { localConn.SetDeadline(time.Now()) remoteConn.SetDeadline(time.Now()) - TCPCloseRead(localConn) + tcpCloseRead(localConn) } pool.BufPool.Put(buf[:cap(buf)])