[tor-dev] stem support for v3 ephemeral onion services

Micah Lee micah at micahflee.com
Wed Jan 24 18:14:58 UTC 2018


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) user at 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


More information about the tor-dev mailing list