From 365ab6fb9debfc4fcc1ce25fdaa02a2da148a266 Mon Sep 17 00:00:00 2001 From: Jason Lee Date: Wed, 23 Nov 2016 10:21:06 +0800 Subject: [PATCH] Skip macOS networksetup call when it not in macOS --- Makefile | 22 ++++++++++++++-------- flora/networksetup.go | 9 +++++++++ main.go | 2 ++ 3 files changed, 25 insertions(+), 8 deletions(-) diff --git a/Makefile b/Makefile index c4599b5..60702a6 100644 --- a/Makefile +++ b/Makefile @@ -3,21 +3,27 @@ RELEASE_PATH = release/flora/ install: @go get build: - @go build -ldflags "-s -w" -release: - @make build - @make package + go build -ldflags "-s -w" -o release/flora-kit-darwin-amd64 + GOOS=linux GOARCH=amd64 go build -ldflags "-s -w" -o release/flora-kit-linux-amd64 + GOOS=linux GOARCH=386 go build -ldflags "-s -w" -o release/flora-kit-linux-i386 package: rm -Rf $(RELEASE_PATH)/* mkdir -p $(RELEASE_PATH) - cp ./flora-kit $(RELEASE_PATH) cp ./flora.default.conf $(RELEASE_PATH) cp ./geoip.mmdb $(RELEASE_PATH) cp ./LICENSE $(RELEASE_PATH) cp ./README.md $(RELEASE_PATH) - cd ./release && tar zcf flora.tar.gz flora -build_windows: - GOOS=windows go build -ldflags "-s -w" + # macOS + mv ./release/flora-kit-darwin-amd64 $(RELEASE_PATH)flora + cd ./release && tar zcf flora-macOS.tar.gz flora + # Linux amd64 + mv ./release/flora-kit-linux-amd64 $(RELEASE_PATH)flora + cd ./release && tar zcf flora-linux-amd64.tar.gz flora + # Linux i386 + mv ./release/flora-kit-linux-i386 $(RELEASE_PATH)flora + cd ./release && tar zcf flora-linux-i386.tar.gz flora + # remove history + rm $(RELEASE_PATH)flora run: @go run main.go test: diff --git a/flora/networksetup.go b/flora/networksetup.go index a573941..9c15d15 100644 --- a/flora/networksetup.go +++ b/flora/networksetup.go @@ -5,6 +5,7 @@ import ( "fmt" "log" "os/exec" + "runtime" "strings" ) @@ -13,6 +14,10 @@ type execNetworkFunc func(name string) var allow_services = "Wi-Fi|Thunderbolt Bridge|Thunderbolt Ethernet" func ResetAllProxys() { + if runtime.GOOS != "darwin" { + log.Println("WARN: Your not in macOS, Networksetup skiped. Please change Network proxy setting by manually.") + } + execNetworks(func(name string) { runNetworksetup("-setftpproxystate", name, "off") runNetworksetup("-setwebproxystate", name, "off") @@ -39,6 +44,10 @@ func SetProxyBypassDomains(domains []string) { } func runNetworksetup(args ...string) string { + if runtime.GOOS != "darwin" { + return "" + } + // log.Println("networksetup", args) cmd := exec.Command("networksetup", args...) var out, stderr bytes.Buffer diff --git a/main.go b/main.go index 2449464..af465ac 100644 --- a/main.go +++ b/main.go @@ -262,6 +262,8 @@ func run(listenAddr string) { if err != nil { log.Fatal(err) } + log.Println("Listen socks", listenAddr) + for { conn, err := ln.Accept() if err != nil {