summaryrefslogtreecommitdiff
path: root/cmd
diff options
context:
space:
mode:
Diffstat (limited to 'cmd')
-rw-r--r--cmd/tunnel/main.go35
-rw-r--r--cmd/tunneld/main.go32
2 files changed, 67 insertions, 0 deletions
diff --git a/cmd/tunnel/main.go b/cmd/tunnel/main.go
new file mode 100644
index 0000000..be4574d
--- /dev/null
+++ b/cmd/tunnel/main.go
@@ -0,0 +1,35 @@
+package main
+
+import (
+ "tunnel/pkg/client"
+ "strings"
+ "fmt"
+ "log"
+ "os"
+)
+
+func main() {
+ var args = os.Args
+
+ if len(args) < 2 {
+ log.Fatal("bad usage")
+ }
+
+ c, err := client.New()
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ reply, err := c.Send(args[1:])
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ reply = strings.TrimSpace(reply)
+
+ if reply != "" {
+ fmt.Println(reply)
+ }
+
+ c.Close()
+}
diff --git a/cmd/tunneld/main.go b/cmd/tunneld/main.go
new file mode 100644
index 0000000..addb002
--- /dev/null
+++ b/cmd/tunneld/main.go
@@ -0,0 +1,32 @@
+package main
+
+import (
+ "tunnel/pkg/server"
+ "os/signal"
+ "syscall"
+ "log"
+ "os"
+)
+
+func main() {
+ var c = make(chan os.Signal)
+
+ signal.Notify(c, syscall.SIGINT, syscall.SIGTERM)
+
+ s, err := server.New()
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ go func () {
+ sig := <-c
+
+ log.Printf("killed by signal: %s", sig)
+
+ s.Stop()
+ }()
+
+ s.Run()
+
+ log.Print("exit")
+}