Mist: Adding HTTP Proxy Support for Mist (via global-tunnel module?)

Created on 4 Nov 2016  路  6Comments  路  Source: ethereum/mist

There has already been a ticket on this, which is closed now, however, the reason I am resubmitting this issue: within larger corporate networks, it is often obligatory that http requests have to go through a HTTP proxy. Currently, it's not possible to configure Mist / Ethereum Wallet to use a corporate proxy, which results in errors when Mist tries to fetch the client configuration or when it tries to download the newest geth binary. It makes it difficult to experiment with it within larger corporations.

The problem could be easily fixed, by adding something like global-tunnel(?) module.

Enhancement

Most helpful comment

You're referring to the request module. As far as I understand the code, Ethereum Wallet / Mist is using the got module (https://www.npmjs.com/package/got). On the got module page you can find the instruction how to add proxy support to got:

You can use the tunnel module with the agent option to work with proxies

IMHO a good solution would be to add parameters to Ethereum Wallet / Mist for configuring a proxy (host/port/user/password).

All 6 comments

There are two pieces that have to be proxyfied:

  • Mist
  • the client (geht, parity, etc) - if no external http-rpc node was used

ethereum client

Geth does not have proxy functionlity implemented.
I'm not sure about eth or parity.

Mist

According to https://www.npmjs.com/package/electron you should be able to use Mist with a proxy by creating those environment variables. Perhaps this could be leveraged to create a command-line flag.

You're referring to the request module. As far as I understand the code, Ethereum Wallet / Mist is using the got module (https://www.npmjs.com/package/got). On the got module page you can find the instruction how to add proxy support to got:

You can use the tunnel module with the agent option to work with proxies

IMHO a good solution would be to add parameters to Ethereum Wallet / Mist for configuring a proxy (host/port/user/password).

According to https://www.npmjs.com/package/electron you should be able to use Mist with a proxy by creating those environment variables. Perhaps this could be leveraged to create a command-line flag.

I use these variables for different tools (like node.js) already, but they are ignored by Mist.

Currently facing same issue. Connection is getting timed out due to proxy. setting the proxy variables dint help
Any solution/workaround?

is it not possible to set your connection globally? I feel this is not desired in a simple user facing app

I feel this is not desired in a simple user facing app

@alexvandesande this depends on the users you wish to target. I understand Mist as a browser with web3 support targeting the whole world. Lot of interested people (like me) experimenting with the technology are sitting behind corporate proxy servers. As a serious browser, it should offer the possibility to configure a http proxy.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

sluTTYusr picture sluTTYusr  路  3Comments

ihatecreatingaccounts picture ihatecreatingaccounts  路  6Comments

jaumevn picture jaumevn  路  5Comments

chanukya246 picture chanukya246  路  5Comments

jamesray1 picture jamesray1  路  5Comments