From 409ba219dd4d447a3c8feb0c1fc512881fcc57cd Mon Sep 17 00:00:00 2001 From: Yuki Nagato <37764578+YUKI2eN3e@users.noreply.github.com> Date: Sat, 18 Jun 2022 16:53:50 -0700 Subject: [PATCH] build.bat, colour in vscode and Windows Terminal --- .gitignore | 2 ++ build.bat | 16 ++++++++++++++++ main.go | 2 +- session/session.go | 17 ++++++++++++++++- 4 files changed, 35 insertions(+), 2 deletions(-) create mode 100644 build.bat diff --git a/.gitignore b/.gitignore index 6c17bbe1..67f6272c 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,5 @@ stage/ /snap .idea + +bettercap.exe \ No newline at end of file diff --git a/build.bat b/build.bat new file mode 100644 index 00000000..182414a2 --- /dev/null +++ b/build.bat @@ -0,0 +1,16 @@ +@ECHO OFF +set TARGET_OS=windows +set TARGET_ARCH=amd64 +set OUTPUT=bettercap.exe + +rem CGO_CFLAGS="-I/Path-to-winpcap-x64-include-dir -I/Path-to-libusb-1.0-x64-include-dir" +set CGO_CFLAGS="-I/c/src/vcpkg/packages/winpcap_x64-windows-static/include -I/c/src/vcpkg/packages/libusb_x64-windows-static/include/libusb-1.0" + +rem CGO_LDFLAGS="-L/Path-to-winpcap-x64-lib-dir -L/Path-to-libusb-1.0-x64-lib-dir" +set CGO_LDFLAGS="-L/c/src/vcpkg/packages/winpcap_x64-windows-static/lib -L/c/src/vcpkg/packages/libusb_x64-windows-static/lib" + +rem Get deps +go get ./... + +rem Build +go build -o bettercap.exe . \ No newline at end of file diff --git a/main.go b/main.go index 7e0cbd24..d2e3245e 100644 --- a/main.go +++ b/main.go @@ -25,7 +25,7 @@ func main() { } defer sess.Close() - if !tui.Effects() { + if !session.Effects() { if *sess.Options.NoColors { fmt.Printf("\n\nWARNING: Terminal colors have been disabled, view will be very limited.\n\n") } else { diff --git a/session/session.go b/session/session.go index cab5eb06..49e136fb 100644 --- a/session/session.go +++ b/session/session.go @@ -94,13 +94,28 @@ type Session struct { script *Script } +func Effects() bool { + if wterm, exists := os.LookupEnv("WT_SESSION"); exists && wterm != "" { + return true + } + if vterm := os.Getenv("TERM_PROGRAM"); vterm == "vscode" { + return true + } + if term := os.Getenv("TERM"); term == "" { + return false + } else if term == "dumb" { + return false + } + return true +} + func New() (*Session, error) { opts, err := core.ParseOptions() if err != nil { return nil, err } - if *opts.NoColors || !tui.Effects() { + if *opts.NoColors || !Effects() { tui.Disable() log.NoEffects = true }