commit bbbbd9d928ba2defb6ca7363e684ed76897aa72c Author: Nick Mathewson nickm@torproject.org Date: Tue May 14 13:10:04 2019 -0400
Initial templates and network configurations for obfs4proxy.
The eagle-eyed reader will notice that this is using obfs2, not obfs4. We're doing that because obfs4 requires the client to have additional information that chutney doesn't (yet) have a channel to deliver. --- networks/bridges-obfs2 | 15 +++++++++++++++ torrc_templates/bridge-obfs2.tmpl | 6 ++++++ torrc_templates/bridgeclient-obfs2.tmpl | 3 +++ 3 files changed, 24 insertions(+)
diff --git a/networks/bridges-obfs2 b/networks/bridges-obfs2 new file mode 100644 index 0000000..035be09 --- /dev/null +++ b/networks/bridges-obfs2 @@ -0,0 +1,15 @@ +# By default, Authorities are not configured as exits +Authority = Node(tag="a", authority=1, relay=1, torrc="authority.tmpl") +ExitRelay = Node(tag="r", relay=1, exit=1, torrc="relay.tmpl") +Client = Node(tag="c", client=1, torrc="client.tmpl") + +BridgeAuthority = Node(tag="ba", authority=1, bridgeauthority=1, + relay=1, torrc="bridgeauthority.tmpl") +Bridge = Node(tag="br", bridge=1, pt_bridge=1, relay=1, pt_transport="obfs2", + torrc="bridge-obfs2.tmpl") +BridgeClient = Node(tag="bc", client=1, bridgeclient=1, torrc="bridgeclient-obfs2.tmpl") + +NODES = Authority.getN(3) + BridgeAuthority.getN(1) + ExitRelay.getN(4) + \ + Bridge.getN(1) + Client.getN(1) + BridgeClient.getN(1) + +ConfigureNodes(NODES) diff --git a/torrc_templates/bridge-obfs2.tmpl b/torrc_templates/bridge-obfs2.tmpl new file mode 100644 index 0000000..80baf2c --- /dev/null +++ b/torrc_templates/bridge-obfs2.tmpl @@ -0,0 +1,6 @@ +${include:bridge.tmpl} + +ServerTransportPlugin obfs2 exec ${path:obfs4proxy} +ExtOrPort $extorport +ServerTransportListenAddr obfs2 ${ip}:${ptport} + diff --git a/torrc_templates/bridgeclient-obfs2.tmpl b/torrc_templates/bridgeclient-obfs2.tmpl new file mode 100644 index 0000000..37513bb --- /dev/null +++ b/torrc_templates/bridgeclient-obfs2.tmpl @@ -0,0 +1,3 @@ +${include:bridgeclient.tmpl} + +ClientTransportPlugin obfs2 exec ${path:obfs4proxy}