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@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?