recallfx / node-red-contrib-eufy-security

Eufy security node for Node RED
MIT License
6 stars 6 forks source link

Client cannot connect: awaiting captcha #24

Open DIY3D opened 7 months ago

DIY3D commented 7 months ago

Hi,

In my test flow the eufyclient tries to make a connection but asks to enter a code and after a few attempts I get the message: awaiting captcha.

Where can I enter a code or accept a captcha? Do I need to install other software on Homebase?

jova1971 commented 6 months ago

Bump - Same here, looking but have not found an answer just yet

JapioVos commented 6 months ago

Hello, I have the same problem. I was connected for a few days and everything works fine. However, now captcha verification is requested. Is there a way to verify the Captcha?

Question 2, Is it possible to connect using two factor authentication TWA. How do you return the TWA code?

Thanks in advance for a response

Freeman015 commented 1 month ago

Hello, I have the same problem. I was connected for a few days and everything works fine. However, now captcha verification is requested. Is there a way to verify the Captcha?

Question 2, Is it possible to connect using two factor authentication TWA. How do you return the TWA code?

Thanks in advance for a response

To answer question 2 for you: You can add the 2FA code to your connect:

{"command":"connect","verifyCode":"123456"}

Hope that helps

stratacorps commented 6 days ago

Although I am now working on my own fork to add additional functionality, here is what I have found. This goes for both the TFA two-factor-authorization request and the captcha. The answer above is partially correct, but it did not work for me. This is what I have found that works.

(Note: I have an image viewer and am using the node-red dashboard in node-red v4.0 to display the captcha image and captcha id. I am new to node-red so my plan is to build a page that has a text input for the human resolved answer to the image captcha and submit that back through with the necessary connect loginOptions payload that is needed to complete the process. For now I am just viewing the base64 image in the node-red workspace to view the image)

Anyway, the command "connect" is correct, but the verifyCode or the Captcha variables are objects, like below:

For TFA, send the command "connect" along with the verifyCode inside the loginOptions object as:

{ "command": "connect", "loginOptions": { "verifyCode": "123456" } }

For captcha, Bropat's eufy-security-client is looking for the captchID and the answer as part of the login options object, so your payload sent through this wrapper needs to look like this:

{ "command": "connect", "loginOptions": { "captcha": { "captchaId": "6d7b33ca-1661-4e82-9e94-14d52476b98e", "captchaCode": "naM7" } } }