I had been using Tor version for which the contents of a hidden service directory looked like this:

  • hostname file ---> ii5wkitdls6khqj7.onion

  • private_key file ---> content starting with -----BEGIN RSA PRIVATE KEY-----

Now I upgraded to and the directory structure and the onion hostname format look very different:

  • authorized_clients folder

  • hs_ed25519_public_key file ---> binary content

  • hs_ed25519_secret_key file ---> binary content

  • hostname file ---> j6oxzw4jkeo5gafxdrljxh3lu5y67scjuou5o3snljztpriaaxcxi2yd.onion

Normally this would not bother me too much, however I'm trying to connect two applications to each other, one using the version, the other using the version. I am able to connect from the one based on the newer version to the one based on the older version, but the other way around seems not to be possible.

Is this a known incompatibility? From what I can quickly notice it seems like they decided to switch from RSA to EdDSA (more specifically Ed25519), but shouldn't this change be backwards compatible? Also, since I am able to connect from the new Tor to the old one, why shouldn't it work the other way around?

1 Answer 1


Apparently tor changed the default for HiddenServiceVersion from 2 in version 0.3 to 3 in version 0.4. Please check man page and use HiddenServiceVersion 2 as necessary to allow access from older tor versions.

  • After giving Tor v0.4.0.1 the --HiddenServiceVersion 2 command line option, it indeed produced an old hostname and private_key file just like the v0.3 Tor. Thanks a lot man I've been looking for this info in their tickets and pull requests and change logs but without any luck (because I wasn't searching for the right thing). Accepted answer!
    – theodor96
    Commented Jan 31, 2019 at 11:01

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .