tcp-proxy/main.go

83 lines
1.4 KiB
Go
Raw Normal View History

2020-01-13 10:05:18 +00:00
package main
import (
2020-01-14 09:58:05 +00:00
"errors"
2020-01-13 10:05:18 +00:00
"fmt"
"log"
2020-01-14 10:02:25 +00:00
"tcp-proxy/pkg/config"
"tcp-proxy/pkg/listener"
"tcp-proxy/pkg/option"
2020-01-13 10:05:18 +00:00
)
2020-01-14 09:58:05 +00:00
func init() {
option.Parse()
}
2020-01-13 10:05:18 +00:00
func main() {
2020-01-14 09:58:05 +00:00
var err error
fmt.Println("tcp proxy")
opts := option.Get()
if opts == nil {
log.Fatal(errors.New("no flag parse"))
}
2020-01-13 10:05:18 +00:00
2020-01-14 09:58:05 +00:00
err = config.Load(opts.Config)
2020-01-13 10:05:18 +00:00
if err != nil {
log.Fatal(err)
}
2020-01-14 09:58:05 +00:00
conf := config.Get()
listener, err := listener.New(conf.Listen)
2020-01-13 10:05:18 +00:00
if err != nil {
log.Fatal(err)
}
2020-01-14 09:58:05 +00:00
err = listener.Listen()
2020-01-13 10:05:18 +00:00
if err != nil {
log.Fatal(err)
}
2020-01-14 09:58:05 +00:00
// 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)
// }
// }()
// }
2020-01-13 10:05:18 +00:00
}