added missing target host to cmdline params

This commit is contained in:
amit bezalel 2017-10-12 01:21:59 +03:00
parent 7852f11ceb
commit 47fefaacb6
3 changed files with 20 additions and 6 deletions

View File

@ -12,6 +12,7 @@ func main() {
var vncPass = flag.String("vncPass", "", "password on incoming vnc connections to the proxy, defaults to no password") 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 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 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") var targetVncPass = flag.String("targPass", "", "target vnc password")
flag.Parse() flag.Parse()
@ -34,14 +35,19 @@ func main() {
if *recordDir == "" { if *recordDir == "" {
logger.Warn("FBS recording is turned off") logger.Warn("FBS recording is turned off")
} }
tcpUrl := ""
if *tcpPort != "" {
tcpUrl = ":" + string(*tcpPort)
}
proxy := &proxy.VncProxy{ proxy := &proxy.VncProxy{
WsListeningUrl: "http://localhost:" + string(*wsPort) + "/", // empty = not listening on ws WsListeningUrl: "http://localhost:" + string(*wsPort) + "/", // empty = not listening on ws
RecordingDir: *recordDir, //"/Users/amitbet/vncRec", // empty = no recording RecordingDir: *recordDir, //"/Users/amitbet/vncRec", // empty = no recording
TcpListeningUrl: ":" + string(*tcpPort), TcpListeningUrl: tcpUrl,
ProxyVncPassword: *vncPass, //empty = no auth ProxyVncPassword: *vncPass, //empty = no auth
SingleSession: &proxy.VncSession{ SingleSession: &proxy.VncSession{
TargetHostname: "localhost", TargetHostname: *targetVncHost,
TargetPort: *targetVncPort, TargetPort: *targetVncPort,
TargetPassword: *targetVncPass, //"vncPass", TargetPassword: *targetVncPass, //"vncPass",
ID: "dummySession", ID: "dummySession",

View File

@ -62,7 +62,7 @@ func (vp *VncProxy) getProxySession(sessionId string) (*VncSession, error) {
} }
func (vp *VncProxy) newServerConnHandler(cfg *server.ServerConfig, sconn *server.ServerConn) error { func (vp *VncProxy) newServerConnHandler(cfg *server.ServerConfig, sconn *server.ServerConn) error {
var err error
session, err := vp.getProxySession(sconn.SessionId) session, err := vp.getProxySession(sconn.SessionId)
if err != nil { if err != nil {
logger.Errorf("Proxy.newServerConnHandler can't get session: %d", sconn.SessionId) 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 var rec *listeners.Recorder
if session.Type == SessionTypeRecordingProxy { if session.Type == SessionTypeRecordingProxy {
recFile := "recording" + strconv.FormatInt(time.Now().Unix(), 10) + ".rbs" recFile := "recording" + strconv.FormatInt(time.Now().Unix(), 10) + ".rbs"
recPath := path.Join(vp.RecordingDir, recFile) recPath := path.Join(vp.RecordingDir, recFile)
rec, err := listeners.NewRecorder(recPath) rec, err = listeners.NewRecorder(recPath)
if err != nil { if err != nil {
logger.Errorf("Proxy.newServerConnHandler can't open recorder save path: %s", recPath) logger.Errorf("Proxy.newServerConnHandler can't open recorder save path: %s", recPath)
return err 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) logger.Infof("running two listeners: tcp port: %s, ws url: %s", vp.TcpListeningUrl, vp.WsListeningUrl)
go server.WsServe(vp.WsListeningUrl, cfg) go server.WsServe(vp.WsListeningUrl, cfg)
server.TcpServe(":"+vp.TcpListeningUrl, cfg) server.TcpServe(vp.TcpListeningUrl, cfg)
} }
if vp.WsListeningUrl != "" { if vp.WsListeningUrl != "" {

View File

@ -19,9 +19,16 @@ func main() {
var recordDir = flag.String("recDir", "", "path to save FBS recordings WILL NOT RECORD IF EMPTY.") 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 targetVncPort = flag.String("targPort", "", "target vnc server port")
var targetVncPass = flag.String("targPass", "", "target vnc password") var targetVncPass = flag.String("targPass", "", "target vnc password")
var targetVncHost = flag.String("targHost", "localhost", "target vnc hostname")
flag.Parse() flag.Parse()
if *targetVncHost == "" {
logger.Error("no target vnc server host defined")
flag.Usage()
os.Exit(1)
}
if *targetVncPort == "" { if *targetVncPort == "" {
logger.Error("no target vnc server port defined") logger.Error("no target vnc server port defined")
flag.Usage() flag.Usage()
@ -36,7 +43,7 @@ func main() {
} }
//nc, err := net.Dial("tcp", "192.168.1.101:5903") //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 { if err != nil {
logger.Errorf("error connecting to vnc server: %s", err) logger.Errorf("error connecting to vnc server: %s", err)