Layer4, TCP and UDP, proxy servers and library for Go.
- TCP server
- TCP proxy
- UDP server
- UDP proxy
- High performance
svr := &tcp.Server{
Addr: ":8000",
Handler: tcp.NewProxy("localhost:9000"),
}
if err := svr.ListenAndServe(); err != nil && err != tcp.ErrServerClosed {
panic(err)
}svr := &udp.Server{
Addr: ":8000",
Handler: udp.NewProxy("localhost:9000"),
}
if err := svr.ListenAndServe(); err != nil && err != udp.ErrServerClosed {
panic(err)
}- GoDoc: https://pkg.go.dev/github.com/aileron-projects/go-l4proxy
- Examples:
- TCP proxy: examples/tcp-proxy
- TCP proxy with upstream TLS: examples/tcp-proxy-tls
- TCP server: examples/tcp-server-simple
- TCP server graceful shutdown: examples/tcp-server-runner
- TCP TLS server: examples/tcp-server-tls
- TCP server with ip whitelist: examples/tcp-server-whitelist
- TCP server with max connections: examples/tcp-limit-concurrency
- TCP server listens on a unix abstract socket: examples/tcp-socket-abstract
- TCP server listens on a unix path socket: examples/tcp-socket-path
- UDP proxy: examples/udp-proxy
- UDP server: examples/udp-server-simple
- UDP server graceful shutdown: examples/udp-server-runner
- UDP server with ip whitelist: examples/udp-server-whitelist
- UDP server listens on a unix abstract socket: examples/udp-socket-abstract
- UDP server listens on a unix path socket: examples/udp-socket-path