diff --git a/code/client/tunnel/vnc/worker/event.go b/code/client/tunnel/vnc/worker/event.go index d038e0d..14ed9fc 100644 --- a/code/client/tunnel/vnc/worker/event.go +++ b/code/client/tunnel/vnc/worker/event.go @@ -1,48 +1,11 @@ +// +build !vnc + package worker -import ( - "natpass/code/client/tunnel/vnc/vncnetwork" - - "github.com/go-vgo/robotgo" - "github.com/lwch/logging" -) +import "natpass/code/client/tunnel/vnc/vncnetwork" func runMouse(data *vncnetwork.MouseData) { - detach, err := attachDesktop() - if err != nil { - logging.Error("attach desktop: %v", err) - return - } - defer detach() - robotgo.MoveMouse(int(data.GetX()), int(data.GetY())) - var key string - switch data.GetBtn() { - case vncnetwork.MouseData_left: - key = "left" - case vncnetwork.MouseData_right: - key = "right" - case vncnetwork.MouseData_middle: - key = "center" - } - switch data.GetType() { - case vncnetwork.Status_down: - robotgo.MouseToggle("down", key) - case vncnetwork.Status_up: - robotgo.MouseToggle("up", key) - } } func runKeyboard(data *vncnetwork.KeyboardData) { - detach, err := attachDesktop() - if err != nil { - logging.Error("attach desktop: %v", err) - return - } - defer detach() - switch data.Type { - case vncnetwork.Status_down: - robotgo.KeyToggle(data.Key, "down") - case vncnetwork.Status_up: - robotgo.KeyToggle(data.Key, "up") - } } diff --git a/code/client/tunnel/vnc/worker/event_auto.go b/code/client/tunnel/vnc/worker/event_auto.go new file mode 100644 index 0000000..8fceefa --- /dev/null +++ b/code/client/tunnel/vnc/worker/event_auto.go @@ -0,0 +1,50 @@ +// +build vnc + +package worker + +import ( + "natpass/code/client/tunnel/vnc/vncnetwork" + + "github.com/go-vgo/robotgo" + "github.com/lwch/logging" +) + +func runMouse(data *vncnetwork.MouseData) { + detach, err := attachDesktop() + if err != nil { + logging.Error("attach desktop: %v", err) + return + } + defer detach() + robotgo.MoveMouse(int(data.GetX()), int(data.GetY())) + var key string + switch data.GetBtn() { + case vncnetwork.MouseData_left: + key = "left" + case vncnetwork.MouseData_right: + key = "right" + case vncnetwork.MouseData_middle: + key = "center" + } + switch data.GetType() { + case vncnetwork.Status_down: + robotgo.MouseToggle("down", key) + case vncnetwork.Status_up: + robotgo.MouseToggle("up", key) + } +} + +func runKeyboard(data *vncnetwork.KeyboardData) { + detach, err := attachDesktop() + if err != nil { + logging.Error("attach desktop: %v", err) + return + } + defer detach() + switch data.Type { + case vncnetwork.Status_down: + robotgo.KeyToggle(data.Key, "down") + case vncnetwork.Status_up: + robotgo.KeyToggle(data.Key, "up") + } +} diff --git a/contrib/build/build b/contrib/build/build index 97e1c11..5e8c289 100755 --- a/contrib/build/build +++ b/contrib/build/build @@ -25,4 +25,4 @@ go run contrib/bindata/main.go -pkg dashboard -o code/client/dashboard/assets.go go build -ldflags "$LDFLAGS" -o bin/np-svr code/server/*.go # CC=x86_64-w64-mingw32-gcc \ # CXX=x86_64-w64-mingw32-g++ \ -go build -ldflags "$LDFLAGS" -o bin/np-cli code/client/*.go \ No newline at end of file +go build -ldflags "$LDFLAGS" -tags "$TAGS" -o bin/np-cli code/client/*.go \ No newline at end of file diff --git a/contrib/build/build_all.go b/contrib/build/build_all.go index d4ee747..c0af3c6 100644 --- a/contrib/build/build_all.go +++ b/contrib/build/build_all.go @@ -150,6 +150,13 @@ func build(t target) { err = copyFile("CHANGELOG.md", path.Join(buildDir, "CHANGELOG.md")) runtime.Assert(err) + logging.Info("go env...") + cmd := exec.Command("go", "env") + cmd.Stdout = os.Stdout + cmd.Stderr = os.Stderr + cmd.Env = os.Environ() + runtime.Assert(cmd.Run()) + ldflags := "-X 'main.gitHash=" + gitHash() + "' " + "-X 'main.gitReversion=" + gitReversion() + "' " + "-X 'main.buildTime=" + buildTime() + "' " + @@ -157,7 +164,7 @@ func build(t target) { "--extldflags '-static -fpic -lssp'" logging.Info("build server...") - cmd := exec.Command("go", "build", "-o", path.Join(buildDir, "np-svr"+t.ext), + cmd = exec.Command("go", "build", "-o", path.Join(buildDir, "np-svr"+t.ext), "-ldflags", ldflags, path.Join("code", "server", "main.go")) cmd.Stdout = os.Stdout @@ -168,7 +175,7 @@ func build(t target) { fmt.Sprintf("GOARCH=%s", t.arch)) runtime.Assert(cmd.Run()) - logging.Info("build client...") + logging.Info("build client(no vnc)...") cmd = exec.Command("go", "build", "-o", path.Join(buildDir, "np-cli"+t.ext), "-ldflags", ldflags, path.Join("code", "client", "main.go"), @@ -176,7 +183,21 @@ func build(t target) { cmd.Stdout = os.Stdout cmd.Stderr = os.Stderr cmd.Env = append(os.Environ(), - "CGO_ENABLED=0", + fmt.Sprintf("GOOS=%s", t.os), + fmt.Sprintf("GOARCH=%s", t.arch), + fmt.Sprintf("CC=%s", t.cc), + fmt.Sprintf("CXX=%s", t.cxx)) + runtime.Assert(cmd.Run()) + + logging.Info("build client(vnc)...") + cmd = exec.Command("go", "build", "-o", path.Join(buildDir, "np-cli"+".vnc"+t.ext), + "-ldflags", ldflags, + "-tags", "vnc", + path.Join("code", "client", "main.go"), + path.Join("code", "client", "connect.go")) + cmd.Stdout = os.Stdout + cmd.Stderr = os.Stderr + cmd.Env = append(os.Environ(), fmt.Sprintf("GOOS=%s", t.os), fmt.Sprintf("GOARCH=%s", t.arch), fmt.Sprintf("CC=%s", t.cc),