epicgames-freegames-node: Failed to challenge captcha, redemption/purchase
Describe the bug
I receive a notification to solvea captcha for PURCHASE, despite solving the captcha, it gives me the error failed to challenge captcha, please try again later and does not complete the purchase. If I do so manaully (i.e., click the purchase button), another captcha pops up and fails in the same way.
Screenshots or Logs
Configuration (please complete the following information):
- Browser: Safari (mobile and desktop)
- Hosting solution (e.g. reverse proxy, HTTPS/HTTP, caching, localhost): localhost
Additional context
I use Pi-Hole on my system with the upstream DNS pointing to OpenDNS. I have retried above steps with Pi-Hole disabled.
About this issue
- Original URL
- State: closed
- Created a year ago
- Reactions: 2
- Comments: 21 (7 by maintainers)
Commits related to this issue
- epic: De-provision the thing as it doesn't work. Ref: https://github.com/claabs/epicgames-freegames-node/issues/348 — committed to samip5/k8s-cluster by samip5 a year ago
Yeah, this is gonna be a long term problem. There’s not a quick solution I can do to fix this. Sorry everyone.
Will be the same Problem as it was for my autoit script. directly triggering the html element/css selector causes epic to always refuse it as automation. simulating the mouse cursor and clicking on random spots at the buttons and also randomizing the mosue down + mouse up event times just fixed it. cheers
I published a dev version of v5 at
ghcr.io/claabs/epicgames-freegames-node:dev. It’s a pretty big change and still a WIP, but luckily any existing config should work. Your existing cookies should work as well, although I can’t guarantee them forever. It uses the approach I mentioned earlier to send you checkout URLs.In the case cookies don’t work, v5 introduces device code auth, which is convenient enough to re-login from a phone even. You can view a summary of changes in #352
For what it’s worth, I like the ‘lite-mode’ solution. While I can’t speak for others, this would eliminate the cognitive burden of me having to routinely remember to check EPIC for free games - I don’t mind losing some automation if the script’s job is to gather the free games into a cart and notify me when free stuff is available to collect. That would solve my issue and is still far less burdensome than having to remember to browse the website. Is this something we do on the client end, or that you’d have to do on the backend?
The best workaround will probably be #312. Puppeteer isn’t built to dodge bot detection, so it’s probably time that battle ends.
The purchase URL assumes you’re already logged in on the device you open it on. However, maybe there’s an account id parameter I can add to the URL for a smoother login flow.
I was able to recreate this issue by removing auth cookies completely, so I imagine something’s wrong with the cookie auth. Just a few questions about your scenario to narrow it down:
I added some debug log messages in the latest commit (https://github.com/claabs/epicgames-freegames-node/pull/352/commits/384bb7352eb7a1638f78c0354d4bf37aeb29e806), and it also throws an error if there’s no auth on the ownership request. That should hopefully catch the issue.