koalazak / dorita980

Unofficial iRobot Roomba and Braava (i7/i7+, 980, 960, 900, e5, 690, 675, m6, etc) node.js library (SDK) to control your robot
MIT License
931 stars 147 forks source link

Issue requesting password via docker #150

Closed Nurgak closed 2 years ago

Nurgak commented 2 years ago

I'm trying the method 3 to get my Roomba e5 password, but I get an error related to SSL.

This is what I get when I execute docker run -it node sh -c "npm install -g dorita980 && get-roomba-password 192.168.3.2":

Robot Data:
{
  ver: '3',
  hostname: 'Roomba-XXXX',
  robotname: 'Roomba',
  ip: '192.168.3.2',
  mac: 'XXXX',
  sw: '3.4.67',
  sku: 'e515060',
  nc: 0,
  proto: 'mqtt',
  cap: { ota: 1, eco: 1, svcConf: 1 },
  blid: '80B5041C81816590'
}
node:events:368
      throw er; // Unhandled 'error' event
      ^

Error: C0D72C85DA7F0000:error:0A000152:SSL routines:final_renegotiate:unsafe legacy renegotiation disabled:../deps/openssl/openssl/ssl/statem/extensions.c:908:

Emitted 'error' event on TLSSocket instance at:
    at emitErrorNT (node:internal/streams/destroy:164:8)
    at emitErrorCloseNT (node:internal/streams/destroy:129:3)
    at processTicksAndRejections (node:internal/process/task_queues:83:21) {
  library: 'SSL routines',
  reason: 'unsafe legacy renegotiation disabled',
  code: 'ERR_SSL_UNSAFE_LEGACY_RENEGOTIATION_DISABLED'
}

Node.js v17.1.0

I tried with my Mac and RPi4, both give the same error.

What could be done to solve the issue here?

Nurgak commented 2 years ago

I tried method 2 and it worked, so I guess this is due to some outdated packages.

Closing issue as the problem was solved.