mirror of https://github.com/ginuerzh/gost
3 changed files with 58 additions and 36 deletions
@ -0,0 +1,57 @@ |
|||
// +build !linux
|
|||
|
|||
package gost |
|||
|
|||
import ( |
|||
"errors" |
|||
"net" |
|||
|
|||
"github.com/go-log/log" |
|||
) |
|||
|
|||
type tcpRedirectHandler struct { |
|||
options *HandlerOptions |
|||
} |
|||
|
|||
// TCPRedirectHandler creates a server Handler for TCP redirect server.
|
|||
func TCPRedirectHandler(opts ...HandlerOption) Handler { |
|||
h := &tcpRedirectHandler{ |
|||
options: &HandlerOptions{ |
|||
Chain: new(Chain), |
|||
}, |
|||
} |
|||
for _, opt := range opts { |
|||
opt(h.options) |
|||
} |
|||
return h |
|||
} |
|||
|
|||
func (h *tcpRedirectHandler) Init(options ...HandlerOption) { |
|||
log.Log("[red-tcp] TCP redirect is not available on the Windows platform") |
|||
} |
|||
|
|||
func (h *tcpRedirectHandler) Handle(c net.Conn) { |
|||
log.Log("[red-tcp] TCP redirect is not available on the Windows platform") |
|||
c.Close() |
|||
} |
|||
|
|||
type udpRedirectHandler struct { |
|||
} |
|||
|
|||
// UDPRedirectHandler creates a server Handler for UDP transparent server.
|
|||
func UDPRedirectHandler(opts ...HandlerOption) Handler { |
|||
return &udpRedirectHandler{} |
|||
} |
|||
|
|||
func (h *udpRedirectHandler) Init(options ...HandlerOption) { |
|||
} |
|||
|
|||
func (h *udpRedirectHandler) Handle(conn net.Conn) { |
|||
log.Log("[red-udp] UDP redirect is not available on the Windows platform") |
|||
conn.Close() |
|||
} |
|||
|
|||
// UDPRedirectListener creates a Listener for UDP transparent proxy server.
|
|||
func UDPRedirectListener(addr string, cfg *UDPListenConfig) (Listener, error) { |
|||
return nil, errors.New("UDP redirect is not available on the Windows platform") |
|||
} |
|||
@ -1,35 +0,0 @@ |
|||
// +build windows
|
|||
|
|||
package gost |
|||
|
|||
import ( |
|||
"net" |
|||
|
|||
"github.com/go-log/log" |
|||
) |
|||
|
|||
type tcpRedirectHandler struct { |
|||
options *HandlerOptions |
|||
} |
|||
|
|||
// TCPRedirectHandler creates a server Handler for TCP redirect server.
|
|||
func TCPRedirectHandler(opts ...HandlerOption) Handler { |
|||
h := &tcpRedirectHandler{ |
|||
options: &HandlerOptions{ |
|||
Chain: new(Chain), |
|||
}, |
|||
} |
|||
for _, opt := range opts { |
|||
opt(h.options) |
|||
} |
|||
return h |
|||
} |
|||
|
|||
func (h *tcpRedirectHandler) Init(options ...HandlerOption) { |
|||
log.Log("[red-tcp] TCP redirect is not available on the Windows platform") |
|||
} |
|||
|
|||
func (h *tcpRedirectHandler) Handle(c net.Conn) { |
|||
log.Log("[red-tcp] TCP redirect is not available on the Windows platform") |
|||
c.Close() |
|||
} |
|||
Loading…
Reference in new issue