Razviar / marvelsnaptracker

Marvel Snap Tracker repo
https://marvelsnap.pro/
154 stars 34 forks source link

Blocked by Cloudflare #76

Open G4Zz0L1 opened 2 months ago

G4Zz0L1 commented 2 months ago

Apparently, in addition to not being able to use the tracker on Android 14, now I can't even use it with Steam from Linux (it's always worked so far). It would appear that Cloudflare has blocked me for some undefined reason (as can be seen towards the end of the attached log). I also tried to reset the tracker and redo the synchronization, but it doesn't seem to change much. What can I do on my side? Thanks in advance.

EDIT: I can access the site https://marvelsnap.pro without problems The error seems to be related only to the tracker at the moment.

(node:3209777) UnhandledPromiseRejectionWarning: Error: Parsing paused: newly detected user account must be synced or skipped
    at Ga.internalLoop (/app/marvelsnaptracker/out/Marvel Snap Tracker-linux-x64/resources/app/.webpack/main/index.js:2:466163)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)
(Use `Marvel Snap Tracker --trace-warnings ...` to show where the warning was created)
(node:3209777) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
Failure to perform tokenrequest
G [AxiosError]: Request failed with status code 403
    at Se (/app/marvelsnaptracker/out/Marvel Snap Tracker-linux-x64/resources/app/.webpack/main/index.js:2:380590)
    at BrotliDecompress.<anonymous> (/app/marvelsnaptracker/out/Marvel Snap Tracker-linux-x64/resources/app/.webpack/main/index.js:2:392366)
    at BrotliDecompress.emit (node:events:529:35)
    at endReadableNT (node:internal/streams/readable:1368:12)
    at processTicksAndRejections (node:internal/process/task_queues:82:21) {
  code: 'ERR_BAD_REQUEST',
  config: {
    transitional: {
      silentJSONParsing: true,
      forcedJSONParsing: true,
      clarifyTimeoutError: false
    },
    adapter: 'http',
    transformRequest: [ [Function (anonymous)] ],
    transformResponse: [ [Function (anonymous)] ],
    timeout: 20000,
    xsrfCookieName: 'XSRF-TOKEN',
    xsrfHeaderName: 'X-XSRF-TOKEN',
    maxContentLength: Infinity,
    maxBodyLength: Infinity,
    env: { FormData: [Function], Blob: [class Blob] },
    validateStatus: [Function: validateStatus],
    headers: Object [AxiosHeaders] {
      Accept: 'application/json, text/plain, */*',
      'Content-Type': 'application/json',
      'User-Agent': 'axios/1.5.0',
      'Content-Length': '76',
      'Accept-Encoding': 'gzip, compress, deflate, br'
    },
    data: '{"playerid":"myid","plguid":"myuid"}',
    withCredentials: false,
    url: 'https://marvelsnap.pro//snap/donew2.php?cmd=cm_tokenrequest&version=1.2.27w',
    httpsAgent: Agent {
      _events: [Object: null prototype],
      _eventsCount: 2,
      _maxListeners: undefined,
      defaultPort: 443,
      protocol: 'https:',
      options: [Object: null prototype],
      requests: [Object: null prototype] {},
      sockets: [Object: null prototype] {},
      freeSockets: [Object: null prototype],
      keepAliveMsecs: 1000,
      keepAlive: true,
      maxSockets: Infinity,
      maxFreeSockets: 256,
      scheduling: 'lifo',
      maxTotalSockets: Infinity,
      totalSocketCount: 1,
      maxCachedSessions: 100,
      _sessionCache: [Object],
      [Symbol(kCapture)]: false
    },
    method: 'post'
  },
  request: <ref *1> ClientRequest {
    _events: [Object: null prototype] {
      abort: [Function (anonymous)],
      aborted: [Function (anonymous)],
      connect: [Function (anonymous)],
      error: [Function (anonymous)],
      socket: [Function (anonymous)],
      timeout: [Function (anonymous)],
      finish: [Function: requestOnFinish]
    },
    _eventsCount: 7,
    _maxListeners: undefined,
    outputData: [],
    outputSize: 0,
    writable: true,
    destroyed: true,
    _last: false,
    chunkedEncoding: false,
    shouldKeepAlive: true,
    maxRequestsOnConnectionReached: false,
    _defaultKeepAlive: true,
    useChunkedEncodingByDefault: true,
    sendDate: false,
    _removedConnection: false,
    _removedContLen: false,
    _removedTE: false,
    strictContentLength: false,
    _contentLength: '76',
    _hasBody: true,
    _trailer: '',
    finished: true,
    _headerSent: true,
    _closed: true,
    socket: TLSSocket {
      _tlsOptions: [Object],
      _secureEstablished: true,
      _securePending: false,
      _newSessionPending: false,
      _controlReleased: true,
      secureConnecting: false,
      _SNICallback: null,
      servername: 'marvelsnap.pro',
      alpnProtocol: false,
      authorized: true,
      authorizationError: null,
      encrypted: true,
      _events: [Object: null prototype],
      _eventsCount: 9,
      connecting: false,
      _hadError: false,
      _parent: null,
      _host: 'marvelsnap.pro',
      _closeAfterHandlingError: false,
      _readableState: [ReadableState],
      _maxListeners: undefined,
      _writableState: [WritableState],
      allowHalfOpen: false,
      _sockname: null,
      _pendingData: null,
      _pendingEncoding: '',
      server: undefined,
      _server: null,
      ssl: [TLSWrap],
      _requestCert: true,
      _rejectUnauthorized: true,
      parser: null,
      _httpMessage: null,
      timeout: 0,
      [Symbol(res)]: [TLSWrap],
      [Symbol(verified)]: true,
      [Symbol(pendingSession)]: null,
      [Symbol(async_id_symbol)]: -1,
      [Symbol(kHandle)]: [TLSWrap],
      [Symbol(lastWriteQueueSize)]: 0,
      [Symbol(timeout)]: Timeout {
        _idleTimeout: -1,
        _idlePrev: null,
        _idleNext: null,
        _idleStart: 20517,
        _onTimeout: null,
        _timerArgs: undefined,
        _repeat: null,
        _destroyed: true,
        [Symbol(refed)]: false,
        [Symbol(kHasPrimitive)]: false,
        [Symbol(asyncId)]: 320,
        [Symbol(triggerId)]: 315
      },
      [Symbol(kBuffer)]: null,
      [Symbol(kBufferCb)]: null,
      [Symbol(kBufferGen)]: null,
      [Symbol(kCapture)]: false,
      [Symbol(kSetNoDelay)]: false,
      [Symbol(kSetKeepAlive)]: true,
      [Symbol(kSetKeepAliveInitialDelay)]: 1,
      [Symbol(kBytesRead)]: 0,
      [Symbol(kBytesWritten)]: 0,
      [Symbol(connect-options)]: [Object]
    },
    _header: 'POST //snap/donew2.php?cmd=cm_tokenrequest&version=1.2.27w HTTP/1.1\r\n' +
      'Accept: application/json, text/plain, */*\r\n' +
      'Content-Type: application/json\r\n' +
      'User-Agent: axios/1.5.0\r\n' +
      'Content-Length: 76\r\n' +
      'Accept-Encoding: gzip, compress, deflate, br\r\n' +
      'Host: marvelsnap.pro\r\n' +
      'Connection: keep-alive\r\n' +
      '\r\n',
    _keepAliveTimeout: 0,
    _onPendingData: [Function: nop],
    agent: Agent {
      _events: [Object: null prototype],
      _eventsCount: 2,
      _maxListeners: undefined,
      defaultPort: 443,
      protocol: 'https:',
      options: [Object: null prototype],
      requests: [Object: null prototype] {},
      sockets: [Object: null prototype] {},
      freeSockets: [Object: null prototype],
      keepAliveMsecs: 1000,
      keepAlive: true,
      maxSockets: Infinity,
      maxFreeSockets: 256,
      scheduling: 'lifo',
      maxTotalSockets: Infinity,
      totalSocketCount: 1,
      maxCachedSessions: 100,
      _sessionCache: [Object],
      [Symbol(kCapture)]: false
    },
    socketPath: undefined,
    method: 'POST',
    maxHeaderSize: undefined,
    insecureHTTPParser: undefined,
    joinDuplicateHeaders: undefined,
    path: '//snap/donew2.php?cmd=cm_tokenrequest&version=1.2.27w',
    _ended: true,
    res: IncomingMessage {
      _readableState: [ReadableState],
      _events: [Object: null prototype],
      _eventsCount: 4,
      _maxListeners: undefined,
      socket: null,
      httpVersionMajor: 1,
      httpVersionMinor: 1,
      httpVersion: '1.1',
      complete: true,
      rawHeaders: [Array],
      rawTrailers: [],
      joinDuplicateHeaders: undefined,
      aborted: false,
      upgrade: false,
      url: '',
      method: null,
      statusCode: 403,
      statusMessage: 'Forbidden',
      client: [TLSSocket],
      _consuming: true,
      _dumped: false,
      req: [Circular *1],
      responseUrl: 'https://marvelsnap.pro//snap/donew2.php?cmd=cm_tokenrequest&version=1.2.27w',
      redirects: [],
      [Symbol(kCapture)]: false,
      [Symbol(kHeaders)]: [Object],
      [Symbol(kHeadersCount)]: 30,
      [Symbol(kTrailers)]: null,
      [Symbol(kTrailersCount)]: 0
    },
    aborted: false,
    timeoutCb: null,
    upgradeOrConnect: false,
    parser: null,
    maxHeadersCount: null,
    reusedSocket: false,
    host: 'marvelsnap.pro',
    protocol: 'https:',
    _redirectable: Writable {
      _writableState: [WritableState],
      _events: [Object: null prototype],
      _eventsCount: 3,
      _maxListeners: undefined,
      _options: [Object],
      _ended: true,
      _ending: true,
      _redirectCount: 0,
      _redirects: [],
      _requestBodyLength: 76,
      _requestBodyBuffers: [],
      _onNativeResponse: [Function (anonymous)],
      _currentRequest: [Circular *1],
      _currentUrl: 'https://marvelsnap.pro//snap/donew2.php?cmd=cm_tokenrequest&version=1.2.27w',
      _timeout: null,
      [Symbol(kCapture)]: false
    },
    [Symbol(kCapture)]: false,
    [Symbol(kBytesWritten)]: 0,
    [Symbol(kNeedDrain)]: false,
    [Symbol(corked)]: 0,
    [Symbol(kOutHeaders)]: [Object: null prototype] {
      accept: [Array],
      'content-type': [Array],
      'user-agent': [Array],
      'content-length': [Array],
      'accept-encoding': [Array],
      host: [Array]
    },
    [Symbol(errored)]: null,
    [Symbol(kHighWaterMark)]: 16384,
    [Symbol(kRejectNonStandardBodyWrites)]: false,
    [Symbol(kUniqueHeaders)]: null
  },
  response: {
    status: 403,
    statusText: 'Forbidden',
    headers: Object [AxiosHeaders] {
      date: 'Wed, 10 Apr 2024 23:13:53 GMT',
      'content-type': 'text/html; charset=UTF-8',
      'transfer-encoding': 'chunked',
      connection: 'keep-alive',
      'x-frame-options': 'SAMEORIGIN',
      'referrer-policy': 'same-origin',
      'cache-control': 'max-age=15',
      expires: 'Wed, 10 Apr 2024 23:14:08 GMT',
      'report-to': '{"endpoints":[{"url":"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=0Dws7wUWa79o2XNrBZyjGbBwCy4XPjVLU1aZTTjp1TdzT1HzjgV1TzVdvFY66RpLXBp4bHJi8SW6O4sgcxOYTAvUbkLFDY6yoKUPJU4y6uY3ifdsx777ssKNq3HsB9mx"}],"group":"cf-nel","max_age":604800}',
      nel: '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}',
      vary: 'Accept-Encoding',
      server: 'cloudflare',
      'cf-ray': '87266e134e720e0b-MXP',
      'alt-svc': 'h3=":443"; ma=86400'
    },
    config: {
      transitional: [Object],
      adapter: 'http',
      transformRequest: [Array],
      transformResponse: [Array],
      timeout: 20000,
      xsrfCookieName: 'XSRF-TOKEN',
      xsrfHeaderName: 'X-XSRF-TOKEN',
      maxContentLength: Infinity,
      maxBodyLength: Infinity,
      env: [Object],
      validateStatus: [Function: validateStatus],
      headers: [Object [AxiosHeaders]],
      data: '{"playerid":"myid","plguid":"myuid"}',
      withCredentials: false,
      url: 'https://marvelsnap.pro//snap/donew2.php?cmd=cm_tokenrequest&version=1.2.27w',
      httpsAgent: [Agent],
      method: 'post'
    },
    request: <ref *1> ClientRequest {
      _events: [Object: null prototype],
      _eventsCount: 7,
      _maxListeners: undefined,
      outputData: [],
      outputSize: 0,
      writable: true,
      destroyed: true,
      _last: false,
      chunkedEncoding: false,
      shouldKeepAlive: true,
      maxRequestsOnConnectionReached: false,
      _defaultKeepAlive: true,
      useChunkedEncodingByDefault: true,
      sendDate: false,
      _removedConnection: false,
      _removedContLen: false,
      _removedTE: false,
      strictContentLength: false,
      _contentLength: '76',
      _hasBody: true,
      _trailer: '',
      finished: true,
      _headerSent: true,
      _closed: true,
      socket: [TLSSocket],
      _header: 'POST //snap/donew2.php?cmd=cm_tokenrequest&version=1.2.27w HTTP/1.1\r\n' +
        'Accept: application/json, text/plain, */*\r\n' +
        'Content-Type: application/json\r\n' +
        'User-Agent: axios/1.5.0\r\n' +
        'Content-Length: 76\r\n' +
        'Accept-Encoding: gzip, compress, deflate, br\r\n' +
        'Host: marvelsnap.pro\r\n' +
        'Connection: keep-alive\r\n' +
        '\r\n',
      _keepAliveTimeout: 0,
      _onPendingData: [Function: nop],
      agent: [Agent],
      socketPath: undefined,
      method: 'POST',
      maxHeaderSize: undefined,
      insecureHTTPParser: undefined,
      joinDuplicateHeaders: undefined,
      path: '//snap/donew2.php?cmd=cm_tokenrequest&version=1.2.27w',
      _ended: true,
      res: [IncomingMessage],
      aborted: false,
      timeoutCb: null,
      upgradeOrConnect: false,
      parser: null,
      maxHeadersCount: null,
      reusedSocket: false,
      host: 'marvelsnap.pro',
      protocol: 'https:',
      _redirectable: [Writable],
      [Symbol(kCapture)]: false,
      [Symbol(kBytesWritten)]: 0,
      [Symbol(kNeedDrain)]: false,
      [Symbol(corked)]: 0,
      [Symbol(kOutHeaders)]: [Object: null prototype],
      [Symbol(errored)]: null,
      [Symbol(kHighWaterMark)]: 16384,
      [Symbol(kRejectNonStandardBodyWrites)]: false,
      [Symbol(kUniqueHeaders)]: null
    },
    data: '<!DOCTYPE html>\n' +
      '<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en-US"> <![endif]-->\n' +
      '<!--[if IE 7]>    <html class="no-js ie7 oldie" lang="en-US"> <![endif]-->\n' +
      '<!--[if IE 8]>    <html class="no-js ie8 oldie" lang="en-US"> <![endif]-->\n' +
      '<!--[if gt IE 8]><!--> <html class="no-js" lang="en-US"> <!--<![endif]-->\n' +
      '<head>\n' +
      '<title>Attention Required! | Cloudflare</title>\n' +
      '<meta charset="UTF-8" />\n' +
      '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />\n' +
      '<meta http-equiv="X-UA-Compatible" content="IE=Edge" />\n' +
      '<meta name="robots" content="noindex, nofollow" />\n' +
      '<meta name="viewport" content="width=device-width,initial-scale=1" />\n' +
      '<link rel="stylesheet" id="cf_styles-css" href="/cdn-cgi/styles/cf.errors.css" />\n' +
      `<!--[if lt IE 9]><link rel="stylesheet" id='cf_styles-ie-css' href="/cdn-cgi/styles/cf.errors.ie.css" /><![endif]-->\n` +
      '<style>body{margin:0;padding:0}</style>\n' +
      '\n' +
      '\n' +
      '<!--[if gte IE 10]><!-->\n' +
      '<script>\n' +
      '  if (!navigator.cookieEnabled) {\n' +
      "    window.addEventListener('DOMContentLoaded', function () {\n" +
      "      var cookieEl = document.getElementById('cookie-alert');\n" +
      "      cookieEl.style.display = 'block';\n" +
      '    })\n' +
      '  }\n' +
      '</script>\n' +
      '<!--<![endif]-->\n' +
      '\n' +
      '\n' +
      '</head>\n' +
      '<body>\n' +
      '  <div id="cf-wrapper">\n' +
      '    <div class="cf-alert cf-alert-error cf-cookie-error" id="cookie-alert" data-translate="enable_cookies">Please enable cookies.</div>\n' +
      '    <div id="cf-error-details" class="cf-error-details-wrapper">\n' +
      '      <div class="cf-wrapper cf-header cf-error-overview">\n' +
      '        <h1 data-translate="block_headline">Sorry, you have been blocked</h1>\n' +
      '        <h2 class="cf-subheadline"><span data-translate="unable_to_access">You are unable to access</span> marvelsnap.pro</h2>\n' +
      '      </div><!-- /.header -->\n' +
      '\n' +
      '      <div class="cf-section cf-highlight">\n' +
      '        <div class="cf-wrapper">\n' +
      '          <div class="cf-screenshot-container cf-screenshot-full">\n' +
      '            \n' +
      '              <span class="cf-no-screenshot error"></span>\n' +
      '            \n' +
      '          </div>\n' +
      '        </div>\n' +
      '      </div><!-- /.captcha-container -->\n' +
      '\n' +
      '      <div class="cf-section cf-wrapper">\n' +
      '        <div class="cf-columns two">\n' +
      '          <div class="cf-column">\n' +
      '            <h2 data-translate="blocked_why_headline">Why have I been blocked?</h2>\n' +
      '\n' +
      '            <p data-translate="blocked_why_detail">This website is using a security service to protect itself from online attacks. The action you just performed triggered the security solution. There are several actions that could trigger this block including submitting a certain word or phrase, a SQL command or malformed data.</p>\n' +
      '          </div>\n' +
      '\n' +
      '          <div class="cf-column">\n' +
      '            <h2 data-translate="blocked_resolve_headline">What can I do to resolve this?</h2>\n' +
      '\n' +
      '            <p data-translate="blocked_resolve_detail">You can email the site owner to let them know you were blocked. Please include what you were doing when this page came up and the Cloudflare Ray ID found at the bottom of this page.</p>\n' +
      '          </div>\n' +
      '        </div>\n' +
      '      </div><!-- /.section -->\n' +
      '\n' +
      '      <div class="cf-error-footer cf-wrapper w-240 lg:w-full py-10 sm:py-4 sm:px-8 mx-auto text-center sm:text-left border-solid border-0 border-t border-gray-300">\n' +
      '  <p class="text-13">\n' +
      '    <span class="cf-footer-item sm:block sm:mb-1">Cloudflare Ray ID: <strong class="font-semibold">87266e134e720e0b</strong></span>\n' +
      '    <span class="cf-footer-separator sm:hidden">&bull;</span>\n' +
      '    <span id="cf-footer-item-ip" class="cf-footer-item hidden sm:block sm:mb-1">\n' +
      '      Your IP:\n' +
      '      <button type="button" id="cf-footer-ip-reveal" class="cf-footer-ip-reveal-btn">Click to reveal</button>\n' +
      '      <span class="hidden" id="cf-footer-ip">myip</span>\n' +
      '      <span class="cf-footer-separator sm:hidden">&bull;</span>\n' +
      '    </span>\n' +
      '    <span class="cf-footer-item sm:block sm:mb-1"><span>Performance &amp; security by</span> <a rel="noopener noreferrer" href="https://www.cloudflare.com/5xx-error-landing" id="brand_link" target="_blank">Cloudflare</a></span>\n' +
      '    \n' +
      '  </p>\n' +
      '  <script>(function(){function d(){var b=a.getElementById("cf-footer-item-ip"),c=a.getElementById("cf-footer-ip-reveal");b&&"classList"in b&&(b.classList.remove("hidden"),c.addEventListener("click",function(){c.classList.add("hidden");a.getElementById("cf-footer-ip").classList.remove("hidden")}))}var a=document;document.addEventListener&&a.addEventListener("DOMContentLoaded",d)})();</script>\n' +
      '</div><!-- /.error-footer -->\n' +
      '\n' +
      '\n' +
      '    </div><!-- /#cf-error-details -->\n' +
      '  </div><!-- /#cf-wrapper -->\n' +
      '\n' +
      '  <script>\n' +
      '  window._cf_translation = {};\n' +
      '  \n' +
      '  \n' +
      '</script>\n' +
      '\n' +
      '</body>\n' +
      '</html>\n'
  }
}
Razviar commented 2 months ago

Hello! It was a breaking change after the game patch. We are working on it