From 45f609b8ba54bc21441a335b7f9b89efe9dd3541 Mon Sep 17 00:00:00 2001 From: Anders Pitman Date: Mon, 7 Dec 2020 21:41:45 -0700 Subject: [PATCH] Move executable into separate package Enables us to move towards being able to import as a library. --- api.go | 2 +- auth.go | 2 +- boringproxy.go | 2 +- client.go | 2 +- main.go => cmd/boringproxy/main.go | 5 +++-- database.go | 2 +- go.mod | 2 +- http_proxy.go | 2 +- scripts/build_release.sh | 19 ++++++++++--------- sni.go | 2 +- tunnel_manager.go | 2 +- ui_handler.go | 2 +- utils.go | 2 +- 13 files changed, 24 insertions(+), 22 deletions(-) rename main.go => cmd/boringproxy/main.go (75%) diff --git a/api.go b/api.go index b604461..16d4eda 100644 --- a/api.go +++ b/api.go @@ -1,4 +1,4 @@ -package main +package boringproxy import ( "crypto/md5" diff --git a/auth.go b/auth.go index b0f8a1a..5bd046d 100644 --- a/auth.go +++ b/auth.go @@ -1,4 +1,4 @@ -package main +package boringproxy import ( "sync" diff --git a/boringproxy.go b/boringproxy.go index c5a3a52..d120c12 100644 --- a/boringproxy.go +++ b/boringproxy.go @@ -1,4 +1,4 @@ -package main +package boringproxy import ( "bufio" diff --git a/client.go b/client.go index ee5b892..f72df4e 100644 --- a/client.go +++ b/client.go @@ -1,4 +1,4 @@ -package main +package boringproxy import ( "context" diff --git a/main.go b/cmd/boringproxy/main.go similarity index 75% rename from main.go rename to cmd/boringproxy/main.go index a00d543..758a76c 100644 --- a/main.go +++ b/cmd/boringproxy/main.go @@ -2,6 +2,7 @@ package main import ( "fmt" + "github.com/boringproxy/boringproxy" "log" "os" ) @@ -18,10 +19,10 @@ func main() { switch command { case "server": log.Println("Starting up") - Listen() + boringproxy.Listen() case "client": - client := NewBoringProxyClient() + client := boringproxy.NewBoringProxyClient() client.RunPuppetClient() default: fmt.Println("Invalid command " + command) diff --git a/database.go b/database.go index 5ddf7ca..dc902b1 100644 --- a/database.go +++ b/database.go @@ -1,4 +1,4 @@ -package main +package boringproxy import ( "encoding/json" diff --git a/go.mod b/go.mod index 697cfb5..f693430 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module github.com/anderspitman/boringproxy +module github.com/boringproxy/boringproxy go 1.15 diff --git a/http_proxy.go b/http_proxy.go index 7de2d9d..65d68bd 100644 --- a/http_proxy.go +++ b/http_proxy.go @@ -1,4 +1,4 @@ -package main +package boringproxy import ( "bytes" diff --git a/scripts/build_release.sh b/scripts/build_release.sh index 24770e2..875a4aa 100755 --- a/scripts/build_release.sh +++ b/scripts/build_release.sh @@ -6,15 +6,16 @@ version=$(git describe --tags) rice embed-go -./scripts/build_arch.sh linux 386 -./scripts/build_arch.sh linux amd64 -./scripts/build_arch.sh linux arm -./scripts/build_arch.sh linux arm64 -./scripts/build_arch.sh android arm -./scripts/build_arch.sh android arm64 -./scripts/build_arch.sh windows 386 .exe -./scripts/build_arch.sh windows amd64 .exe +cd ./cmd/boringproxy -./scripts/build_arch.sh darwin amd64 +../../scripts/build_arch.sh linux 386 +../../scripts/build_arch.sh linux amd64 +../../scripts/build_arch.sh linux arm +../../scripts/build_arch.sh linux arm64 +../../scripts/build_arch.sh android arm +../../scripts/build_arch.sh android arm64 +../../scripts/build_arch.sh windows 386 .exe +../../scripts/build_arch.sh windows amd64 .exe +../../scripts/build_arch.sh darwin amd64 tar -czf ./boringproxy_${version}.tar.gz build/ diff --git a/sni.go b/sni.go index 4ca0e49..2cedc2f 100644 --- a/sni.go +++ b/sni.go @@ -1,7 +1,7 @@ // NOTE: A lot of this code was copied from this very helpful article: // https://www.agwa.name/blog/post/writing_an_sni_proxy_in_go -package main +package boringproxy import ( "bytes" diff --git a/tunnel_manager.go b/tunnel_manager.go index c07ab03..17891c1 100644 --- a/tunnel_manager.go +++ b/tunnel_manager.go @@ -1,4 +1,4 @@ -package main +package boringproxy import ( "crypto/rand" diff --git a/ui_handler.go b/ui_handler.go index 5d31f8c..03a22d6 100644 --- a/ui_handler.go +++ b/ui_handler.go @@ -1,4 +1,4 @@ -package main +package boringproxy import ( "encoding/base64" diff --git a/utils.go b/utils.go index e4094a8..4e407f2 100644 --- a/utils.go +++ b/utils.go @@ -1,4 +1,4 @@ -package main +package boringproxy import ( "crypto/rand"