Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Using tor binary from o/s instead of distributing it #492

Closed
SjonHortensius opened this issue Jun 13, 2016 · 4 comments · Fixed by #1935
Closed

Using tor binary from o/s instead of distributing it #492

SjonHortensius opened this issue Jun 13, 2016 · 4 comments · Fixed by #1935
Assignees

Comments

@SjonHortensius
Copy link

SjonHortensius commented Jun 13, 2016

As part of #484 I noticed Bitsquare distributes it's own tor binary. I think this might be a nice fallback, but I also believe Bitsquare should use the o/s binary in /usr/bin when it it available instead.

This also saves you from needing to update the tor-client whenever a new version comes out. My qnd POC can be found here: https://github.com/SjonHortensius/bitsquare/commit/338f7f117939ecc2fc302c3d57079f6c81c851a7

I'd be happy to rewrite this to something like torPath = exists(/usr/bin/tor) ? '/usr/bin/tor' : local.path();. It seems the best location to change this is the OnionProxyContext constructor

@ManfredKarrer
Copy link
Member

Hi @SjonHortensius, I have seen that already but I am not sure if different Tor versions work with the Java Tor libraries used in Bitsquare (JTorCtrl,...). If anyone has time to test Bitsquare with different Tor version on diff. OS we could change that. Otherwise I see it as a risk which can be easily avoided by shipping our own Tor binary.

@SjonHortensius
Copy link
Author

@ManfredKarrer; don't you think you're also introducing risk by shipping a custom binary? The tor releases seem to have a pretty stable api; since they are already used by numerous other external tools.

I understand using external dependencies gives you less control; but it also gives you some of benefits:

  • auto-upgrades for security fixes that might (also) compromise Bitsquare
  • no need to setup a custom compile-farm for different o/s'es and architectures
  • less code to worry about / things that can go wrong

Did you already experience incompatibilities with o/s supplied tor-binaries, compared to shipping it yourself?

@ManfredKarrer
Copy link
Member

Our Tor binaries are taken from official Tor distributions.

I agree with your points, I just have so much other stuff on my table to do so that I dont want to spend much time to test on all OS, with all the latest Tor binaries to see if it does not break anything.

When I started with the Tor libraries I wanted to use the latest Tor binary from OSX but it was not working. I did not spend more time on investigating, so might have been a trivial issues as well. The Java Tor libs used in Bitsquare are also quite outdated and is another open task, but as said there is so much more hi-prio stuff to do that I cannot focus on that yet.

If any experienced dev will make that to his task I would be happy. The jTorCtrl lib for instance would need an update to the latest protocol APIs and the jTorProxy lib could need some love as well...
Though I don't have enough funds yet to pay for such a big task. Once we have our DAO in place I can offer easier compensation.

@JesusMcCloud
Copy link

#971 fixes this issue

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants