From 57dc260155c58318a20a1e7260d66da2768e57f4 Mon Sep 17 00:00:00 2001 From: "Dr. Brandon Wiley" Date: Thu, 11 Oct 2018 03:28:57 -0500 Subject: Migrated from PT Go API 2.0 to PT Go Api 2.1 --- modes/transparent_udp/transparent_udp.go | 52 ++++++++++---------------------- 1 file changed, 16 insertions(+), 36 deletions(-) (limited to 'modes/transparent_udp') diff --git a/modes/transparent_udp/transparent_udp.go b/modes/transparent_udp/transparent_udp.go index 4be013a..9cceb82 100644 --- a/modes/transparent_udp/transparent_udp.go +++ b/modes/transparent_udp/transparent_udp.go @@ -43,8 +43,6 @@ import ( "github.com/OperatorFoundation/shapeshifter-dispatcher/common/log" "github.com/OperatorFoundation/shapeshifter-dispatcher/common/termmon" "github.com/OperatorFoundation/shapeshifter-ipc" - "github.com/OperatorFoundation/shapeshifter-transports/transports/base" - "github.com/OperatorFoundation/shapeshifter-transports/transports/meeklite" "github.com/OperatorFoundation/shapeshifter-transports/transports/obfs2" "github.com/OperatorFoundation/shapeshifter-transports/transports/obfs4" ) @@ -175,7 +173,7 @@ func dialConn(tracker *ConnTracker, addr string, target string, name string, opt fmt.Println("Dialing....") - var transport base.Transport + var dialer func(address string) net.Conn args, argsErr := pt.ParsePT2ClientParameters(options) if argsErr != nil { @@ -186,24 +184,15 @@ func dialConn(tracker *ConnTracker, addr string, target string, name string, opt // Deal with arguments. switch name { case "obfs2": - transport = obfs2.NewObfs2Transport() - case "meeklite": - if url, ok := args["url"]; ok { - if front, ok2 := args["front"]; ok2 { - transport = meeklite.NewMeekTransportWithFront(url[0], front[0]) - } else { - transport = meeklite.NewMeekTransport(url[0]) - } - } else { - log.Errorf("meeklite transport missing URL argument: %s", args) - return - } + transport := obfs2.NewObfs2Transport() + dialer = transport.Dial case "obfs4": if cert, ok := args["cert"]; ok { if iatModeStr, ok2 := args["iatMode"]; ok2 { iatMode, err := strconv.Atoi(iatModeStr[0]) if err != nil { - transport = obfs4.NewObfs4Client(cert[0], iatMode) + transport := obfs4.NewObfs4Client(cert[0], iatMode) + dialer = transport.Dial } else { log.Errorf("obfs4 transport bad iatMode value: %s", iatModeStr) return @@ -221,7 +210,7 @@ func dialConn(tracker *ConnTracker, addr string, target string, name string, opt return } - f := transport.Dial + f := dialer fmt.Println("Dialing ", target) remote := f(target) // if err != nil { @@ -237,7 +226,7 @@ func dialConn(tracker *ConnTracker, addr string, target string, name string, opt (*tracker)[addr] = ConnState{remote, false} } -func ServerSetup(termMon *termmon.TermMonitor, bindaddrString string, ptServerInfo pt.ServerInfo, options string) (launched bool, listeners []base.TransportListener) { +func ServerSetup(termMon *termmon.TermMonitor, bindaddrString string, ptServerInfo pt.ServerInfo, options string) (launched bool, listeners []net.Listener) { fmt.Println("ServerSetup") // Launch each of the server listeners. @@ -245,7 +234,7 @@ func ServerSetup(termMon *termmon.TermMonitor, bindaddrString string, ptServerIn name := bindaddr.MethodName fmt.Println("bindaddr", bindaddr) - var transport base.Transport + var listen func(address string) net.Listener args, argsErr := pt.ParsePT2ClientParameters(options) if argsErr != nil { @@ -256,24 +245,15 @@ func ServerSetup(termMon *termmon.TermMonitor, bindaddrString string, ptServerIn // Deal with arguments. switch name { case "obfs2": - transport = obfs2.NewObfs2Transport() - case "meeklite": - if url, ok := args["url"]; ok { - if front, ok2 := args["front"]; ok2 { - transport = meeklite.NewMeekTransportWithFront(url[0], front[0]) - } else { - transport = meeklite.NewMeekTransport(url[0]) - } - } else { - log.Errorf("meeklite transport missing URL argument: %s", args) - return - } + transport := obfs2.NewObfs2Transport() + listen = transport.Listen case "obfs4": if cert, ok := args["cert"]; ok { if iatModeStr, ok2 := args["iatMode"]; ok2 { iatMode, err := strconv.Atoi(iatModeStr[0]) if err != nil { - transport = obfs4.NewObfs4Client(cert[0], iatMode) + transport := obfs4.NewObfs4Client(cert[0], iatMode) + listen = transport.Listen } else { log.Errorf("obfs4 transport bad iatMode value: %s", iatModeStr) return @@ -291,7 +271,7 @@ func ServerSetup(termMon *termmon.TermMonitor, bindaddrString string, ptServerIn return } - f := transport.Listen + f := listen transportLn := f(bindaddr.Addr.String()) @@ -372,10 +352,10 @@ func parsePort(portStr string) (int, error) { return int(port), err } -func serverAcceptLoop(termMon *termmon.TermMonitor, name string, ln base.TransportListener, info *pt.ServerInfo) error { +func serverAcceptLoop(termMon *termmon.TermMonitor, name string, ln net.Listener, info *pt.ServerInfo) error { defer ln.Close() for { - conn, err := ln.TransportAccept() + conn, err := ln.Accept() fmt.Println("accepted") if err != nil { if e, ok := err.(net.Error); ok && !e.Temporary() { @@ -387,7 +367,7 @@ func serverAcceptLoop(termMon *termmon.TermMonitor, name string, ln base.Transpo } } -func serverHandler(termMon *termmon.TermMonitor, name string, remote base.TransportConn, info *pt.ServerInfo) { +func serverHandler(termMon *termmon.TermMonitor, name string, remote net.Conn, info *pt.ServerInfo) { var length16 uint16 defer remote.Close() -- cgit v1.2.3