diff --git a/core/adapter.go b/core/adapter/adapter.go similarity index 92% rename from core/adapter.go rename to core/adapter/adapter.go index ea184c0..e4e4296 100644 --- a/core/adapter.go +++ b/core/adapter/adapter.go @@ -1,4 +1,4 @@ -package core +package adapter import ( "net" diff --git a/core/handler.go b/core/adapter/handler.go similarity index 91% rename from core/handler.go rename to core/adapter/handler.go index 0a9345d..2878b71 100644 --- a/core/handler.go +++ b/core/adapter/handler.go @@ -1,4 +1,4 @@ -package core +package adapter // Handler is a TCP/UDP connection handler that implements // HandleTCPConn and HandleUDPConn methods. diff --git a/core/stack/stack.go b/core/stack/stack.go index a1c46e6..d9b4770 100644 --- a/core/stack/stack.go +++ b/core/stack/stack.go @@ -2,7 +2,7 @@ package stack import ( - "github.com/xjasonlyu/tun2socks/v2/core" + "github.com/xjasonlyu/tun2socks/v2/core/adapter" "gvisor.dev/gvisor/pkg/tcpip" "gvisor.dev/gvisor/pkg/tcpip/network/ipv4" @@ -16,12 +16,12 @@ import ( type Stack struct { *stack.Stack - handler core.Handler + handler adapter.Handler nicID tcpip.NICID } // New allocates a new *Stack with given options. -func New(ep stack.LinkEndpoint, handler core.Handler, opts ...Option) (*Stack, error) { +func New(ep stack.LinkEndpoint, handler adapter.Handler, opts ...Option) (*Stack, error) { s := &Stack{ Stack: stack.New(stack.Options{ NetworkProtocols: []stack.NetworkProtocolFactory{ diff --git a/engine/tunnel.go b/engine/tunnel.go index 627d6c3..fde0017 100644 --- a/engine/tunnel.go +++ b/engine/tunnel.go @@ -1,18 +1,18 @@ package engine import ( - "github.com/xjasonlyu/tun2socks/v2/core" + "github.com/xjasonlyu/tun2socks/v2/core/adapter" "github.com/xjasonlyu/tun2socks/v2/tunnel" ) -var _ core.Handler = (*fakeTunnel)(nil) +var _ adapter.Handler = (*fakeTunnel)(nil) type fakeTunnel struct{} -func (*fakeTunnel) HandleTCPConn(conn core.TCPConn) { +func (*fakeTunnel) HandleTCPConn(conn adapter.TCPConn) { tunnel.TCPIn() <- conn } -func (*fakeTunnel) HandleUDPConn(conn core.UDPConn) { +func (*fakeTunnel) HandleUDPConn(conn adapter.UDPConn) { tunnel.UDPIn() <- conn } diff --git a/tunnel/tcp.go b/tunnel/tcp.go index 792c738..e0a7017 100644 --- a/tunnel/tcp.go +++ b/tunnel/tcp.go @@ -7,7 +7,7 @@ import ( "time" "github.com/xjasonlyu/tun2socks/v2/common/pool" - "github.com/xjasonlyu/tun2socks/v2/core" + "github.com/xjasonlyu/tun2socks/v2/core/adapter" "github.com/xjasonlyu/tun2socks/v2/log" M "github.com/xjasonlyu/tun2socks/v2/metadata" "github.com/xjasonlyu/tun2socks/v2/proxy" @@ -22,7 +22,7 @@ func newTCPTracker(conn net.Conn, metadata *M.Metadata) net.Conn { return statistic.NewTCPTracker(conn, metadata, statistic.DefaultManager) } -func handleTCPConn(localConn core.TCPConn) { +func handleTCPConn(localConn adapter.TCPConn) { defer localConn.Close() var ( diff --git a/tunnel/tunnel.go b/tunnel/tunnel.go index a8e2346..8ced53f 100644 --- a/tunnel/tunnel.go +++ b/tunnel/tunnel.go @@ -1,13 +1,13 @@ package tunnel import ( - "github.com/xjasonlyu/tun2socks/v2/core" + "github.com/xjasonlyu/tun2socks/v2/core/adapter" ) // Unbuffered TCP/UDP queues. var ( - _tcpQueue = make(chan core.TCPConn) - _udpQueue = make(chan core.UDPConn) + _tcpQueue = make(chan adapter.TCPConn) + _udpQueue = make(chan adapter.UDPConn) ) func init() { @@ -15,12 +15,12 @@ func init() { } // TCPIn return fan-in TCP queue. -func TCPIn() chan<- core.TCPConn { +func TCPIn() chan<- adapter.TCPConn { return _tcpQueue } // UDPIn return fan-in UDP queue. -func UDPIn() chan<- core.UDPConn { +func UDPIn() chan<- adapter.UDPConn { return _udpQueue } diff --git a/tunnel/udp.go b/tunnel/udp.go index 504abc3..57593a1 100644 --- a/tunnel/udp.go +++ b/tunnel/udp.go @@ -7,7 +7,7 @@ import ( "time" "github.com/xjasonlyu/tun2socks/v2/common/pool" - "github.com/xjasonlyu/tun2socks/v2/core" + "github.com/xjasonlyu/tun2socks/v2/core/adapter" "github.com/xjasonlyu/tun2socks/v2/log" M "github.com/xjasonlyu/tun2socks/v2/metadata" "github.com/xjasonlyu/tun2socks/v2/proxy" @@ -25,7 +25,7 @@ func newUDPTracker(conn net.PacketConn, metadata *M.Metadata) net.PacketConn { return statistic.NewUDPTracker(conn, metadata, statistic.DefaultManager) } -func handleUDPConn(uc core.UDPConn) { +func handleUDPConn(uc adapter.UDPConn) { defer uc.Close() var ( @@ -55,7 +55,7 @@ func handleUDPConn(uc core.UDPConn) { handleUDPToLocal(uc, pc, remote) } -func handleUDPToRemote(uc core.UDPConn, pc net.PacketConn, remote net.Addr) { +func handleUDPToRemote(uc adapter.UDPConn, pc net.PacketConn, remote net.Addr) { buf := pool.Get(pool.MaxSegmentSize) defer pool.Put(buf) @@ -74,7 +74,7 @@ func handleUDPToRemote(uc core.UDPConn, pc net.PacketConn, remote net.Addr) { } } -func handleUDPToLocal(uc core.UDPConn, pc net.PacketConn, remote net.Addr) { +func handleUDPToLocal(uc adapter.UDPConn, pc net.PacketConn, remote net.Addr) { buf := pool.Get(pool.MaxSegmentSize) defer pool.Put(buf)