Browse Source

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.
Nick Mathewson 3 years ago
parent
commit
bbbbd9d928

+ 15 - 0
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)

+ 6 - 0
torrc_templates/bridge-obfs2.tmpl

@@ -0,0 +1,6 @@
+${include:bridge.tmpl}
+
+ServerTransportPlugin obfs2 exec ${path:obfs4proxy}
+ExtOrPort $extorport
+ServerTransportListenAddr obfs2 ${ip}:${ptport}
+

+ 3 - 0
torrc_templates/bridgeclient-obfs2.tmpl

@@ -0,0 +1,3 @@
+${include:bridgeclient.tmpl}
+
+ClientTransportPlugin obfs2 exec ${path:obfs4proxy}