single-onion-v23-ipv6 1.3 KB

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