|  | @@ -0,0 +1,26 @@
 | 
	
		
			
				|  |  | +# 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", torrc="client.tmpl")
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +BridgeAuthority = Node(tag="ba", authority=1, bridgeauthority=1,
 | 
	
		
			
				|  |  | +                       relay=1, torrc="bridgeauthority.tmpl")
 | 
	
		
			
				|  |  | +Bridge = Node(tag="br", bridge=1, relay=1, torrc="bridge.tmpl")
 | 
	
		
			
				|  |  | +BridgeIPv6 = Node(tag="br", bridge=1, relay=1, ipv6_addr="[::1]", torrc="bridge-v6.tmpl")
 | 
	
		
			
				|  |  | +BridgeClient = Node(tag="bc", torrc="bridgeclient.tmpl")
 | 
	
		
			
				|  |  | +HSv2 = Node(tag="h", hs=1, torrc="hs.tmpl")
 | 
	
		
			
				|  |  | +HSv3 = Node(tag="h", hs=1, torrc="hs-v3.tmpl")
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +# We need 8 authorities/relays/exits to ensure at least 2 get the guard flag
 | 
	
		
			
				|  |  | +# in 0.2.6
 | 
	
		
			
				|  |  | +# We need 5 authorities/relays/exits to ensure we can build HS connections
 | 
	
		
			
				|  |  | +# We put the IPv6 bridge first to ensure that clients try IPv6 before IPv4
 | 
	
		
			
				|  |  | +# Unfortunately, this does not prevent clients falling back to IPv4
 | 
	
		
			
				|  |  | +# bridges+ipv6-min only has IPv6 bridges
 | 
	
		
			
				|  |  | +NODES = Authority.getN(3) + BridgeAuthority.getN(1) + \
 | 
	
		
			
				|  |  | +    ExitRelay.getN(4) + \
 | 
	
		
			
				|  |  | +    BridgeIPv6.getN(1) + Bridge.getN(1) + \
 | 
	
		
			
				|  |  | +    Client.getN(1) + BridgeClient.getN(1) + \
 | 
	
		
			
				|  |  | +    HSv2.getN(1) + HSv3.getN(1)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +ConfigureNodes(NODES)
 |