summaryrefslogtreecommitdiff
path: root/modes/transparent_tcp/transparent_tcp.go
diff options
context:
space:
mode:
Diffstat (limited to 'modes/transparent_tcp/transparent_tcp.go')
-rw-r--r--modes/transparent_tcp/transparent_tcp.go37
1 files changed, 23 insertions, 14 deletions
diff --git a/modes/transparent_tcp/transparent_tcp.go b/modes/transparent_tcp/transparent_tcp.go
index 9f9fc18..51ec43b 100644
--- a/modes/transparent_tcp/transparent_tcp.go
+++ b/modes/transparent_tcp/transparent_tcp.go
@@ -30,8 +30,12 @@
package transparent_tcp
import (
+ options2 "github.com/OperatorFoundation/shapeshifter-dispatcher/common"
+
"github.com/OperatorFoundation/shapeshifter-dispatcher/common/pt_extras"
+ "github.com/OperatorFoundation/shapeshifter-dispatcher/transports"
"github.com/OperatorFoundation/shapeshifter-transports/transports/Dust"
+ replicant "github.com/OperatorFoundation/shapeshifter-transports/transports/Replicant"
"github.com/OperatorFoundation/shapeshifter-transports/transports/meeklite"
"github.com/OperatorFoundation/shapeshifter-transports/transports/obfs2"
"io"
@@ -92,8 +96,8 @@ func clientHandler(target string, termMon *termmon.TermMonitor, name string, opt
defer termMon.OnHandlerFinish()
var dialer func() (net.Conn, error)
-
- args, argsErr := pt.ParsePT2ClientParameters(options)
+//this is where the refactoring begins
+ args, argsErr := options2.ParseOptions(options)
if argsErr != nil {
log.Errorf("Error parsing transport options: %s", options)
return
@@ -163,18 +167,22 @@ func ServerSetup(termMon *termmon.TermMonitor, bindaddrString string, ptServerIn
case "obfs4":
transport := obfs4.NewObfs4Server(statedir)
listen = transport.Listen
- //case "Replicant":
- // shargs, aok := args["Replicant"]
- // if !aok {
- // return false, nil
- // }
- //
- // config, ok := shargs.Get("config")
- // if !ok {
- // return false, nil
- // }
- // transport := replicant.New(config)
- // listen = transport.Listen
+ case "Replicant":
+ shargs, aok := args["Replicant"]
+ if !aok {
+ return false, nil
+ }
+
+ configString, ok := shargs.Get("config")
+ if !ok {
+ return false, nil
+ }
+ config, err := transports.ParseReplicantConfig(configString)
+ if err != nil {
+ return false, nil
+ }
+ transport := replicant.New(config)
+ listen = transport.Listen
case "Dust":
shargs, aok := args["Dust"]
if !aok {
@@ -335,3 +343,4 @@ func copyLoop(a net.Conn, b net.Conn) error {
return nil
}
+