spesmilo / electrum

Electrum Bitcoin Wallet
https://electrum.org
MIT License
7.35k stars 3.06k forks source link

TrustedCoin service is broken - critical bug #7628

Open wornerbm opened 2 years ago

wornerbm commented 2 years ago

During Electrum 4.1.5 launch I got pop-up window - "Sorry! Something went wrong while executing Electrum."

I'm unable to complete any transactions because of this error. As far as I can understand, TrustedCoin is using Cloudflare services and it wants me to pass captcha, which is ridiculous because Electrum is not a browser.

Part of report contents below:

Traceback (most recent call last):
  File "/tmp/.mount_electrm2AfM4/usr/lib/python3.7/site-packages/electrum/util.py", line 1063, in run_with_except_hook
    run_original(*args2, **kwargs2)
  File "/tmp/.mount_electrm2AfM4/usr/lib/python3.7/threading.py", line 870, in run
    self._target(*self._args, **self._kwargs)
  File "/tmp/.mount_electrm2AfM4/usr/lib/python3.7/site-packages/electrum/plugins/trustedcoin/trustedcoin.py", line 488, in f
    return func(self, *args, **kwargs)
  File "/tmp/.mount_electrm2AfM4/usr/lib/python3.7/site-packages/electrum/plugins/trustedcoin/trustedcoin.py", line 499, in request_billing_info
    billing_info = server.get(wallet.get_user_id()[1])
  File "/tmp/.mount_electrm2AfM4/usr/lib/python3.7/site-packages/electrum/plugins/trustedcoin/trustedcoin.py", line 210, in get
    return self.send_request('get', 'cosigner/%s' % quote(id))
  File "/tmp/.mount_electrm2AfM4/usr/lib/python3.7/site-packages/electrum/plugins/trustedcoin/trustedcoin.py", line 157, in send_request
    timeout=timeout)
  File "/tmp/.mount_electrm2AfM4/usr/lib/python3.7/site-packages/electrum/network.py", line 1322, in send_http_on_proxy
    return coro.result()
  File "/tmp/.mount_electrm2AfM4/usr/lib/python3.7/concurrent/futures/_base.py", line 435, in result
    return self.__get_result()
  File "/tmp/.mount_electrm2AfM4/usr/lib/python3.7/concurrent/futures/_base.py", line 384, in __get_result
    raise self._exception
  File "/tmp/.mount_electrm2AfM4/usr/lib/python3.7/site-packages/electrum/network.py", line 1300, in _send_http_on_proxy
    return await on_finish(resp)
  File "/tmp/.mount_electrm2AfM4/usr/lib/python3.7/site-packages/electrum/plugins/trustedcoin/trustedcoin.py", line 135, in handle_response
    raise TrustedCoinException(message, resp.status)
electrum.plugins.trustedcoin.trustedcoin.TrustedCoinException: <!DOCTYPE html>
<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en-US"> <![endif]-->
<!--[if IE 7]>    <html class="no-js ie7 oldie" lang="en-US"> <![endif]-->
<!--[if IE 8]>    <html class="no-js ie8 oldie" lang="en-US"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en-US"> <!--<![endif]-->
<head>

<title>Please Wait... | Cloudflare</title>

<meta name="captcha-bypass" id="captcha-bypass" />
<meta charset="UTF-8" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1" />
<meta name="robots" content="noindex, nofollow" />
<meta name="viewport" content="width=device-width,initial-scale=1" />
<link rel="stylesheet" id="cf_styles-css" href="/cdn-cgi/styles/cf.errors.css" type="text/css" media="screen,projection" />
<!--[if lt IE 9]><link rel="stylesheet" id='cf_styles-ie-css' href="/cdn-cgi/styles/cf.errors.ie.css" type="text/css" media="screen,projection" /><![endif]-->
<style type="text/css">body{margin:0;padding:0}</style>

Another part:

<noscript id="cf-captcha-bookmark" class="cf-captcha-info">
  <h1 data-translate="turn_on_js" style="color:#bd2426;">Please turn JavaScript on and reload the page.</h1>
  </noscript>
    <div id="no-cookie-warning" class="cookie-warning" data-translate="turn_on_cookies" style="display:none">
      <p data-translate="turn_on_cookies" style="color:#bd2426;">Please enable Cookies and reload the page.</p>
    </div>
  <script type="text/javascript">
  //<![CDATA[
    var a = function() {try{return !!window.addEventListener} catch(e) {return !1} },
      b = function(b, c) {a() ? document.addEventListener("DOMContentLoaded", b, c) : document.attachEvent("onreadystatechange", b)};
      b(function(){
        var cookiesEnabled=(navigator.cookieEnabled)? true : false;
        if(!cookiesEnabled){
          var q = document.getElementById('no-cookie-warning');q.style.display = 'block';
ecdsa commented 2 years ago

@badmofo can you have a look please? it works for me, my trustedcoin wallet can request the billing info. @wornerbm maybe cloudflare is blocking your specific IP address?

badmofo commented 2 years ago

The TrustedCoin service has been under DDOS attack for the past few days so I had to put it behind Cloudflare for the time being. I suggest users that encounter this issue go to http://api.trustedcoin.com/ in a browser from the same machine, solve the Cloudflare CAPTCHA, and then restart Electrum. This may temporarily whitelist their IP. Restoring from seed to disable 2FA is another possible, albeit less desirable, solution.

ecdsa commented 2 years ago

The TrustedCoin service has been under DDOS attack for the past few days

wow. please let us know how the situation develops