taylordotfish / harmony

A free/libre program for performing account-related tasks with Discord
GNU General Public License v3.0
85 stars 8 forks source link

hcaptcha error after solving the captcha #14

Open loquesangra opened 3 years ago

loquesangra commented 3 years ago

Successfully solved the CAPTCHA challenge. [proxychains] Strict chain ... 127.0.0.1:4321 ... discordapp.com:443 ... OK

Login failed. Errors: {
  "captcha_key": [
    "invalid-input-response"
  ],
  "captcha_sitekey": "f5561ba9-8f1e-40ca-9b5b-a0b3f719ef34",
  "captcha_service": "hcaptcha"
}
taylordotfish commented 3 years ago

Yeah, it looks like Discord now uses hCaptcha instead of reCAPTCHA. A non-ideal workaround is to first log in or register through the official web client and complete the CAPTCHA there, which will then likely let Harmony log in without having to complete another CAPTCHA. But of course, this requires running proprietary JavaScript.

I'd like to look into adding support for hCaptcha, but I don't have much time for that right now (but, as always, I'd gladly welcome any PRs).

ajsb85 commented 2 years ago
You must solve a CAPTCHA challenge.
You will be guided through the steps necessary to complete the challenge.
Press enter to start the challenge...
Successfully solved the CAPTCHA challenge.

Registration failed. Errors: {
  "captcha_key": [
    "invalid-input-response"
  ],
  "captcha_sitekey": "f5561ba9-8f1e-40ca-9b5b-a0b3f719ef34",
  "captcha_service": "hcaptcha"
}
lua-rocks commented 2 years ago

Today I was in a good mood and decided to give this proprietary spyware a chance, but well, if Discord itself is not happy to me, then I have to return its ip-addresses to /etc/hosts forever.

JacobKfromIRC commented 6 months ago

Has anyone made any progress with this? I'm trying to figure out how to make hCaptcha work with my own JavaScript and I'm stuck trying to figure out how the "n" parameter is generated, which is needed to actually get the puzzle images. Somehow hsj.js takes the "req" JWT token and turns it into "n", using some randomness so it's different every time. I think it's some sort of proof of work system, possibly Hashcash, based on info from git clone https://github.com/Implex-ltd/hcaptcha-reverse (not licensed), though that document focuses more on hsw.js than hsj.js so it might not be the same for both. I think hsw.js is for browsers supporting WebAssembly and hsj.js is for browsers not supporting WebAssembly, but that's just a guess.