single-onion-v23-ipv6 1.3 KB

123456789101112131415161718192021222324252627
  1. import os
  2. # By default, Authorities are not configured as exits
  3. Authority6 = Node(tag="a", authority=1, relay=1,
  4. ipv6_addr=os.environ.get('CHUTNEY_LISTEN_ADDRESS_V6',
  5. '[::1]'),
  6. torrc="authority-orport-v6.tmpl")
  7. NonExitRelay6 = Node(tag="r", relay=1,
  8. ipv6_addr=os.environ.get('CHUTNEY_LISTEN_ADDRESS_V6',
  9. '[::1]'),
  10. torrc="relay-orport-v6-non-exit.tmpl")
  11. Client = Node(tag="c", client=1, torrc="client.tmpl")
  12. Client6 = Node(tag="c", client=1, torrc="client-only-v6.tmpl")
  13. SingleOnionv2IPv6 = Node(tag="h", hs=1, torrc="single-onion-only-v6.tmpl")
  14. SingleOnionv3IPv6 = Node(tag="h", hs=1, torrc="single-onion-v3-only-v6.tmpl")
  15. # Since only 25% of relays get the guard flag,
  16. # TestingDirAuthVoteGuard * may need to be used in small networks
  17. # A hidden service needs 5 authorities/relays to ensure it can build HS
  18. # connections:
  19. # a minimum path length of 3, plus the client-nominated rendezvous point,
  20. # plus a seperate introduction point
  21. NODES = Authority6.getN(2) + NonExitRelay6.getN(3) + \
  22. Client.getN(1) + Client6.getN(1) + \
  23. SingleOnionv2IPv6.getN(1) + SingleOnionv3IPv6.getN(1)
  24. ConfigureNodes(NODES)