Onion v2 addresses are deprecated, I’m not mad
July 2, 2024
It finally happened. The Tor Project, Inc. finally pulled the plug on onion v2
services. This means that my original super–epic vanity address gets replaced
by a boring only–slightly–vanity onion v3 one.
Origin
16 character onion v2 addresses were just the right length to enable
bruteforcing vanity looking addresses. Finding an address starting with a
defined 8 character string is relatively easy with
eschalot. Some entities
have gone as far as to keep brute-forcing until they get an address with their
name and pronouncable,
backronymizable remaining
characters. Some examples would be facebookcorewwwi.onion and
rutrackerripnext.onion. Existing companies/organizations are however challenged
with a disadvantage of having to include their existing name in the address.
That is what makes those addresses impressive.
For entities that haven’t decided on a name vanity address hunting becomes much
easier. They can pull entire dictionaries and compare bruteforced addresses
with them to find good looking domains. That’s how I got my first address for
this website - lightingtexfqcor.onion. In this case eschalot returned a match
for ”lighting” and I further recognised ”tex”. Deciding feature was ”fqcor”
which sounds like it means something.
I was looking for a way to punch through NAT at my dormitory (network
administrators didn’t provide port forwarding for students, duh!). Using an
onion hidden service is great for that. It makes your website independent from
internet service providers and domain registrars. For those reasons my server
was only accessible through tor. It would be fine if every browser was
distributed with a copy of tor router, but that is not the case. To have my
server accessible by more people I decided to forward connections through a VPS
and purchased a domain - fqcor.com. I chose it to make my original
lightingtexfqcor.onion address look completely non-random. I’m not sure if it
raised any brows without me pointing it out. Maybe people just don’t look at
onions that closely.
/WWWW\ V |, , ,| / \ | ‘| \_/ \ o , \ | Author of this article looking very closely at an onion
Onion v3
The whole origin story of my domain name becomes irrelevant in the context of a
new onion v3 addresses. Getting an 8 character string at the beginning is much
harder with them, and the worst part is that they are 57 characters long! There
is simply no way to make them look nice.
For a long time I ignored the deprecation announcements. Recently one of my
systems stopped connecting to my services after update. I quickly launched
mkp224o to bruteforce something
suitable. I went with
fqcoretoclxwqpy3dwktkskmwywrcktgnpviesveq6vrjhqhdc6y4fid.onion.
I don’t plan on rolling something better, v3 services are ugly no matter what.
Despite all my whining I support the change - it introduces a much better
ed25519 cryptography and avoids some of the
vulnerabilities
that previous version had.
One complaint that I still have is how user can set up a private hidden
service. Previous version had just simple secret cookie setting that you would
have to copy between devices. New version has full asymmetric cryptography,
again with magic Curve25519. This allows administrator to accept public keys
from different users separately without risk of leaking one secret cookie. I’m
sure the codebase behind that is cleaner too, but for now the procedure of
setting it up is
not
great.
Hopefully in the future tor will ship with official tools for generating keys
for hidden service authentication.
Title
I removed all occurrences of ”lightingtex” from my website (except articles). From now on title will be a backronym of ”fqcor” - different after every page reload. Title is handled by menu.html server side inclusion. I used hhvn’s suggestion to use inotify to look at accesses to this file and then change it randomly. This way I don’t need to dig into nginx CGI. I used dictionary from Electrum because I didn’t want NSFW titles.