Skip to content

Commit

Permalink
added factory listener on the other transports
Browse files Browse the repository at this point in the history
  • Loading branch information
CryptoSax committed Jun 29, 2020
1 parent 2f99699 commit 3d33991
Show file tree
Hide file tree
Showing 10 changed files with 120 additions and 12 deletions.
16 changes: 16 additions & 0 deletions transports/Dust/v3/Dust.go
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,22 @@ func (transport Transport) Dial() (net.Conn, error) {
return conn, nil
}
}

func (transport Transport) Listen() (net.Listener, error) {
addr, resolveErr := pt.ResolveAddr(transport.Address)
if resolveErr != nil {
fmt.Println(resolveErr.Error())
return nil, resolveErr
}

ln, err := net.ListenTCP("tcp", addr)
if err != nil {
fmt.Println(err.Error())
return nil, err
}
//TODO do we need to write an initializer function that imitates newDustTransportListener or add a parameter to Transport?
return ln, nil
}
//end optimizer code

func newDustTransportListener(listener *net.TCPListener, transport *dustServer) *dustTransportListener {
Expand Down
8 changes: 4 additions & 4 deletions transports/Optimizer/v3/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ module github.com/OperatorFoundation/shapeshifter-transports/transports/Optimize
go 1.12

require (
github.com/OperatorFoundation/shapeshifter-transports/transports/meeklite/v3 v3.0.2
github.com/OperatorFoundation/shapeshifter-transports/transports/obfs2/v3 v3.0.2
github.com/OperatorFoundation/shapeshifter-transports/transports/obfs4/v3 v3.0.2
github.com/OperatorFoundation/shapeshifter-transports/transports/shadow/v3 v3.0.2
github.com/OperatorFoundation/shapeshifter-transports/transports/meeklite/v3 v3.0.3
github.com/OperatorFoundation/shapeshifter-transports/transports/obfs2/v3 v3.0.3
github.com/OperatorFoundation/shapeshifter-transports/transports/obfs4/v3 v3.0.3
github.com/OperatorFoundation/shapeshifter-transports/transports/shadow/v3 v3.0.3
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b
)
21 changes: 19 additions & 2 deletions transports/Replicant/v3/Optimizer.go
Original file line number Diff line number Diff line change
@@ -1,18 +1,21 @@
package replicant

import (
pt "github.com/OperatorFoundation/shapeshifter-ipc"
"golang.org/x/net/proxy"
"net"
)

// This makes Replicant compliant with Optimizer
type Transport struct {
Config ClientConfig
Sconfig ServerConfig
//TODO was adding Sconfig the right move? after running the tests, nothing in the initial code was broken or failing
//TODO Do we need to add a test for the dial and listen that take nothing?
Address string
Dialer proxy.Dialer
}

// TODO: the dial we call currently does not return an error
func (transport Transport) Dial() (net.Conn, error) {
conn, dialErr := transport.Dialer.Dial("tcp", transport.Address)
if dialErr != nil {
Expand All @@ -27,7 +30,21 @@ func (transport Transport) Dial() (net.Conn, error) {
}

return transportConn, nil
}

func (transport Transport) Listen() (net.Listener, error) {
addr, resolveErr := pt.ResolveAddr(transport.Address)
if resolveErr != nil {
return nil, resolveErr
}

ln, err := net.ListenTCP("tcp", addr)
if err != nil {
return nil, err
}

return newReplicantTransportListener(ln, transport.Sconfig), nil
}
//replicantTransport := New(transport.Config, transport.Dialer)
//conn := replicantTransport.Dial(transport.Address)
//conn, err:= replicantTransport.Dial(transport.Address), errors.New("connection failed")
Expand All @@ -37,5 +54,5 @@ func (transport Transport) Dial() (net.Conn, error) {
// return conn, nil
//}
//return conn, nil
}


2 changes: 1 addition & 1 deletion transports/Replicant/v3/ReplicantClientConfig.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"config":"M/+BAwEBDENsaWVudENvbmZpZwH/ggABAgEJVG9uZWJ1cnN0ARAAAQZQb2xpc2gBEAAAAP+8/4IBZmdpdGh1Yi5jb20vT3BlcmF0b3JGb3VuZGF0aW9uL3NoYXBlc2hpZnRlci10cmFuc3BvcnRzL3RyYW5zcG9ydHMvUmVwbGljYW50L3YyL3RvbmVidXJzdC5Nb25vdG9uZUNvbmZpZ/+NAwEBDk1vbm90b25lQ29uZmlnAf+OAAEDAQxBZGRTZXF1ZW5jZXMB/5AAAQ9SZW1vdmVTZXF1ZW5jZXMB/5IAAQpTcGVha0ZpcnN0AQIAAAAq/48DAQEISW5zdGFuY2UB/5AAAQIBBERlc2MB/5IAAQRBcmdzAf+WAAAAJP+RAwEBC0Rlc2NyaXB0aW9uAf+SAAEBAQVQYXJ0cwH/lAAAACH/kwIBARNbXW1vbm9saXRoLk1vbm9saXRoAf+UAAEQAAAo/5UDAQEEQXJncwH/lgABAgEGVmFsdWVzAf+YAAEFSW5kZXgBBAAAABz/lwIBAQ5bXWludGVyZmFjZSB7fQH/mAABEAAA/gG5/45jAQEBATxnaXRodWIuY29tL09wZXJhdG9yRm91bmRhdGlvbi9tb25vbGl0aC1nby9tb25vbGl0aC5CeXRlc1BhcnT/mQMBAQlCeXRlc1BhcnQB/5oAAQEBBUl0ZW1zAf+cAAAAIf+bAgEBE1tdbW9ub2xpdGguQnl0ZVR5cGUB/5wAARAAAHn/mmcBAUBnaXRodWIuY29tL09wZXJhdG9yRm91bmRhdGlvbi9tb25vbGl0aC1nby9tb25vbGl0aC5GaXhlZEJ5dGVUeXBl/50DAQENRml4ZWRCeXRlVHlwZQH/ngABAQEEQnl0ZQEGAAAAB/+eAwETAAAAAQAAAgEAAW1naXRodWIuY29tL09wZXJhdG9yRm91bmRhdGlvbi9zaGFwZXNoaWZ0ZXItdHJhbnNwb3J0cy90cmFuc3BvcnRzL1JlcGxpY2FudC92Mi9wb2xpc2guU2lsdmVyUG9saXNoQ2xpZW50Q29uZmln/4cDAQEYU2lsdmVyUG9saXNoQ2xpZW50Q29uZmlnAf+IAAECAQ9TZXJ2ZXJQdWJsaWNLZXkBCgABCUNodW5rU2l6ZQEEAAAATP+ISAFBBOC0bmC6fLUPXiHE00MxBSHmK8AuL74xhbkrKm1ClLjNGFBVahobB3nWq06TEl/GmGC72MbHk2RAb4s5bIBYqv8B/go+AAA="}
{"config":"M/+BAwEBDENsaWVudENvbmZpZwH/ggABAgEJVG9uZWJ1cnN0ARAAAQZQb2xpc2gBEAAAAP+8/4IBZmdpdGh1Yi5jb20vT3BlcmF0b3JGb3VuZGF0aW9uL3NoYXBlc2hpZnRlci10cmFuc3BvcnRzL3RyYW5zcG9ydHMvUmVwbGljYW50L3YzL3RvbmVidXJzdC5Nb25vdG9uZUNvbmZpZ/+NAwEBDk1vbm90b25lQ29uZmlnAf+OAAEDAQxBZGRTZXF1ZW5jZXMB/5AAAQ9SZW1vdmVTZXF1ZW5jZXMB/5IAAQpTcGVha0ZpcnN0AQIAAAAq/48DAQEISW5zdGFuY2UB/5AAAQIBBERlc2MB/5IAAQRBcmdzAf+WAAAAJP+RAwEBC0Rlc2NyaXB0aW9uAf+SAAEBAQVQYXJ0cwH/lAAAACH/kwIBARNbXW1vbm9saXRoLk1vbm9saXRoAf+UAAEQAAAo/5UDAQEEQXJncwH/lgABAgEGVmFsdWVzAf+YAAEFSW5kZXgBBAAAABz/lwIBAQ5bXWludGVyZmFjZSB7fQH/mAABEAAA/gG5/45jAQEBATxnaXRodWIuY29tL09wZXJhdG9yRm91bmRhdGlvbi9tb25vbGl0aC1nby9tb25vbGl0aC5CeXRlc1BhcnT/mQMBAQlCeXRlc1BhcnQB/5oAAQEBBUl0ZW1zAf+cAAAAIf+bAgEBE1tdbW9ub2xpdGguQnl0ZVR5cGUB/5wAARAAAHn/mmcBAUBnaXRodWIuY29tL09wZXJhdG9yRm91bmRhdGlvbi9tb25vbGl0aC1nby9tb25vbGl0aC5GaXhlZEJ5dGVUeXBl/50DAQENRml4ZWRCeXRlVHlwZQH/ngABAQEEQnl0ZQEGAAAAB/+eAwETAAAAAQAAAgEAAW1naXRodWIuY29tL09wZXJhdG9yRm91bmRhdGlvbi9zaGFwZXNoaWZ0ZXItdHJhbnNwb3J0cy90cmFuc3BvcnRzL1JlcGxpY2FudC92My9wb2xpc2guU2lsdmVyUG9saXNoQ2xpZW50Q29uZmln/4cDAQEYU2lsdmVyUG9saXNoQ2xpZW50Q29uZmlnAf+IAAECAQ9TZXJ2ZXJQdWJsaWNLZXkBCgABCUNodW5rU2l6ZQEEAAAATP+ISAFBBP/v79qkXCOE7ekcRqXYyEoCP6f1orHF1aegFLQtXNgEhe7udVJ72f3sMHAhN8sqJyzMdPWz7ZPRi5gmvNwrEPEB/griAAA="}
2 changes: 1 addition & 1 deletion transports/Replicant/v3/ReplicantClientConfig1.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"config":"M/+BAwEBDENsaWVudENvbmZpZwH/ggABAgEJVG9uZWJ1cnN0ARAAAQZQb2xpc2gBEAAAAP+8/4IBZmdpdGh1Yi5jb20vT3BlcmF0b3JGb3VuZGF0aW9uL3NoYXBlc2hpZnRlci10cmFuc3BvcnRzL3RyYW5zcG9ydHMvUmVwbGljYW50L3YyL3RvbmVidXJzdC5Nb25vdG9uZUNvbmZpZ/+NAwEBDk1vbm90b25lQ29uZmlnAf+OAAEDAQxBZGRTZXF1ZW5jZXMB/5AAAQ9SZW1vdmVTZXF1ZW5jZXMB/5IAAQpTcGVha0ZpcnN0AQIAAAAq/48DAQEISW5zdGFuY2UB/5AAAQIBBERlc2MB/5IAAQRBcmdzAf+WAAAAJP+RAwEBC0Rlc2NyaXB0aW9uAf+SAAEBAQVQYXJ0cwH/lAAAACH/kwIBARNbXW1vbm9saXRoLk1vbm9saXRoAf+UAAEQAAAo/5UDAQEEQXJncwH/lgABAgEGVmFsdWVzAf+YAAEFSW5kZXgBBAAAABz/lwIBAQ5bXWludGVyZmFjZSB7fQH/mAABEAAA/gUJ/45jAQEBAjxnaXRodWIuY29tL09wZXJhdG9yRm91bmRhdGlvbi9tb25vbGl0aC1nby9tb25vbGl0aC5CeXRlc1BhcnT/mQMBAQlCeXRlc1BhcnQB/5oAAQEBBUl0ZW1zAf+cAAAAIf+bAgEBE1tdbW9ub2xpdGguQnl0ZVR5cGUB/5wAARAAAP4Dx/+a/4YBAktnaXRodWIuY29tL09wZXJhdG9yRm91bmRhdGlvbi9tb25vbGl0aC1nby9tb25vbGl0aC5SYW5kb21FbnVtZXJhdGVkQnl0ZVR5cGX/nwMBARhSYW5kb21FbnVtZXJhdGVkQnl0ZVR5cGUB/6AAAQEBDVJhbmRvbU9wdGlvbnMBCgAAAGH/oAcBBBESExQAS2dpdGh1Yi5jb20vT3BlcmF0b3JGb3VuZGF0aW9uL21vbm9saXRoLWdvL21vbm9saXRoLlJhbmRvbUVudW1lcmF0ZWRCeXRlVHlwZf+gBwEEERITFAAAPGdpdGh1Yi5jb20vT3BlcmF0b3JGb3VuZGF0aW9uL21vbm9saXRoLWdvL21vbm9saXRoLkJ5dGVzUGFydP+a/68BAktnaXRodWIuY29tL09wZXJhdG9yRm91bmRhdGlvbi9tb25vbGl0aC1nby9tb25vbGl0aC5SYW5kb21FbnVtZXJhdGVkQnl0ZVR5cGX/oAcBBBESExQAS2dpdGh1Yi5jb20vT3BlcmF0b3JGb3VuZGF0aW9uL21vbm9saXRoLWdvL21vbm9saXRoLlJhbmRvbUVudW1lcmF0ZWRCeXRlVHlwZf+gBwEEERITFAAAAAEAAAEBAjxnaXRodWIuY29tL09wZXJhdG9yRm91bmRhdGlvbi9tb25vbGl0aC1nby9tb25vbGl0aC5CeXRlc1BhcnT/mv+vAQJLZ2l0aHViLmNvbS9PcGVyYXRvckZvdW5kYXRpb24vbW9ub2xpdGgtZ28vbW9ub2xpdGguUmFuZG9tRW51bWVyYXRlZEJ5dGVUeXBl/6AHAQQREhMUAEtnaXRodWIuY29tL09wZXJhdG9yRm91bmRhdGlvbi9tb25vbGl0aC1nby9tb25vbGl0aC5SYW5kb21FbnVtZXJhdGVkQnl0ZVR5cGX/oAcBBBESExQAADxnaXRodWIuY29tL09wZXJhdG9yRm91bmRhdGlvbi9tb25vbGl0aC1nby9tb25vbGl0aC5CeXRlc1BhcnT/mv+vAQJLZ2l0aHViLmNvbS9PcGVyYXRvckZvdW5kYXRpb24vbW9ub2xpdGgtZ28vbW9ub2xpdGguUmFuZG9tRW51bWVyYXRlZEJ5dGVUeXBl/6AHAQQREhMUAEtnaXRodWIuY29tL09wZXJhdG9yRm91bmRhdGlvbi9tb25vbGl0aC1nby9tb25vbGl0aC5SYW5kb21FbnVtZXJhdGVkQnl0ZVR5cGX/oAcBBBESExQAAAABAQABbWdpdGh1Yi5jb20vT3BlcmF0b3JGb3VuZGF0aW9uL3NoYXBlc2hpZnRlci10cmFuc3BvcnRzL3RyYW5zcG9ydHMvUmVwbGljYW50L3YyL3BvbGlzaC5TaWx2ZXJQb2xpc2hDbGllbnRDb25maWf/hwMBARhTaWx2ZXJQb2xpc2hDbGllbnRDb25maWcB/4gAAQIBD1NlcnZlclB1YmxpY0tleQEKAAEJQ2h1bmtTaXplAQQAAABM/4hIAUEEQWfb8pahGIPAueYdNyrFn/Bpl/tk+2kA/lzW7syF7AbqMIT0kGD8UskSh15h4mADnffIfwQZwfHMHdDl4zLewAH+DAgAAA=="}
{"config":"M/+BAwEBDENsaWVudENvbmZpZwH/ggABAgEJVG9uZWJ1cnN0ARAAAQZQb2xpc2gBEAAAAP+8/4IBZmdpdGh1Yi5jb20vT3BlcmF0b3JGb3VuZGF0aW9uL3NoYXBlc2hpZnRlci10cmFuc3BvcnRzL3RyYW5zcG9ydHMvUmVwbGljYW50L3YzL3RvbmVidXJzdC5Nb25vdG9uZUNvbmZpZ/+NAwEBDk1vbm90b25lQ29uZmlnAf+OAAEDAQxBZGRTZXF1ZW5jZXMB/5AAAQ9SZW1vdmVTZXF1ZW5jZXMB/5IAAQpTcGVha0ZpcnN0AQIAAAAq/48DAQEISW5zdGFuY2UB/5AAAQIBBERlc2MB/5IAAQRBcmdzAf+WAAAAJP+RAwEBC0Rlc2NyaXB0aW9uAf+SAAEBAQVQYXJ0cwH/lAAAACH/kwIBARNbXW1vbm9saXRoLk1vbm9saXRoAf+UAAEQAAAo/5UDAQEEQXJncwH/lgABAgEGVmFsdWVzAf+YAAEFSW5kZXgBBAAAABz/lwIBAQ5bXWludGVyZmFjZSB7fQH/mAABEAAA/gUJ/45jAQEBAjxnaXRodWIuY29tL09wZXJhdG9yRm91bmRhdGlvbi9tb25vbGl0aC1nby9tb25vbGl0aC5CeXRlc1BhcnT/mQMBAQlCeXRlc1BhcnQB/5oAAQEBBUl0ZW1zAf+cAAAAIf+bAgEBE1tdbW9ub2xpdGguQnl0ZVR5cGUB/5wAARAAAP4Dx/+a/4YBAktnaXRodWIuY29tL09wZXJhdG9yRm91bmRhdGlvbi9tb25vbGl0aC1nby9tb25vbGl0aC5SYW5kb21FbnVtZXJhdGVkQnl0ZVR5cGX/nwMBARhSYW5kb21FbnVtZXJhdGVkQnl0ZVR5cGUB/6AAAQEBDVJhbmRvbU9wdGlvbnMBCgAAAGH/oAcBBBESExQAS2dpdGh1Yi5jb20vT3BlcmF0b3JGb3VuZGF0aW9uL21vbm9saXRoLWdvL21vbm9saXRoLlJhbmRvbUVudW1lcmF0ZWRCeXRlVHlwZf+gBwEEERITFAAAPGdpdGh1Yi5jb20vT3BlcmF0b3JGb3VuZGF0aW9uL21vbm9saXRoLWdvL21vbm9saXRoLkJ5dGVzUGFydP+a/68BAktnaXRodWIuY29tL09wZXJhdG9yRm91bmRhdGlvbi9tb25vbGl0aC1nby9tb25vbGl0aC5SYW5kb21FbnVtZXJhdGVkQnl0ZVR5cGX/oAcBBBESExQAS2dpdGh1Yi5jb20vT3BlcmF0b3JGb3VuZGF0aW9uL21vbm9saXRoLWdvL21vbm9saXRoLlJhbmRvbUVudW1lcmF0ZWRCeXRlVHlwZf+gBwEEERITFAAAAAEAAAEBAjxnaXRodWIuY29tL09wZXJhdG9yRm91bmRhdGlvbi9tb25vbGl0aC1nby9tb25vbGl0aC5CeXRlc1BhcnT/mv+vAQJLZ2l0aHViLmNvbS9PcGVyYXRvckZvdW5kYXRpb24vbW9ub2xpdGgtZ28vbW9ub2xpdGguUmFuZG9tRW51bWVyYXRlZEJ5dGVUeXBl/6AHAQQREhMUAEtnaXRodWIuY29tL09wZXJhdG9yRm91bmRhdGlvbi9tb25vbGl0aC1nby9tb25vbGl0aC5SYW5kb21FbnVtZXJhdGVkQnl0ZVR5cGX/oAcBBBESExQAADxnaXRodWIuY29tL09wZXJhdG9yRm91bmRhdGlvbi9tb25vbGl0aC1nby9tb25vbGl0aC5CeXRlc1BhcnT/mv+vAQJLZ2l0aHViLmNvbS9PcGVyYXRvckZvdW5kYXRpb24vbW9ub2xpdGgtZ28vbW9ub2xpdGguUmFuZG9tRW51bWVyYXRlZEJ5dGVUeXBl/6AHAQQREhMUAEtnaXRodWIuY29tL09wZXJhdG9yRm91bmRhdGlvbi9tb25vbGl0aC1nby9tb25vbGl0aC5SYW5kb21FbnVtZXJhdGVkQnl0ZVR5cGX/oAcBBBESExQAAAABAQABbWdpdGh1Yi5jb20vT3BlcmF0b3JGb3VuZGF0aW9uL3NoYXBlc2hpZnRlci10cmFuc3BvcnRzL3RyYW5zcG9ydHMvUmVwbGljYW50L3YzL3BvbGlzaC5TaWx2ZXJQb2xpc2hDbGllbnRDb25maWf/hwMBARhTaWx2ZXJQb2xpc2hDbGllbnRDb25maWcB/4gAAQIBD1NlcnZlclB1YmxpY0tleQEKAAEJQ2h1bmtTaXplAQQAAABM/4hIAUEE8wZLWH4yDW4+tpUCzzP3Z6NnVPFfL35CCvSD8ScVrsyZCICzmuViswQ2A4yp+amV53sC5gPz15FJ8fv8mjR7SwH+CdgAAA=="}
2 changes: 1 addition & 1 deletion transports/Replicant/v3/ReplicantServerConfig.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"Replicant":{"config":"M/+JAwEBDFNlcnZlckNvbmZpZwH/igABAgEJVG9uZWJ1cnN0ARAAAQZQb2xpc2gBEAAAAP+8/4oBZmdpdGh1Yi5jb20vT3BlcmF0b3JGb3VuZGF0aW9uL3NoYXBlc2hpZnRlci10cmFuc3BvcnRzL3RyYW5zcG9ydHMvUmVwbGljYW50L3YyL3RvbmVidXJzdC5Nb25vdG9uZUNvbmZpZ/+NAwEBDk1vbm90b25lQ29uZmlnAf+OAAEDAQxBZGRTZXF1ZW5jZXMB/5AAAQ9SZW1vdmVTZXF1ZW5jZXMB/5IAAQpTcGVha0ZpcnN0AQIAAAAq/48DAQEISW5zdGFuY2UB/5AAAQIBBERlc2MB/5IAAQRBcmdzAf+WAAAAJP+RAwEBC0Rlc2NyaXB0aW9uAf+SAAEBAQVQYXJ0cwH/lAAAACH/kwIBARNbXW1vbm9saXRoLk1vbm9saXRoAf+UAAEQAAAo/5UDAQEEQXJncwH/lgABAgEGVmFsdWVzAf+YAAEFSW5kZXgBBAAAABz/lwIBAQ5bXWludGVyZmFjZSB7fQH/mAABEAAA/gHI/45iAgEBPGdpdGh1Yi5jb20vT3BlcmF0b3JGb3VuZGF0aW9uL21vbm9saXRoLWdvL21vbm9saXRoLkJ5dGVzUGFydP+ZAwEBCUJ5dGVzUGFydAH/mgABAQEFSXRlbXMB/5wAAAAh/5sCAQETW11tb25vbGl0aC5CeXRlVHlwZQH/nAABEAAAdP+aZwEBQGdpdGh1Yi5jb20vT3BlcmF0b3JGb3VuZGF0aW9uL21vbm9saXRoLWdvL21vbm9saXRoLkZpeGVkQnl0ZVR5cGX/nQMBAQ1GaXhlZEJ5dGVUeXBlAf+eAAEBAQRCeXRlAQYAAAAH/54DARMAAAAAAW1naXRodWIuY29tL09wZXJhdG9yRm91bmRhdGlvbi9zaGFwZXNoaWZ0ZXItdHJhbnNwb3J0cy90cmFuc3BvcnRzL1JlcGxpY2FudC92Mi9wb2xpc2guU2lsdmVyUG9saXNoU2VydmVyQ29uZmln/4sDAQEYU2lsdmVyUG9saXNoU2VydmVyQ29uZmlnAf+MAAEDAQ9TZXJ2ZXJQdWJsaWNLZXkBCgABEFNlcnZlclByaXZhdGVLZXkBCgABCUNodW5rU2l6ZQEEAAAAbv+MagFBBOC0bmC6fLUPXiHE00MxBSHmK8AuL74xhbkrKm1ClLjNGFBVahobB3nWq06TEl/GmGC72MbHk2RAb4s5bIBYqv8BIFAdzShgbHE2q5BpC39qq3rjM8fq5VTxcnx8IcH1XbqwAf4KPgAA"}}
{"Replicant":{"config":"M/+JAwEBDFNlcnZlckNvbmZpZwH/igABAgEJVG9uZWJ1cnN0ARAAAQZQb2xpc2gBEAAAAP+8/4oBZmdpdGh1Yi5jb20vT3BlcmF0b3JGb3VuZGF0aW9uL3NoYXBlc2hpZnRlci10cmFuc3BvcnRzL3RyYW5zcG9ydHMvUmVwbGljYW50L3YzL3RvbmVidXJzdC5Nb25vdG9uZUNvbmZpZ/+NAwEBDk1vbm90b25lQ29uZmlnAf+OAAEDAQxBZGRTZXF1ZW5jZXMB/5AAAQ9SZW1vdmVTZXF1ZW5jZXMB/5IAAQpTcGVha0ZpcnN0AQIAAAAq/48DAQEISW5zdGFuY2UB/5AAAQIBBERlc2MB/5IAAQRBcmdzAf+WAAAAJP+RAwEBC0Rlc2NyaXB0aW9uAf+SAAEBAQVQYXJ0cwH/lAAAACH/kwIBARNbXW1vbm9saXRoLk1vbm9saXRoAf+UAAEQAAAo/5UDAQEEQXJncwH/lgABAgEGVmFsdWVzAf+YAAEFSW5kZXgBBAAAABz/lwIBAQ5bXWludGVyZmFjZSB7fQH/mAABEAAA/gHI/45iAgEBPGdpdGh1Yi5jb20vT3BlcmF0b3JGb3VuZGF0aW9uL21vbm9saXRoLWdvL21vbm9saXRoLkJ5dGVzUGFydP+ZAwEBCUJ5dGVzUGFydAH/mgABAQEFSXRlbXMB/5wAAAAh/5sCAQETW11tb25vbGl0aC5CeXRlVHlwZQH/nAABEAAAdP+aZwEBQGdpdGh1Yi5jb20vT3BlcmF0b3JGb3VuZGF0aW9uL21vbm9saXRoLWdvL21vbm9saXRoLkZpeGVkQnl0ZVR5cGX/nQMBAQ1GaXhlZEJ5dGVUeXBlAf+eAAEBAQRCeXRlAQYAAAAH/54DARMAAAAAAW1naXRodWIuY29tL09wZXJhdG9yRm91bmRhdGlvbi9zaGFwZXNoaWZ0ZXItdHJhbnNwb3J0cy90cmFuc3BvcnRzL1JlcGxpY2FudC92My9wb2xpc2guU2lsdmVyUG9saXNoU2VydmVyQ29uZmln/4sDAQEYU2lsdmVyUG9saXNoU2VydmVyQ29uZmlnAf+MAAEDAQ9TZXJ2ZXJQdWJsaWNLZXkBCgABEFNlcnZlclByaXZhdGVLZXkBCgABCUNodW5rU2l6ZQEEAAAAbv+MagFBBP/v79qkXCOE7ekcRqXYyEoCP6f1orHF1aegFLQtXNgEhe7udVJ72f3sMHAhN8sqJyzMdPWz7ZPRi5gmvNwrEPEBIO842+Q4BCDUNO4PFisyuhjqRO/WUi+3f8hpAhiO/yHYAf4K4gAA"}}
2 changes: 1 addition & 1 deletion transports/Replicant/v3/ReplicantServerConfig1.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"Replicant":{"config":"M/+JAwEBDFNlcnZlckNvbmZpZwH/igABAgEJVG9uZWJ1cnN0ARAAAQZQb2xpc2gBEAAAAP+8/4oBZmdpdGh1Yi5jb20vT3BlcmF0b3JGb3VuZGF0aW9uL3NoYXBlc2hpZnRlci10cmFuc3BvcnRzL3RyYW5zcG9ydHMvUmVwbGljYW50L3YyL3RvbmVidXJzdC5Nb25vdG9uZUNvbmZpZ/+NAwEBDk1vbm90b25lQ29uZmlnAf+OAAEDAQxBZGRTZXF1ZW5jZXMB/5AAAQ9SZW1vdmVTZXF1ZW5jZXMB/5IAAQpTcGVha0ZpcnN0AQIAAAAq/48DAQEISW5zdGFuY2UB/5AAAQIBBERlc2MB/5IAAQRBcmdzAf+WAAAAJP+RAwEBC0Rlc2NyaXB0aW9uAf+SAAEBAQVQYXJ0cwH/lAAAACH/kwIBARNbXW1vbm9saXRoLk1vbm9saXRoAf+UAAEQAAAo/5UDAQEEQXJncwH/lgABAgEGVmFsdWVzAf+YAAEFSW5kZXgBBAAAABz/lwIBAQ5bXWludGVyZmFjZSB7fQH/mAABEAAA/gUc/45jAQEBAjxnaXRodWIuY29tL09wZXJhdG9yRm91bmRhdGlvbi9tb25vbGl0aC1nby9tb25vbGl0aC5CeXRlc1BhcnT/mQMBAQlCeXRlc1BhcnQB/5oAAQEBBUl0ZW1zAf+cAAAAIf+bAgEBE1tdbW9ub2xpdGguQnl0ZVR5cGUB/5wAARAAAP4Dxf+a/4YBAktnaXRodWIuY29tL09wZXJhdG9yRm91bmRhdGlvbi9tb25vbGl0aC1nby9tb25vbGl0aC5SYW5kb21FbnVtZXJhdGVkQnl0ZVR5cGX/nwMBARhSYW5kb21FbnVtZXJhdGVkQnl0ZVR5cGUB/6AAAQEBDVJhbmRvbU9wdGlvbnMBCgAAAGH/oAcBBBESExQAS2dpdGh1Yi5jb20vT3BlcmF0b3JGb3VuZGF0aW9uL21vbm9saXRoLWdvL21vbm9saXRoLlJhbmRvbUVudW1lcmF0ZWRCeXRlVHlwZf+gBwEEERITFAAAPGdpdGh1Yi5jb20vT3BlcmF0b3JGb3VuZGF0aW9uL21vbm9saXRoLWdvL21vbm9saXRoLkJ5dGVzUGFydP+a/68BAktnaXRodWIuY29tL09wZXJhdG9yRm91bmRhdGlvbi9tb25vbGl0aC1nby9tb25vbGl0aC5SYW5kb21FbnVtZXJhdGVkQnl0ZVR5cGX/oAcBBBESExQAS2dpdGh1Yi5jb20vT3BlcmF0b3JGb3VuZGF0aW9uL21vbm9saXRoLWdvL21vbm9saXRoLlJhbmRvbUVudW1lcmF0ZWRCeXRlVHlwZf+gBwEEERITFAAAAAEAAAEBAjxnaXRodWIuY29tL09wZXJhdG9yRm91bmRhdGlvbi9tb25vbGl0aC1nby9tb25vbGl0aC5CeXRlc1BhcnT/mv+vAQJLZ2l0aHViLmNvbS9PcGVyYXRvckZvdW5kYXRpb24vbW9ub2xpdGgtZ28vbW9ub2xpdGguUmFuZG9tRW51bWVyYXRlZEJ5dGVUeXBl/6AHAQQREhMUAEtnaXRodWIuY29tL09wZXJhdG9yRm91bmRhdGlvbi9tb25vbGl0aC1nby9tb25vbGl0aC5SYW5kb21FbnVtZXJhdGVkQnl0ZVR5cGX/oAcBBBESExQAADxnaXRodWIuY29tL09wZXJhdG9yRm91bmRhdGlvbi9tb25vbGl0aC1nby9tb25vbGl0aC5CeXRlc1BhcnT/mv+vAQJLZ2l0aHViLmNvbS9PcGVyYXRvckZvdW5kYXRpb24vbW9ub2xpdGgtZ28vbW9ub2xpdGguUmFuZG9tRW51bWVyYXRlZEJ5dGVUeXBl/6AHAQQREhMUAEtnaXRodWIuY29tL09wZXJhdG9yRm91bmRhdGlvbi9tb25vbGl0aC1nby9tb25vbGl0aC5SYW5kb21FbnVtZXJhdGVkQnl0ZVR5cGX/oAcBBBESExQAAAAAAW1naXRodWIuY29tL09wZXJhdG9yRm91bmRhdGlvbi9zaGFwZXNoaWZ0ZXItdHJhbnNwb3J0cy90cmFuc3BvcnRzL1JlcGxpY2FudC92Mi9wb2xpc2guU2lsdmVyUG9saXNoU2VydmVyQ29uZmln/4sDAQEYU2lsdmVyUG9saXNoU2VydmVyQ29uZmlnAf+MAAEDAQ9TZXJ2ZXJQdWJsaWNLZXkBCgABEFNlcnZlclByaXZhdGVLZXkBCgABCUNodW5rU2l6ZQEEAAAAbv+MagFBBEFn2/KWoRiDwLnmHTcqxZ/waZf7ZPtpAP5c1u7MhewG6jCE9JBg/FLJEodeYeJgA533yH8EGcHxzB3Q5eMy3sABILO3MRLki0bDKBvrchjhDV4R/RJWZpj7NngFWTIdDW7PAf4MCAAA"}}
{"Replicant":{"config":"M/+JAwEBDFNlcnZlckNvbmZpZwH/igABAgEJVG9uZWJ1cnN0ARAAAQZQb2xpc2gBEAAAAP+8/4oBZmdpdGh1Yi5jb20vT3BlcmF0b3JGb3VuZGF0aW9uL3NoYXBlc2hpZnRlci10cmFuc3BvcnRzL3RyYW5zcG9ydHMvUmVwbGljYW50L3YzL3RvbmVidXJzdC5Nb25vdG9uZUNvbmZpZ/+NAwEBDk1vbm90b25lQ29uZmlnAf+OAAEDAQxBZGRTZXF1ZW5jZXMB/5AAAQ9SZW1vdmVTZXF1ZW5jZXMB/5IAAQpTcGVha0ZpcnN0AQIAAAAq/48DAQEISW5zdGFuY2UB/5AAAQIBBERlc2MB/5IAAQRBcmdzAf+WAAAAJP+RAwEBC0Rlc2NyaXB0aW9uAf+SAAEBAQVQYXJ0cwH/lAAAACH/kwIBARNbXW1vbm9saXRoLk1vbm9saXRoAf+UAAEQAAAo/5UDAQEEQXJncwH/lgABAgEGVmFsdWVzAf+YAAEFSW5kZXgBBAAAABz/lwIBAQ5bXWludGVyZmFjZSB7fQH/mAABEAAA/gUc/45jAQEBAjxnaXRodWIuY29tL09wZXJhdG9yRm91bmRhdGlvbi9tb25vbGl0aC1nby9tb25vbGl0aC5CeXRlc1BhcnT/mQMBAQlCeXRlc1BhcnQB/5oAAQEBBUl0ZW1zAf+cAAAAIf+bAgEBE1tdbW9ub2xpdGguQnl0ZVR5cGUB/5wAARAAAP4Dxf+a/4YBAktnaXRodWIuY29tL09wZXJhdG9yRm91bmRhdGlvbi9tb25vbGl0aC1nby9tb25vbGl0aC5SYW5kb21FbnVtZXJhdGVkQnl0ZVR5cGX/nwMBARhSYW5kb21FbnVtZXJhdGVkQnl0ZVR5cGUB/6AAAQEBDVJhbmRvbU9wdGlvbnMBCgAAAGH/oAcBBBESExQAS2dpdGh1Yi5jb20vT3BlcmF0b3JGb3VuZGF0aW9uL21vbm9saXRoLWdvL21vbm9saXRoLlJhbmRvbUVudW1lcmF0ZWRCeXRlVHlwZf+gBwEEERITFAAAPGdpdGh1Yi5jb20vT3BlcmF0b3JGb3VuZGF0aW9uL21vbm9saXRoLWdvL21vbm9saXRoLkJ5dGVzUGFydP+a/68BAktnaXRodWIuY29tL09wZXJhdG9yRm91bmRhdGlvbi9tb25vbGl0aC1nby9tb25vbGl0aC5SYW5kb21FbnVtZXJhdGVkQnl0ZVR5cGX/oAcBBBESExQAS2dpdGh1Yi5jb20vT3BlcmF0b3JGb3VuZGF0aW9uL21vbm9saXRoLWdvL21vbm9saXRoLlJhbmRvbUVudW1lcmF0ZWRCeXRlVHlwZf+gBwEEERITFAAAAAEAAAEBAjxnaXRodWIuY29tL09wZXJhdG9yRm91bmRhdGlvbi9tb25vbGl0aC1nby9tb25vbGl0aC5CeXRlc1BhcnT/mv+vAQJLZ2l0aHViLmNvbS9PcGVyYXRvckZvdW5kYXRpb24vbW9ub2xpdGgtZ28vbW9ub2xpdGguUmFuZG9tRW51bWVyYXRlZEJ5dGVUeXBl/6AHAQQREhMUAEtnaXRodWIuY29tL09wZXJhdG9yRm91bmRhdGlvbi9tb25vbGl0aC1nby9tb25vbGl0aC5SYW5kb21FbnVtZXJhdGVkQnl0ZVR5cGX/oAcBBBESExQAADxnaXRodWIuY29tL09wZXJhdG9yRm91bmRhdGlvbi9tb25vbGl0aC1nby9tb25vbGl0aC5CeXRlc1BhcnT/mv+vAQJLZ2l0aHViLmNvbS9PcGVyYXRvckZvdW5kYXRpb24vbW9ub2xpdGgtZ28vbW9ub2xpdGguUmFuZG9tRW51bWVyYXRlZEJ5dGVUeXBl/6AHAQQREhMUAEtnaXRodWIuY29tL09wZXJhdG9yRm91bmRhdGlvbi9tb25vbGl0aC1nby9tb25vbGl0aC5SYW5kb21FbnVtZXJhdGVkQnl0ZVR5cGX/oAcBBBESExQAAAAAAW1naXRodWIuY29tL09wZXJhdG9yRm91bmRhdGlvbi9zaGFwZXNoaWZ0ZXItdHJhbnNwb3J0cy90cmFuc3BvcnRzL1JlcGxpY2FudC92My9wb2xpc2guU2lsdmVyUG9saXNoU2VydmVyQ29uZmln/4sDAQEYU2lsdmVyUG9saXNoU2VydmVyQ29uZmlnAf+MAAEDAQ9TZXJ2ZXJQdWJsaWNLZXkBCgABEFNlcnZlclByaXZhdGVLZXkBCgABCUNodW5rU2l6ZQEEAAAAbv+MagFBBPMGS1h+Mg1uPraVAs8z92ejZ1TxXy9+Qgr0g/EnFa7MmQiAs5rlYrMENgOMqfmpled7AuYD89eRSfH7/Jo0e0sBILX69hSt+cQzUYAPLKn/16JJ7h/0vcIecMdpA5PomnfHAf4J2AAA"}}
47 changes: 45 additions & 2 deletions transports/meekserver/v3/pt21.go
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,13 @@ type MeekServer struct {
AcmeHostname string
CertManager *autocert.Manager
}
//TODO I added this struct imitating MeekServer struct that has only the bare minimum parameters that the listener uses with the addition of Address
//TODO Was this a 'pro-gamer move'?
type Transport struct {
DisableTLS bool
CertManager *autocert.Manager
Address string
}

//Config contains arguments formatted for a json file
type Config struct {
Expand Down Expand Up @@ -109,8 +116,8 @@ func (conn meekServerConn) Read(b []byte) (n int, err error) {
if len(conn.session.Or.readBuffer) == 0 {
return 0, nil
}
copy(b, conn.session.Or.readBuffer)
conn.session.Or.readBuffer = conn.session.Or.readBuffer[:0]
copy(b, conn.session.Or.readBuffer)
conn.session.Or.readBuffer = conn.session.Or.readBuffer[:0]

return len(b), nil
}
Expand Down Expand Up @@ -223,3 +230,39 @@ func (transport *MeekServer) Listen(address string) (net.Listener, error) {
}
return meekListener{server, state}, nil
}

func (transport *Transport) Listen() (net.Listener, error) {
var ln net.Listener
var state *State
var err error
addr, resolverr := net.ResolveTCPAddr("tcp", transport.Address)
if resolverr != nil {
return ln, resolverr
}
acmeAddr := net.TCPAddr{
IP: addr.IP,
Port: 80,
Zone: "",
}
acmeAddr.Port = 80
log.Printf("starting HTTP-01 ACME listener on %s", acmeAddr.String())
lnHTTP01, err := net.ListenTCP("tcp", &acmeAddr)
if err != nil {
log.Printf("error opening HTTP-01 ACME listener: %s", err)
return nil, err
}
go func() {
log.Fatal(http.Serve(lnHTTP01, transport.CertManager.HTTPHandler(nil)))
}()
var server *http.Server
if transport.DisableTLS {
server, state, err = startServer(addr)
} else {
server, state, err = startServerTLS(addr, transport.CertManager.GetCertificate)
}
if err != nil {

return nil, err
}
return meekListener{server, state}, nil
}
Loading

0 comments on commit 3d33991

Please sign in to comment.