diff --git a/cmd/sclient/main.go b/cmd/sclient/main.go index c88971f..f13678a 100644 --- a/cmd/sclient/main.go +++ b/cmd/sclient/main.go @@ -24,13 +24,15 @@ func ver() string { } func usage() { - fmt.Fprintf(os.Stderr, "\nsclient %s\n"+ + fmt.Fprintf(os.Stderr, "\n%s\n"+ "\nusage: sclient \n"+ "\n"+ " ex: sclient example.com 3000\n"+ " (sclient example.com:443 localhost:3000)\n"+ "\n"+ " ex: sclient example.com:8443 0.0.0.0:4080\n"+ + "\n"+ + " ex: sclient example.com:443 -\n"+ "\n", ver()) flag.PrintDefaults() fmt.Println() @@ -46,7 +48,7 @@ func main() { } flag.Usage = usage - insecure := flag.Bool("k", false, "ignore bad TLS/SSL/HTTPS certificates") + insecure := flag.Bool("k", false, "alias for --insecure") silent := flag.Bool("s", false, "alias of --silent") servername := flag.String("servername", "", "specify a servername different from (to disable SNI use an IP as and do use this option)") flag.BoolVar(insecure, "insecure", false, "ignore bad TLS/SSL/HTTPS certificates") diff --git a/sclient.go b/sclient.go index 2631546..b8f82c9 100644 --- a/sclient.go +++ b/sclient.go @@ -58,8 +58,10 @@ func (t *Tunnel) DialAndListen() error { return err } - fmt.Fprintf(os.Stdout, "[listening] %s:%d <= %s:%d\n", - t.RemoteAddress, t.RemotePort, t.LocalAddress, t.LocalPort) + if !t.Silent { + fmt.Fprintf(os.Stdout, "[listening] %s:%d <= %s:%d\n", + t.RemoteAddress, t.RemotePort, t.LocalAddress, t.LocalPort) + } for { conn, err := ln.Accept() @@ -150,14 +152,14 @@ func (t *Tunnel) handleConnection(remote string, conn netReadWriteCloser) { return } - if "stdio" == conn.RemoteAddr().Network() { - if !t.Silent { + if !t.Silent { + if "stdio" == conn.RemoteAddr().Network() { fmt.Fprintf(os.Stdout, "(connected to %s:%d and reading from %s)\n", t.RemoteAddress, t.RemotePort, conn.RemoteAddr().String()) + } else { + fmt.Fprintf(os.Stdout, "[connect] %s => %s:%d\n", + strings.Replace(conn.RemoteAddr().String(), "[::1]:", "localhost:", 1), t.RemoteAddress, t.RemotePort) } - } else { - fmt.Fprintf(os.Stdout, "[connect] %s => %s:%d\n", - strings.Replace(conn.RemoteAddr().String(), "[::1]:", "localhost:", 1), t.RemoteAddress, t.RemotePort) } go pipe(conn, sclient, "local")