add go-tun2socks code

This commit is contained in:
Jason
2019-07-16 11:37:52 +08:00
parent 828ba9948d
commit 6d01dec5a4
301 changed files with 69694 additions and 1 deletions

31
core/handler.go Normal file
View File

@@ -0,0 +1,31 @@
package core
import (
"net"
)
// TCPConnHandler handles TCP connections comming from TUN.
type TCPConnHandler interface {
// Handle handles the conn for target.
Handle(conn net.Conn, target *net.TCPAddr) error
}
// UDPConnHandler handles UDP connections comming from TUN.
type UDPConnHandler interface {
// Connect connects the proxy server. Note that target can be nil.
Connect(conn UDPConn, target *net.UDPAddr) error
// ReceiveTo will be called when data arrives from TUN.
ReceiveTo(conn UDPConn, data []byte, addr *net.UDPAddr) error
}
var tcpConnHandler TCPConnHandler
var udpConnHandler UDPConnHandler
func RegisterTCPConnHandler(h TCPConnHandler) {
tcpConnHandler = h
}
func RegisterUDPConnHandler(h UDPConnHandler) {
udpConnHandler = h
}