tls-proxy/main.go

43 lines
743 B
Go

package main
import (
"net"
"os"
"github.com/rs/zerolog"
"github.com/rs/zerolog/log"
)
func main() {
log.Logger = log.Output(zerolog.ConsoleWriter{Out: os.Stderr})
// Create a new listener
listener, err := net.Listen("tcp", ":8443")
if err != nil {
log.Panic().Err(err).Msg("Failed to create listener")
}
// Accept connections
for {
conn, err := listener.Accept()
if err != nil {
log.Err(err).Msg("Failed to accept connection")
continue
}
go func(conn net.Conn) {
defer conn.Close()
serverName, _, err := getServerNameExtension(conn)
if err != nil {
log.Err(err).Msg("Failed to read client hello")
return
}
log.Info().Str("SNI", serverName).Msg("Accepted connection")
}(conn)
}
}