1
0

interface: bypass proxy for servers on localhost

closes https://github.com/spesmilo/electrum/issues/3126
closes https://github.com/spesmilo/electrum/issues/7256

I am unsure if this would be safe to do for the more general "server running on private ip" case,
so this is restricted to localhost only atm.
This commit is contained in:
SomberNight
2022-05-16 22:24:07 +02:00
parent 3cc6c0dd2d
commit d7678e14b5
2 changed files with 23 additions and 2 deletions

View File

@@ -372,9 +372,17 @@ class Interface(Logger):
self.blockchain = None # type: Optional[Blockchain]
self._requested_chunks = set() # type: Set[int]
self.network = network
self.proxy = MySocksProxy.from_proxy_dict(proxy)
self.session = None # type: Optional[NotificationSession]
self._ipaddr_bucket = None
# Set up proxy.
# - for servers running on localhost, the proxy is not used. If user runs their own server
# on same machine, this lets them enable the proxy (which is used for e.g. FX rates).
# note: we could maybe relax this further and bypass the proxy for all private
# addresses...? e.g. 192.168.x.x
if util.is_localhost(server.host):
self.logger.info(f"looks like localhost: not using proxy for this server")
proxy = None
self.proxy = MySocksProxy.from_proxy_dict(proxy)
# Latest block header and corresponding height, as claimed by the server.
# Note that these values are updated before they are verified.