summaryrefslogtreecommitdiff
path: root/modes/stun_udp
diff options
context:
space:
mode:
authorBluesaxorcist <joshua@operatorfoundation.org>2019-08-11 11:24:36 -0500
committerBluesaxorcist <joshua@operatorfoundation.org>2019-08-11 11:24:36 -0500
commit81f2420ae53508f3366e8a47dd8e2e73f80b16e1 (patch)
tree70bbf332348a5370321b1a5cd36345d7e3ebfeda /modes/stun_udp
parentfa1b158cc47e7f5d8958823ac51504c41a4b440e (diff)
commented in Optimizer and shadow code for later adjustment
Diffstat (limited to 'modes/stun_udp')
-rw-r--r--modes/stun_udp/stun_udp.go43
1 files changed, 43 insertions, 0 deletions
diff --git a/modes/stun_udp/stun_udp.go b/modes/stun_udp/stun_udp.go
index 7f0cdea..c9abcd6 100644
--- a/modes/stun_udp/stun_udp.go
+++ b/modes/stun_udp/stun_udp.go
@@ -31,6 +31,7 @@ package stun_udp
import (
"fmt"
+ "github.com/OperatorFoundation/shapeshifter-transports/transports/shadow"
"io"
golog "log"
"net"
@@ -254,6 +255,48 @@ func ServerSetup(termMon *termmon.TermMonitor, bindaddrString string, ptServerIn
log.Errorf("obfs4 transport missing cert argument: %s", args)
return
}
+ case "shadow":
+ if password, ok := args["password"]; ok {
+ if cipher, ok2 := args["cipherName"]; ok2 {
+ transport := shadow.NewShadowClient(password[0], cipher[0])
+ listen = transport.Listen
+ } else {
+ log.Errorf("shadow transport missing cipher argument: %s", args)
+ return
+ }
+ } else {
+ log.Errorf("shadow transport missing password argument: %s", args)
+ return
+ }
+ // case "Optimizer":
+ // if _, ok := args["transports"]; ok {
+ // if strategyName, ok2 := args["strategy"]; ok2 {
+ // var strategy Optimizer.Strategy = nil
+ // switch strategyName[0] {
+ // case "first":
+ // strategy = Optimizer.NewFirstStrategy()
+ // case "random":
+ // strategy = Optimizer.NewRandomStrategy()
+ // case "rotate":
+ // strategy = Optimizer.NewRotateStrategy()
+ // case "track":
+ // strategy = Optimizer.NewTrackStrategy()
+ // case "min":
+ // strategy = Optimizer.NewMinimizeDialDuration()
+ // }
+ //transports := []Optimizer.Transport{}
+ //transport := Optimizer.NewOptimizerClient(transports, strategy)
+ // return transport, nil
+ ////says too many arguments to return just like earlier. tried autocorrecting and now it says transport is not type bool
+ // } else {
+ // log.Errorf("Optimizer transport missing transports argument: %s", args)
+ // return
+ // }
+ //} else {
+ // log.Errorf("Optimizer transport missing strategy argument: %s", args)
+ // return
+ //}
+
default:
log.Errorf("Unknown transport: %s", name)
return