Opened 17 months ago

Closed 5 weeks ago

#29368 closed enhancement (implemented)

Add single onion service mode

Reported by: irl Owned by: phw
Priority: Medium Milestone:
Component: Metrics/Onionperf Version:
Severity: Normal Keywords: metrics-team-roadmap-2020, metrics-team-roadmap-2020-june
Cc: karsten, acute, metrics-team Actual Points: 0.7
Parent ID: #33321 Points: 2
Reviewer: Sponsor: Sponsor59-must


Currently, OnionPerf can download over regular 3-relay-hop Tor circuit and to an ephemeral hidden service over a 6-relay-hop circuit. Now that single onion services are merged into Tor, we can also test its performance.

(Copied from

Child Tickets

Attachments (1)

0001-Simplifies-measurement-function-parameters.patch (6.0 KB) - added by acute 7 weeks ago.

Download all attachments as: .zip

Change History (17)

comment:1 Changed 17 months ago by irl

Cc: acute added
Owner: changed from hiro to metrics-team
Status: newassigned

Updating owner and CC

comment:2 Changed 11 months ago by irl

Resolution: invalid
Status: assignedclosed

comment:3 Changed 5 months ago by acute

Resolution: invalid
Status: closedreopened

Moving all gitlab OP tickets back to Trac.

comment:4 Changed 2 months ago by gaba

Keywords: metrics-team-roadmap-2020 added
Points: 2
Sponsor: Sponsor59

comment:5 Changed 2 months ago by karsten

Sponsor: Sponsor59Sponsor59-must

Moving to Sponsor59-must, because we should really do these in order to call Sponsor59 done.

comment:6 Changed 8 weeks ago by karsten

Parent ID: #33321

comment:7 Changed 7 weeks ago by phw

Cc: metrics-team added
Owner: changed from metrics-team to phw
Status: reopenedassigned

comment:8 Changed 7 weeks ago by phw

Status: assignedneeds_review

Here's a patch that adds support for single onion services:

The patch adds a new command line switch, --single-onion, which passes a flag to create_tor_config. How does it look? Note that I haven't written unit tests yet because I wanted to get feedback first.

comment:9 Changed 7 weeks ago by acute

This looks good! Appending here a git formatted patch to avoid passing the single-onion as a new parameter to all the server and config functions. Instead this initializes self.single_onion as a class attribute (e.g, the same way serf.torserver_conf_file works).
In the future we could also treat do_onion and do_inet the same way, but the opportunity for simplification there is smaller.
Let me know if this looks good to you!

comment:10 Changed 7 weeks ago by karsten

Reviewer: karsten

comment:11 Changed 7 weeks ago by karsten

Reviewer: karsten
Status: needs_reviewneeds_revision

I looked at the combined diff of phw's and acute's changes, and I think it's good to go in.

phw, do you want to review acute's changes, see if you like them, squash/rebase to master, and post a new branch here? Setting to needs_review only for remaining Git work, not for any required changes to the code (from my point of view).

Thanks to both of you!

comment:12 Changed 6 weeks ago by karsten

Actual Points: 0.1

comment:13 Changed 6 weeks ago by acute

Actual Points: 0.10.2

comment:14 Changed 6 weeks ago by gaba

Keywords: metrics-team-roadmap-2020-june added

Adding all this tickets to the OnionPerf roadmap for June.

comment:15 Changed 6 weeks ago by phw

Actual Points: 0.20.6
Status: needs_revisionmerge_ready

Thanks acute, I like your changes and applied your patch. (I also revised my patch and removed the extra newlines that I added to the configuration file because it broke some unit tests.)

All tests now pass and the ready-to-merge branch is available here:

Adding my 0.4 points.

comment:16 Changed 5 weeks ago by karsten

Actual Points: 0.60.7
Resolution: implemented
Status: merge_readyclosed

Merged together with a minor fix. Closing. Thanks, all!

Note: See TracTickets for help on using tickets.