summaryrefslogtreecommitdiffhomepage
path: root/cmd/testderper/test.go
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/testderper/test.go')
-rw-r--r--cmd/testderper/test.go79
1 files changed, 79 insertions, 0 deletions
diff --git a/cmd/testderper/test.go b/cmd/testderper/test.go
new file mode 100644
index 000000000..eb4756ea2
--- /dev/null
+++ b/cmd/testderper/test.go
@@ -0,0 +1,79 @@
+package main
+
+import (
+ "context"
+ "fmt"
+ "log"
+ "time"
+
+ "tailscale.com/derp/derphttp"
+ "tailscale.com/types/key"
+)
+
+// THIS FILE WILL NOT BE INCLUDED, ITS JUST FOR LOCAL TESTING.
+// PLEASE IGNORE :)
+
+func main() {
+
+ dothestuff()
+
+}
+
+func dothestuff() {
+
+ clientPriv := key.NewNode()
+
+ c, err := derphttp.NewClient(clientPriv, "http://localhost:3340/derp", log.Printf)
+ if err != nil {
+ log.Fatal(err)
+ }
+ defer c.Close()
+
+ err = c.Connect(context.Background())
+ if err != nil {
+ fmt.Println(err)
+ panic("connect")
+ }
+
+ n := key.NewNode()
+
+ nc, err := derphttp.NewClient(clientPriv, "http://localhost:3340/derp", log.Printf)
+ if err != nil {
+ log.Fatal(err)
+ }
+ defer nc.Close()
+
+ err = nc.Connect(context.Background())
+ if err != nil {
+ fmt.Println(err)
+ panic("connect")
+ }
+
+ fmt.Println(c.ServerPublicKey())
+
+ for i := 0; i < 2; i++ {
+
+ fmt.Println("hi?")
+
+ if err := c.SendPing([8]byte{1, 2, 3, 4, 5, 6, 7, 8}); err != nil {
+ fmt.Println(err)
+ }
+ time.Sleep(time.Millisecond * 100)
+
+ if err := c.Send(n.Public(), []byte{1, 2, 3, 4, 5, 6, 7, 8}); err != nil {
+ fmt.Println(err)
+ }
+
+ time.Sleep(time.Millisecond * 100)
+
+ if err := nc.Send(clientPriv.Public(), []byte{1, 2, 3, 4, 5, 6, 7, 8}); err != nil {
+ fmt.Println(err)
+ }
+
+ c.NotePreferred(true)
+
+ time.Sleep(time.Millisecond * 100)
+
+ }
+
+}