[tor-commits] [chutney/master] Add the single-onion flavour for testing single onion services

teor at torproject.org teor at torproject.org
Wed Sep 14 02:05:09 UTC 2016


commit 5a0fff1362cc25fbb855221a2162d19da2ad9195
Author: teor (Tim Wilson-Brown) <teor2345 at gmail.com>
Date:   Fri Oct 16 13:52:31 2015 +1100

    Add the single-onion flavour for testing single onion services
    
    Use net/nodes/006h/single-onion.log to confirm the single onion service
    is building one-hop circuits, and make sure it's not causing any bugs,
    notices, or warnings. Look for rend_service_intro_has_opened and
    rend_service_rendezvous_has_opened, and check the length of the circuit
    in the next line.
    
    Requires the single onion tor branch from #17178.
---
 networks/single-onion             | 17 +++++++++++++++++
 torrc_templates/single-onion.tmpl | 22 ++++++++++++++++++++++
 2 files changed, 39 insertions(+)

diff --git a/networks/single-onion b/networks/single-onion
new file mode 100644
index 0000000..14539a6
--- /dev/null
+++ b/networks/single-onion
@@ -0,0 +1,17 @@
+# By default, Authorities are not configured as exits
+Authority = Node(tag="a", authority=1, relay=1, torrc="authority.tmpl")
+NonExitRelay = Node(tag="r", relay=1, torrc="relay-non-exit.tmpl")
+Client = Node(tag="c", torrc="client.tmpl")
+SingleOnion = Node(tag="h", hs=1, torrc="single-onion.tmpl")
+
+# Since only 25% of relays get the guard flag,
+# TestingDirAuthVoteGuard * may need to be used in small networks
+
+# A hidden service needs 5 authorities/relays to ensure it can build HS
+# connections:
+# a minimum path length of 3, plus the client-nominated rendezvous point,
+# plus a seperate introduction point
+NODES = Authority.getN(2) + NonExitRelay.getN(3) + \
+        Client.getN(1) + SingleOnion.getN(1)
+
+ConfigureNodes(NODES)
diff --git a/torrc_templates/single-onion.tmpl b/torrc_templates/single-onion.tmpl
new file mode 100644
index 0000000..f014d7a
--- /dev/null
+++ b/torrc_templates/single-onion.tmpl
@@ -0,0 +1,22 @@
+${include:hs.tmpl}
+
+# Make every hidden service instance a Single Onion Service
+HiddenServiceSingleHopMode 1
+HiddenServiceNonAnonymousMode 1
+
+# Log only the messages we need to confirm that the Single Onion server is
+# making one-hop circuits, and to see any errors or major issues
+# To confirm one-hop intro and rendezvous circuits, look for
+# rend_service_intro_has_opened and rend_service_rendezvous_has_opened, and
+# check the length of the circuit in the next line.
+Log notice [rend,bug]info file ${dir}/single-onion.log
+
+# Disable preemtive circuits, a Single Onion doesn't need them (except for
+# descriptor posting).
+# This stalls at bootstrap due to #17359.
+#__DisablePredictedCircuits 1
+# A workaround is to set:
+LongLivedPorts
+PredictedPortsRelevanceTime 0 seconds
+# This disables everything except hidden service preemptive 3-hop circuits.
+# See #17360.





More information about the tor-commits mailing list