tcp-proxy/main.go

83 lines
1.4 KiB
Go

package main
import (
"errors"
"fmt"
"log"
"tcp-proxy/pkg/config"
"tcp-proxy/pkg/listener"
"tcp-proxy/pkg/option"
)
func init() {
option.Parse()
}
func main() {
var err error
fmt.Println("tcp proxy")
opts := option.Get()
if opts == nil {
log.Fatal(errors.New("no flag parse"))
}
err = config.Load(opts.Config)
if err != nil {
log.Fatal(err)
}
conf := config.Get()
listener, err := listener.New(conf.Listen)
if err != nil {
log.Fatal(err)
}
err = listener.Listen()
if err != nil {
log.Fatal(err)
}
// laddr, err := net.ResolveTCPAddr("tcp", ":9999")
// if err != nil {
// log.Fatal(err)
// }
// raddr, err := net.ResolveTCPAddr("tcp", "localhost:22")
// if err != nil {
// log.Fatal(err)
// }
// listener, err := net.ListenTCP("tcp", laddr)
// if err != nil {
// log.Fatal(err)
// }
// var connid uint64 = 0
// for {
// conn, err := listener.AcceptTCP()
// if err != nil {
// log.Println(err)
// continue
// }
// connid++
// var p *proxy.Proxy
// p = proxy.New(conn, laddr, raddr)
// p.Nagles = false
// p.OutputHex = true
// p.Log = logger.ColorLogger{
// VeryVerbose: true,
// Verbose: true,
// Prefix: fmt.Sprintf("Connection: #%03d ", connid),
// Color: true,
// }
// go func() {
// err := p.Start()
// if err != nil {
// log.Println("conn err ::: ", err)
// }
// }()
// }
}