Hmmm, I've just been reading up a bit on TOR & I'm tempted to leave deploying it up to the OS (integration into network settings would be great!)... I'm not 100% sure whether or not the `torsocks` command would be enough to Torify Rhapsode, but Tor can certainly be configured as the system HTTPS proxy with Rhapsode respecting that!

Or you could mess with the DNS resolver to understand *.onion addresses? Could do this within Rhapsode but I think it'd be best done outside.


I certainly like the privacy aspect of TOR, but my bigger motivation is to let websites decide they can sacrifice human readable identifiers for decentralization.

The "Zooko's Triangle" theory I'm working from being that between decentralization, human readability, & uniqueness an identifier can only have two. (Unless you use blockchain!) While I'm generally happier leaving naming to the OS (I've got enough to do), I'm not happy with us all renting identifiers from ICANN.


So the DNS is one form of sacrificing decentralization for human readability & uniqueness, whilst TOR Hidden Services (did:onion:*, *.onion) or IP addresses sacrafices human readability for decentralization & uniqueness.

That leaves me to implement some form "nicknames" to sacrifice uniqueness. Not entirely sure what that would involve here whilst ensuring sites link where they expect, but I doubt it's something I can offload to the OS where all internet apps can benefit... Thoughts?

3/3 Fin

@alcinnz A technique which has bounced around for IPv4 is to use short words for the four octets of an address. So might be instead con,boy,ash,pet

Code at:

(IPv6 left as an exercise for the reader! 🤯 )

Implementing Tor opens up devices with operating systems that Tor doesn't support, but with the cost that maintaining the implementation becomes your responsibility. It's (apparently) not terribly difficult, but doing that for Rhapsode has less upside than, say, Hephaestus

@yaaps Yes, and it looks like complexity I could offload onto packagers: Rhapsode/Haphaestus *should* compose trivially with Tor's existing commandline tools. And they would need to package those commandline tools in some form anyways, unless I were to take on the burden of reimplementing Tor in Haskell!

Sign in to participate in the conversation

For people who care about, support, or build Free, Libre, and Open Source Software (FLOSS).