From 47fefaacb67fa5e8b58d4fc80310c31a456ddaf0 Mon Sep 17 00:00:00 2001 From: amit bezalel Date: Thu, 12 Oct 2017 01:21:59 +0300 Subject: [PATCH] added missing target host to cmdline params --- proxy/cmd/main.go | 10 ++++++++-- proxy/proxy.go | 7 ++++--- recorder/cmd/main.go | 9 ++++++++- 3 files changed, 20 insertions(+), 6 deletions(-) diff --git a/proxy/cmd/main.go b/proxy/cmd/main.go index 8415390..16548eb 100644 --- a/proxy/cmd/main.go +++ b/proxy/cmd/main.go @@ -12,6 +12,7 @@ func main() { var vncPass = flag.String("vncPass", "", "password on incoming vnc connections to the proxy, defaults to no password") var recordDir = flag.String("recDir", "", "path to save FBS recordings WILL NOT RECORD if not defined.") var targetVncPort = flag.String("targPort", "", "target vnc server port") + var targetVncHost = flag.String("targHost", "", "target vnc server host") var targetVncPass = flag.String("targPass", "", "target vnc password") flag.Parse() @@ -34,14 +35,19 @@ func main() { if *recordDir == "" { logger.Warn("FBS recording is turned off") } + + tcpUrl := "" + if *tcpPort != "" { + tcpUrl = ":" + string(*tcpPort) + } proxy := &proxy.VncProxy{ WsListeningUrl: "http://localhost:" + string(*wsPort) + "/", // empty = not listening on ws RecordingDir: *recordDir, //"/Users/amitbet/vncRec", // empty = no recording - TcpListeningUrl: ":" + string(*tcpPort), + TcpListeningUrl: tcpUrl, ProxyVncPassword: *vncPass, //empty = no auth SingleSession: &proxy.VncSession{ - TargetHostname: "localhost", + TargetHostname: *targetVncHost, TargetPort: *targetVncPort, TargetPassword: *targetVncPass, //"vncPass", ID: "dummySession", diff --git a/proxy/proxy.go b/proxy/proxy.go index f98e962..18e60a9 100644 --- a/proxy/proxy.go +++ b/proxy/proxy.go @@ -62,7 +62,7 @@ func (vp *VncProxy) getProxySession(sessionId string) (*VncSession, error) { } func (vp *VncProxy) newServerConnHandler(cfg *server.ServerConfig, sconn *server.ServerConn) error { - + var err error session, err := vp.getProxySession(sconn.SessionId) if err != nil { logger.Errorf("Proxy.newServerConnHandler can't get session: %d", sconn.SessionId) @@ -70,10 +70,11 @@ func (vp *VncProxy) newServerConnHandler(cfg *server.ServerConfig, sconn *server } var rec *listeners.Recorder + if session.Type == SessionTypeRecordingProxy { recFile := "recording" + strconv.FormatInt(time.Now().Unix(), 10) + ".rbs" recPath := path.Join(vp.RecordingDir, recFile) - rec, err := listeners.NewRecorder(recPath) + rec, err = listeners.NewRecorder(recPath) if err != nil { logger.Errorf("Proxy.newServerConnHandler can't open recorder save path: %s", recPath) return err @@ -173,7 +174,7 @@ func (vp *VncProxy) StartListening() { logger.Infof("running two listeners: tcp port: %s, ws url: %s", vp.TcpListeningUrl, vp.WsListeningUrl) go server.WsServe(vp.WsListeningUrl, cfg) - server.TcpServe(":"+vp.TcpListeningUrl, cfg) + server.TcpServe(vp.TcpListeningUrl, cfg) } if vp.WsListeningUrl != "" { diff --git a/recorder/cmd/main.go b/recorder/cmd/main.go index 1d1ab85..f33b2fb 100644 --- a/recorder/cmd/main.go +++ b/recorder/cmd/main.go @@ -19,9 +19,16 @@ func main() { var recordDir = flag.String("recDir", "", "path to save FBS recordings WILL NOT RECORD IF EMPTY.") var targetVncPort = flag.String("targPort", "", "target vnc server port") var targetVncPass = flag.String("targPass", "", "target vnc password") + var targetVncHost = flag.String("targHost", "localhost", "target vnc hostname") flag.Parse() + if *targetVncHost == "" { + logger.Error("no target vnc server host defined") + flag.Usage() + os.Exit(1) + } + if *targetVncPort == "" { logger.Error("no target vnc server port defined") flag.Usage() @@ -36,7 +43,7 @@ func main() { } //nc, err := net.Dial("tcp", "192.168.1.101:5903") - nc, err := net.Dial("tcp", "localhost:"+*targetVncPort) + nc, err := net.Dial("tcp", *targetVncHost+":"+*targetVncPort) if err != nil { logger.Errorf("error connecting to vnc server: %s", err)