The public key is also derived from the private key. The .onion address is a hash of the public key but ultimately both are derived from the private key.
Generate a private key,
Get the public key for this private key,
Hash this public key using SHA1,
Base32 encode the first 80 bits of this hash. Append .onion to it.
The HS needs to have the private key, ...
You can have multiple services on the same .onion address. You can forward each port to a different service.
HiddenServicePort 80 127.0.0.1:80
HiddenServicePort 8000 127.0.0.1:8000
HiddenServicePort 81 192.168.0.102:80
This (in your torrc) would expose 3 services on 1 .onion address. The first 2 live ...
irssi looks like it very strictly only works with real fqdn names that it can resolve directly with DNS. It works with socks4 but not with socks5 so you can't use the tor proxy directly.
The official guide works great with hexchat, but irssi isn't mentioned and it looks like it's not compatible. With that said a quick google search shows that there is a ...
Since I saw your issue on GitHub closed by yourself, I think I should mention what helped you solve your issue in the answer.
Issue solved by using https://github.com/cretz/bine/torutil/ed25519.
See https://stackoverflow.com/questions/44810708/ed25519-public-result-is-different for more information.
This is due to ...
thank you very much for those who tried to help, but I have already found out by reading the logs what it was like if someone ever had the same problem the solution is the following: you should not give permissions to / var / lib / tor as root user because user of that folder is "debian-tor" everything inside it must be in the permissions of this user or an ...
Simply add another hidden service directory in the torrc.conf file & restart your Tor service with sudo service tor restart.
Medium has a great tutorial on setting up a hidden service on Tor:
So it seems the public key is only 32 bytes long, but in your example it is 64 bytes long.
I coded the following script, given the full public key of 64 bytes and got the sample address you put. So take it as a reference!
from base64 import b32encode
from hashlib import sha3_256
# Expected result: ...
https://gitweb.torproject.org/torspec.git/tree/rend-spec-v3.txt#n2013 (links to the correct line as of today. If you're from the future, you might need to ctrl-f for "ONIONADDRESS")
The onion address of a hidden service includes its identity public key, a
version field and a basic checksum. All this information is then base32
encoded as shown below:
For any (sane) code, when you generate an RSA key you generate the private key then the public key is derived from it.
The onion address is the base32 encoded first 10 bytes of the sha1 sum of the asn1 encoded public key. So the private key derives directly to the public key and the address derives directly from the public key.
So, to ensure that the ...
but I still don't understand how to get onion address.
You would simply edit your torrc config file, by propagating the settings for hidden service, thereafter tor daemon will re-read it, after SIGHUP: pidof tor | xargs kill -HUP, and will create an onion address for you.
Add this to your /etc/tor/torrc config file:
As there are 32^16 possible addresses, such a collision is astronomically unlikely. In any case, there's no way of knowing if someone else has the same hidden service, just happens to be offline; there's no way of knowing whether another entity with the same HS key is actually you (from a previous session, or another machine etc).