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

Allow Manual Proxy Specification At Startup #829

Closed
naortega opened this issue Jun 7, 2017 · 9 comments · Fixed by #1893
Closed

Allow Manual Proxy Specification At Startup #829

naortega opened this issue Jun 7, 2017 · 9 comments · Fixed by #1893
Assignees

Comments

@naortega
Copy link

naortega commented Jun 7, 2017

Upon first starting the application (running an x86_64 GNU/Linux machine, running BitSquare v0.4.9.9.3) I noticed that it started trying to connect to the TOR network (and gets stuck there, but that's beside the point). However I already have an instance of TOR running, and would prefer to be able to use the system one instead in order to avoid double-work and it would also lower startup time (since the system TOR is already connected).

I have read in other issues (and seen the --help option) that there are the --socks5ProxyHttpAddress and --socks5ProxyBtcAddress options, however I have also read that these do not redirect all traffic through system TOR and will still try to initialize BitSquare's own TOR instance.

My suggestion is to either have the application ask the user if they would like to specify a system proxy address upon startup or simply (like the other options) have a command line argument that can be used to direct all TOR traffic normally sent through BitSquare's instance through the system TOR. This may also help so that people can use other networks, such as I2P.

@ManfredKarrer
Copy link
Contributor

It would require some extra effort to enable the external Tor instance to be used for the P2P network. Atm we use it only for the BTC network connections.
I2P would be a separate network with the negative consequence to reduce the network effect (less offers). But beside that it would be a nice option in some future.
Atm we have so many other hi-prio stuff (DOA, decentralize arbitration system, UI/usability improvements, move to BTC Core SPV mode -> get rid of vulnerable Bloomfilters from BitcoinJ, APIs,...) that I cannot focus on that.
But would appreciate if you find time to contribute in any area!

@sammdu
Copy link

sammdu commented Jul 27, 2017

Agree with @Deathsbreed
@ManfredKarrer I do think that support for externel tor/proxy is quite important, and also, should be easier.
You see, people living in censored countries (like me) cannot even use this thing as it is.
To embed tor in your software I suppose is more effort since you'll probably have to trim it down, optimize it for the software etc, where as an implementation of proxy client should be an off-the-shelf solution in any popular programming language, and you save your time messing around with tor...just post a guide on how users can download tor bundle and hook it up with Bisq
But surely I'm not participating in the development so please correct me if I'm wrong :-)

@sammdu
Copy link

sammdu commented Jul 27, 2017

or if you have to embed tor for some reason, I suggest letting the user edit the torrc file (I tried but it got wiped once I started the instance), so people can use bridges and pluggable transports (meek works fine in my case) if direct connection doesn't work.

@ManfredKarrer
Copy link
Contributor

@sammdu There is a new version of the library we use prepared with pluggable transport support. we just lack resourced to integrate it. If any network savvy dev want to help out here, would be appreciated. The packaging of Tor has much more benefits than costs. The goal to support those countries where Tor is blocked is easier reached by integrating the new lib mentioned above.

@sammdu
Copy link

sammdu commented Jul 27, 2017

@ManfredKarrer sure I'll definitely be waiting for the new implementation!
But just saying proxy support would also be nice to implement in the future, once you got time for it :-)

@ManfredKarrer
Copy link
Contributor

Sure is on our roadmap, just too many other prios and lack of resources... for china tor alone is not enough. we need translation and UI redesign (translation breaks layout). and we need to build up a community there. atm we dont have any contacts. so that all need a bit more time and resources to get it right. it does not help u if u run bisq but there are no traders... bootstrapping is hard

@sammdu
Copy link

sammdu commented Jul 27, 2017

Bro I completely understand ur struggle and I'd be happy to help with anything I can...see I don't use Java so sadly there's nothing much I can help in terms of actual dev.
For marketing I suggest you can work with coin communities, and make sure they post ur link on their "Get X Coins" page. I actually came here from monero coin X-D

@hanzac
Copy link

hanzac commented Sep 18, 2017

I've been able to connect to the network by changing the below files:
C:\Users\NT_USER_NAME\AppData\Local\Bisq\app\Bisq.jar\torrc:
ControlPort auto
CookieAuthentication 1
DisableNetwork 1
AvoidDiskWrites 1
PidFile pid
RunAsDaemon 1
SafeSocks 0
SOCKSPort 9050
Socks5Proxy 127.0.0.1:1080

C:\Users\NT_USER_NAME\AppData\Local\Bisq\app\Bisq.jar\socks.properties:
port = 9050
proxy = 127.0.0.1:9050

The main idea here is using a socks5 or http or https proxy provided by VPN or ShadowSocks. I'm running on the Windows.
Hope these configuration can be moved to outside or there will be some UI or documentation.

@JesusMcCloud
Copy link

Basic support for using external (already configured) Tor instances has been added to netlayer (see JesusMcCloud/netlayer#7)

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

Successfully merging a pull request may close this issue.

6 participants