bropat / eufy-security-ws

Small server wrapper around eufy-security-client library to access it via a WebSocket.
MIT License
184 stars 29 forks source link

[Bug]: Error: getaddrinfo EAI_AGAIN extend.eufylife.com. extend.eufylife.com: not found, extend.eufylife.com/domain/NL: json respons #377

Open joho500 opened 1 day ago

joho500 commented 1 day ago

Version

1.9.1

Node version

in docker container

Operating System type

Linux

Operating system version

RaspberryPi OS (Debian 12)

Describe the bug

The docker container stops with the following error in the log: Unable to start driver RequestError: getaddrinfo EAI_AGAIN extend.eufylife.com

To reproduce

  1. Start container sudo docker run -itd --name=eufy-security-ws -e USERNAME=***** -e PASSWORD=***** -e COUNTRY=NL -e PORT=3010 -v /usr/local/docker-volumes/eufy-security/data:/data bropat/eufy-security-ws:latest

  2. Container stops with error, see log file below

Extra information: When I go to extend.eufylife.com in a browser I get 404 page not found. When I go to extend.eufylife.com/domain/NL I get a working json respons.

ping extend.eufylife.com returns nothing. Traceroute to extend.eufylife.com works.

Screenshots & Logfiles

Log:

SECURITY WARNING: Reverting CVE-2023-46809: Marvin attack on PKCS#1 padding
Unable to start driver RequestError: getaddrinfo EAI_AGAIN extend.eufylife.com
    at ClientRequest.<anonymous> (file:///usr/src/app/node_modules/got/dist/source/core/index.js:667:107)
    at Object.onceWrapper (node:events:634:26)
    at ClientRequest.emit (node:events:531:35)
    at ClientRequest.emit (node:domain:488:12)
    at emitErrorEvent (node:_http_client:108:11)
    at TLSSocket.socketErrorListener (node:_http_client:511:5)
    at TLSSocket.emit (node:events:519:28)
    at TLSSocket.emit (node:domain:488:12)
    at emitErrorNT (node:internal/streams/destroy:169:8)
    at emitErrorCloseNT (node:internal/streams/destroy:128:3)
    at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:120:26) {
  input: undefined,
  code: 'EAI_AGAIN',
  timings: {
    start: 1732619941957,
    socket: 1732619941959,
    lookup: 1732619946961,
    connect: undefined,
    secureConnect: undefined,
    upload: undefined,
    response: undefined,
    end: undefined,
    error: 1732619946961,
    abort: undefined,
    phases: {
      wait: 2,
      dns: 5002,
      tcp: undefined,
      tls: undefined,
      request: undefined,
      firstByte: undefined,
      download: undefined,
      total: 5004
    }
  },
  options: {
    request: undefined,
    agent: { http: undefined, https: undefined, http2: undefined },
    h2session: undefined,
    decompress: true,
    timeout: {
      connect: undefined,
      lookup: undefined,
      read: undefined,
      request: undefined,
      response: undefined,
      secureConnect: undefined,
      send: undefined,
      socket: undefined
    },
    prefixUrl: '',
    body: undefined,
    form: undefined,
    json: undefined,
    cookieJar: undefined,
    ignoreInvalidCookies: false,
    searchParams: undefined,
    dnsLookup: undefined,
    dnsCache: undefined,
    context: {},
    hooks: {
      init: [],
      beforeRequest: [],
      beforeError: [],
      beforeRedirect: [],
      beforeRetry: [],
      afterResponse: []
    },
    followRedirect: true,
    maxRedirects: 10,
    cache: undefined,
    throwHttpErrors: true,
    username: '',
    password: '',
    http2: false,
    allowGetBody: false,
    headers: {
      'user-agent': 'got (https://github.com/sindresorhus/got)',
      accept: 'application/json',
      'accept-encoding': 'gzip, deflate, br'
    },
    methodRewriting: false,
    dnsLookupIpVersion: undefined,
    parseJson: [Function: parse],
    stringifyJson: [Function: stringify],
    retry: {
      limit: 1,
      methods: [ 'GET' ],
      statusCodes: [
        408, 413, 429, 500,
        502, 503, 504, 521,
        522, 524
      ],
      errorCodes: [
        'ETIMEDOUT',
        'ECONNRESET',
        'EADDRINUSE',
        'ECONNREFUSED',
        'EPIPE',
        'ENOTFOUND',
        'ENETUNREACH',
        'EAI_AGAIN'
      ],
      maxRetryAfter: undefined,
      calculateDelay: [Function: calculateDelay],
      backoffLimit: Infinity,
      noise: 100
    },
    localAddress: undefined,
    method: 'GET',
    createConnection: undefined,
    cacheOptions: {
      shared: undefined,
      cacheHeuristic: undefined,
      immutableMinTimeToLive: undefined,
      ignoreCargoCult: undefined
    },
    https: {
      alpnProtocols: undefined,
      rejectUnauthorized: undefined,
      checkServerIdentity: undefined,
      certificateAuthority: undefined,
      key: undefined,
      certificate: undefined,
      passphrase: undefined,
      pfx: undefined,
      ciphers: undefined,
      honorCipherOrder: undefined,
      minVersion: undefined,
      maxVersion: undefined,
      signatureAlgorithms: undefined,
      tlsSessionLifetime: undefined,
      dhparam: undefined,
      ecdhCurve: undefined,
      certificateRevocationLists: undefined
    },
    encoding: undefined,
    resolveBodyOnly: false,
    isStream: false,
    responseType: 'json',
    url: URL {
      href: 'https://extend.eufylife.com/domain/NL',
      origin: 'https://extend.eufylife.com',
      protocol: 'https:',
      username: '',
      password: '',
      host: 'extend.eufylife.com',
      hostname: 'extend.eufylife.com',
      port: '',
      pathname: '/domain/NL',
      search: '',
      searchParams: URLSearchParams {},
      hash: ''
    },
    pagination: {
      transform: [Function: transform],
      paginate: [Function: paginate],
      filter: [Function: filter],
      shouldContinue: [Function: shouldContinue],
      countLimit: Infinity,
      backoff: 0,
      requestLimit: 10000,
      stackAllItems: false
    },
    setHost: true,
    maxHeaderSize: undefined,
    signal: undefined,
    enableUnixSockets: false
  },
  [cause]: Error: getaddrinfo EAI_AGAIN extend.eufylife.com
      at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:120:26) {
    errno: -3001,
    code: 'EAI_AGAIN',
    syscall: 'getaddrinfo',
    hostname: 'extend.eufylife.com'
  }
}

Additional context

No response