From 82b1320d6583af94e8f3c9dce11a7594dbde779f Mon Sep 17 00:00:00 2001 From: Ondrej Sika Date: Sat, 21 Aug 2021 16:48:43 +0200 Subject: [PATCH] feat(cmd/proxy/tcp): Add proxy, proxy tcp command --- cmd/cmd.go | 2 ++ cmd/proxy/proxy.go | 15 +++++++++++++++ cmd/proxy/tcp/tcp.go | 40 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 57 insertions(+) create mode 100644 cmd/proxy/proxy.go create mode 100644 cmd/proxy/tcp/tcp.go diff --git a/cmd/cmd.go b/cmd/cmd.go index 71b50e31..9b861846 100644 --- a/cmd/cmd.go +++ b/cmd/cmd.go @@ -28,6 +28,8 @@ import ( _ "github.com/sikalabs/slu/cmd/postgres/create" _ "github.com/sikalabs/slu/cmd/postgres/drop" _ "github.com/sikalabs/slu/cmd/postgres/list" + _ "github.com/sikalabs/slu/cmd/proxy" + _ "github.com/sikalabs/slu/cmd/proxy/tcp" "github.com/sikalabs/slu/cmd/root" _ "github.com/sikalabs/slu/cmd/version" "github.com/spf13/cobra" diff --git a/cmd/proxy/proxy.go b/cmd/proxy/proxy.go new file mode 100644 index 00000000..c8a8eb1e --- /dev/null +++ b/cmd/proxy/proxy.go @@ -0,0 +1,15 @@ +package proxy + +import ( + "github.com/sikalabs/slu/cmd/root" + "github.com/spf13/cobra" +) + +var Cmd = &cobra.Command{ + Use: "proxy", + Short: "Proxy Utils", +} + +func init() { + root.RootCmd.AddCommand(Cmd) +} diff --git a/cmd/proxy/tcp/tcp.go b/cmd/proxy/tcp/tcp.go new file mode 100644 index 00000000..5bfc97a9 --- /dev/null +++ b/cmd/proxy/tcp/tcp.go @@ -0,0 +1,40 @@ +package tcp + +import ( + proxy_cmd "github.com/sikalabs/slu/cmd/proxy" + "github.com/sikalabs/slu/utils/3rdparty/go_tcp_proxy" + + "github.com/spf13/cobra" +) + +var CmdFlagLocalAddr string +var CmdFlagRemoteAddr string + +var Cmd = &cobra.Command{ + Use: "tcp", + Short: "TCP Proxy", + Args: cobra.NoArgs, + Run: func(c *cobra.Command, args []string) { + go_tcp_proxy.RunProxy(CmdFlagLocalAddr, CmdFlagRemoteAddr) + }, +} + +func init() { + proxy_cmd.Cmd.AddCommand(Cmd) + Cmd.Flags().StringVarP( + &CmdFlagLocalAddr, + "local", + "l", + "", + "Local address (eg. :8000)", + ) + Cmd.MarkFlagRequired("local") + Cmd.Flags().StringVarP( + &CmdFlagRemoteAddr, + "remote", + "r", + "", + "Remote address (eg. neverssl.com:80)", + ) + Cmd.MarkFlagRequired("target") +}