Skip macOS networksetup call when it not in macOS

This commit is contained in:
Jason Lee
2016-11-23 10:21:06 +08:00
parent f7b777b9f7
commit 365ab6fb9d
3 changed files with 25 additions and 8 deletions

View File

@@ -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:

View File

@@ -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

View File

@@ -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 {