I'm writing a cross platform software and I want to distribute Tor with it to provide an out of the box experience. The workflow is the following: check if Tor is already running on 9050, if so I use that, if not, then I start the Tor I distributed with the software.
In Windows, it is easy, I just download the Tor expert bundle and I can run the Tor daemon. However there is no expert bundle for Tor on Linux and OSX (but let's stick to Linux, I'll take care of OSX later.) https://www.torproject.org/download/download.html.en
So I figured, I download the Tor Browser and I delete the unnecessary files. However I get the following error on Ubuntu 18.04:
./tor: error while loading shared libraries: libevent-2.0.so.5: cannot open shared object file: No such file or directory.
However, there is a
libevent-2.0.so.5 file next to the Tor daemon, but I figured there is an issue on Linux, that it doesn't look for .so files next to the executable.
Without getting into this issue, notice that I've already done a fair amount of hacking and I am hoping there is a cleaner way to package the Tor daemon properly and I am just missing something basic.
Note, I'd like to distribute my own Tor daemon, so to simplify the download instructions for my users, but also, because many distros have old Tor packages, those cannot handle v3 domains, so my app won't work at all and then I have to tell them how to hack around it.
So, my question is: is there a clean way to distribute the Tor daemon in Linux that doesn't result in any extra clicks for my user?