Discussion:
[tor-dev] stem support for v3 ephemeral onion services
Micah Lee
2018-01-24 18:14:58 UTC
Permalink
Now that Tor Browser 7.5 is released and includes the tor 0.3.2 series,
which supports next generation onion services, I would love to make
OnionShare use these by default. Here is the issue [1].

OnionShare is written in python3 and relies on stem to communicate with
the Tor controller. Although tor now supports v3 ephemeral onion
services, stem still doesn't. Just take make sure, here's a quick test,
with Tor Browser 7.5 (providing tor 0.3.2.9) open in the background, and
using stem 1.6.0:

==

from stem.control import Controller

c = Controller.from_port(port=9151)
c.authenticate()

tor_version = c.get_version().version_str
print("Tor version: {}".format(tor_version))

print("Creating ephemeral onion service")
res = c.create_ephemeral_hidden_service({ 80: 8080 },
await_publication=True, key_type='NEW', key_content='BEST')
print("{}.onion".format(res.service_id))

==

When executed, it still creates a v2 onion address:

(env) ***@dev ~/tmp $ python3 onionv3.py
Tor version: 0.3.2.9
Creating ephemeral onion service
wrvsjo4nlww3edsi.onion

Right now OnionShare is blocked by stem supporting v3 onions. Does
anyone know when we can expect support for this?

[1] https://github.com/micahflee/onionshare/issues/461
teor
2018-01-24 19:50:30 UTC
Permalink
Post by Micah Lee
Now that Tor Browser 7.5 is released and includes the tor 0.3.2 series,
which supports next generation onion services, I would love to make
OnionShare use these by default. Here is the issue [1].
OnionShare is written in python3 and relies on stem to communicate with
the Tor controller. Although tor now supports v3 ephemeral onion
services, stem still doesn't. Just take make sure, here's a quick test,
with Tor Browser 7.5 (providing tor 0.3.2.9) open in the background, and
Here is the current status of v3 onion control port support:

This proposal is listed as "Finished":
https://gitweb.torproject.org/torspec.git/tree/proposals/284-hsv3-control-port.txt

And the code was merged into 0.3.3 (not 0.3.2):
https://trac.torproject.org/projects/tor/ticket/20699

Stem typically tracks Tor's control spec.
But the changed commands have not been integrated into control-spec.txt:
https://trac.torproject.org/projects/tor/ticket/24847

And as a related issue, there is currently no way to ask Tor if it supports
v3 onion control port events:
https://trac.torproject.org/projects/tor/ticket/24617
(But "try it and see" probably works.)

T
David Goulet
2018-01-25 13:10:00 UTC
Permalink
Post by teor
Post by Micah Lee
Now that Tor Browser 7.5 is released and includes the tor 0.3.2 series,
which supports next generation onion services, I would love to make
OnionShare use these by default. Here is the issue [1].
OnionShare is written in python3 and relies on stem to communicate with
the Tor controller. Although tor now supports v3 ephemeral onion
services, stem still doesn't. Just take make sure, here's a quick test,
with Tor Browser 7.5 (providing tor 0.3.2.9) open in the background, and
https://gitweb.torproject.org/torspec.git/tree/proposals/284-hsv3-control-port.txt
https://trac.torproject.org/projects/tor/ticket/20699
Stem typically tracks Tor's control spec.
https://trac.torproject.org/projects/tor/ticket/24847
This one is on me and I apologize... I haven't took the time to make a proper
control-spec.txt patch from the prop#284.

I'll put this on my priority list so when 0.3.3 goes stable (~ April 15th),
we'll have a up to date control spec for Stem to work with.

Cheers!
David
--
6Swl3Ho3WPfuToRBmU/VqJyeGkbf9yd3uucj/BJVoKk=
Micah Lee
2018-01-25 18:34:18 UTC
Permalink
Post by David Goulet
Post by teor
Post by Micah Lee
Now that Tor Browser 7.5 is released and includes the tor 0.3.2 series,
which supports next generation onion services, I would love to make
OnionShare use these by default. Here is the issue [1].
OnionShare is written in python3 and relies on stem to communicate with
the Tor controller. Although tor now supports v3 ephemeral onion
services, stem still doesn't. Just take make sure, here's a quick test,
with Tor Browser 7.5 (providing tor 0.3.2.9) open in the background, and
https://gitweb.torproject.org/torspec.git/tree/proposals/284-hsv3-control-port.txt
https://trac.torproject.org/projects/tor/ticket/20699
Stem typically tracks Tor's control spec.
https://trac.torproject.org/projects/tor/ticket/24847
This one is on me and I apologize... I haven't took the time to make a proper
control-spec.txt patch from the prop#284.
I'll put this on my priority list so when 0.3.3 goes stable (~ April 15th),
we'll have a up to date control spec for Stem to work with.
Cheers!
David
Excellent, thank you so much for the updates.
David Goulet
2018-01-31 20:56:00 UTC
Permalink
Post by David Goulet
Post by teor
Post by Micah Lee
Now that Tor Browser 7.5 is released and includes the tor 0.3.2 series,
which supports next generation onion services, I would love to make
OnionShare use these by default. Here is the issue [1].
OnionShare is written in python3 and relies on stem to communicate with
the Tor controller. Although tor now supports v3 ephemeral onion
services, stem still doesn't. Just take make sure, here's a quick test,
with Tor Browser 7.5 (providing tor 0.3.2.9) open in the background, and
https://gitweb.torproject.org/torspec.git/tree/proposals/284-hsv3-control-port.txt
https://trac.torproject.org/projects/tor/ticket/20699
Stem typically tracks Tor's control spec.
https://trac.torproject.org/projects/tor/ticket/24847
This one is on me and I apologize... I haven't took the time to make a proper
control-spec.txt patch from the prop#284.
I'll put this on my priority list so when 0.3.3 goes stable (~ April 15th),
we'll have a up to date control spec for Stem to work with.
Hi!

Ok the proposal 284 has landed in the control-spec.txt officially. Could be
some fix up here and there once atagar looks at it ;) but overall the proposal
is officially closed and merged.

https://gitweb.torproject.org/torspec.git/commit/?id=6bd0a699a0856240480a4bc339722db142beec0a

David
Post by David Goulet
Cheers!
David
--
6Swl3Ho3WPfuToRBmU/VqJyeGkbf9yd3uucj/BJVoKk=
_______________________________________________
tor-dev mailing list
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev
--
aVYoXwD2iAuCmaVVnSs4Ds40PAgernzXRM/WFwLLoEU=
Damian Johnson
2018-01-31 21:18:48 UTC
Permalink
Great! Thanks David. Juggling some other things but I'll try to give
this a pass in the next week or two.
Post by David Goulet
Post by David Goulet
Post by teor
Post by Micah Lee
Now that Tor Browser 7.5 is released and includes the tor 0.3.2 series,
which supports next generation onion services, I would love to make
OnionShare use these by default. Here is the issue [1].
OnionShare is written in python3 and relies on stem to communicate with
the Tor controller. Although tor now supports v3 ephemeral onion
services, stem still doesn't. Just take make sure, here's a quick test,
with Tor Browser 7.5 (providing tor 0.3.2.9) open in the background, and
https://gitweb.torproject.org/torspec.git/tree/proposals/284-hsv3-control-port.txt
https://trac.torproject.org/projects/tor/ticket/20699
Stem typically tracks Tor's control spec.
https://trac.torproject.org/projects/tor/ticket/24847
This one is on me and I apologize... I haven't took the time to make a proper
control-spec.txt patch from the prop#284.
I'll put this on my priority list so when 0.3.3 goes stable (~ April 15th),
we'll have a up to date control spec for Stem to work with.
Hi!
Ok the proposal 284 has landed in the control-spec.txt officially. Could be
some fix up here and there once atagar looks at it ;) but overall the proposal
is officially closed and merged.
https://gitweb.torproject.org/torspec.git/commit/?id=6bd0a699a0856240480a4bc339722db142beec0a
David
Post by David Goulet
Cheers!
David
--
6Swl3Ho3WPfuToRBmU/VqJyeGkbf9yd3uucj/BJVoKk=
_______________________________________________
tor-dev mailing list
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev
--
aVYoXwD2iAuCmaVVnSs4Ds40PAgernzXRM/WFwLLoEU=
_______________________________________________
tor-dev mailing list
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev
Loading...