Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Purchase is not completed #172

Open
jackblk opened this issue Dec 18, 2021 · 93 comments
Open

Purchase is not completed #172

jackblk opened this issue Dec 18, 2021 · 93 comments
Labels
bug Something isn't working

Comments

@jackblk
Copy link
Contributor

jackblk commented Dec 18, 2021

Expected Behavior

No error, purchase should be completed.

Actual Behavior

No error, purchase is not completed. EFC will say it is claimed.

Steps to Reproduce the Problem

  1. Buy a game
  2. Check the actual game page, it should be claimed

Some debugging, seems like a bug on the epicgames-client.

image

Specifications

  • epicgames-freebies-claimer Version: 1.5.8
@jackblk jackblk added the bug Something isn't working label Dec 18, 2021
@adi170-alt
Copy link

yea, got the same problem

@Revadike
Copy link
Owner

Damn, sorry, I thought it was working as I actually already own it when I tested it.
Is this error different from #115 ?

@adi170-alt
Copy link

adi170-alt commented Dec 18, 2021

Damn, sorry, I thought it was working as I actually already own it when I tested it. Is this error different from #115 ?

I think that it is the same as # 115
I get this:
2021-12-18 | 22:20:03.947 | INFO | Epicgames Freebies Claimer (1.5.8) by Revadike
2021-12-18 | 22:20:05.748 | INFO | Found 1 unclaimed freebie(s) for (my email)
2021-12-18 | 22:20:34.183 | INFO | Logged in as (my username) (my token)
2021-12-18 | 22:20:40.844 | WARN | Remnant: From the Ashes was already claimed for this account
2021-12-18 | 22:20:41.299 | INFO | Logged (my username) out of Epic Games
2021-12-18 | 22:20:45.139 | INFO | Push notification sent
2021-12-18 | 22:20:45.143 | INFO | Waiting 1440 minutes

@killerjerick
Copy link

Pretty sure I have the same issue, although I only have 3 accounts, my main, a friend's account and my nephew's account, my main already had it, so I assumed it had worked, however checking my friend and nephew's account and it didn't claim it correctly, just get the message "Remnant: From the Ashes was already claimed for this account"

@jackblk
Copy link
Contributor Author

jackblk commented Dec 19, 2021

Different reason but the same issue with #115

I'll take a look

@jackblk
Copy link
Contributor Author

jackblk commented Dec 19, 2021

I tested the epicgames-client client, it seems to work just fine for normal games.

However, for mystery games, it will require a param captchaToken. Without this, it will return 400 I think. Welp, seems like the client is getting captcha boys.

@rospod
Copy link

rospod commented Dec 19, 2021

Same question with you.
The node js shows I have already claimed the game but when I enter the webstore, the claim button is still here.
TZhlng.png

@XEGARE
Copy link

XEGARE commented Dec 19, 2021

@rospod This game has been handed out before. I took it. Yesterday, when I was taken by hand, I was asked for some kind of confirmation, but I do not remember which one.

Perhaps they are giving out something in addition, which cannot be determined from epicgames-freebies-claimer.

@jackblk
Copy link
Contributor Author

jackblk commented Dec 19, 2021

After some debugging, seems like the freebies now have hcaptcha built in to the checkout method, init with https://talon-service-prod.ecosec.on.epicgames.com/v1/init

image

Well, I think we cannot use epicgames-client anymore.

@XEGARE
Copy link

XEGARE commented Dec 19, 2021

@jackblk Even for one account?

@TovMachin
Copy link

After some debugging, seems like the freebies now have hcaptcha built in to the checkout method, init with https://talon-service-prod.ecosec.on.epicgames.com/v1/init

image

Well, I think we cannot use epicgames-client anymore.

Can confirm there is indeed a captcha now :
Capture

@jackblk
Copy link
Contributor Author

jackblk commented Dec 19, 2021

@jackblk Even for one account?

yeah, for all freebies

@XEGARE
Copy link

XEGARE commented Dec 19, 2021

@jackblk Even for one account?

yeah, for all freebies

Picked up manually there was no hCaptcha

@LLinoor
Copy link

LLinoor commented Dec 19, 2021

hCaptcha can be bypassed by providing an accessibility cookie: https://dashboard.hcaptcha.com/welcome_accessibility

@jackblk
Copy link
Contributor Author

jackblk commented Dec 19, 2021

Picked up manually there was no hCaptcha

Because hCaptcha sees you as a normal person on a normal browser, not a bot.

We purchase by requesting directly to server. Now all freebies need captchaToken to purchase, which epicgames-client dependency cannot solve.

@Revadike
Copy link
Owner

Revadike commented Dec 19, 2021

I don't see any captcha on my end. I tried both browser and EFC. But I still don't know why I get We could not confirm your purchase at this time. Please try again later. with EFC.

I ruled out user-agent detection.

@Revadike
Copy link
Owner

Wait, I just discovered the browser request had indeed a captcha result in it. I didn't see any captcha prompts, so must be invisible.

@jackblk
Copy link
Contributor Author

jackblk commented Dec 19, 2021

I don't see any captcha on my end. I tried both browser and EFC. But I still don't know why I get We could not confirm your purchase at this time. Please try again later. with EFC.

I ruled out user-agent detection.

For freebies, it requires you to have a captcha token when confirming order. In normal browser, hCaptcha will see that you're a normal user, so it will bypass the captcha automatically. Then it will pass the captcha token to the Placing Order request. If you try to place order multiple times, you will see the captcha.

Try this link to test: https://ue-launcher-website-prod.ol.epicgames.com/purchase?showNavigation=true&namespace=f401d7e187e349138380d22e991b29ca&offers=bdea68145b61462f9cd17068e835aadf

@Revadike
Copy link
Owner

Yes, can confirm.

@ghost
Copy link

ghost commented Dec 19, 2021

So is there any solution?

@Revadike
Copy link
Owner

Ain't that the question. There are a few less-appealing ones:

  • Use an automated web browser
  • Use a paid anti-captcha service
  • Devote to a cat and mouse game to attempt to automate captcha solving

I am also investigating the store cart feature more. Perhaps that's a way to avoid captcha still. For some reason, I am having severe issues even browsing epicgames store now.

@Revadike
Copy link
Owner

As I noticed before, when adding one of the weekly free games to your cart, it adds a captcha step when checking out, unfortunately :(

@LLinoor
Copy link

LLinoor commented Dec 19, 2021

Is it not possible to use cookies to bypass hCaptcha? (as i mentioned before)

@Revadike
Copy link
Owner

No

@ghost
Copy link

ghost commented Dec 19, 2021

hCaptcha specifically provides cookies that can skip authentication.
In theory, this is possible, but in practice, hCaptcha determines whether it is a machine action by browser behavior (possibly input speed, browser automation flag, etc.). If it is determined to be a machine action, the cookie will not be served, and in more severe cases, your email and IP address will be blocked. This cookie is also only valid for one day and needs to be retrieved after 24 hours.

@Revadike
Copy link
Owner

I didn't know you meant it like that. I wouldn't bypass captcha, it would just trick hcaptcha into giving you a valid response without having to do a challenge (I assume).

@ghost
Copy link

ghost commented Dec 19, 2021

https://blog.skk.moe/post/bypass-hcaptcha/

This article can be referenced.
Pay special attention to the official hCaptcha answer in the comments haha~

This is the "cat and mouse" aspect. Like all tradeoffs between security and usability it is not perfect, but it does not need to be: anomalies are generally easy to spot, and can be selectively terminated in real-time.

Is this worth a try? I'm not really sure.

@AndersWJ
Copy link

AndersWJ commented Jan 8, 2022

The AHK method IS already a "set it and forget" approach. As long as you've set it up correctly, it should just claim games for you automatically on a schedule and it should keep working for a long time.

I am well aware of how AHK works, as I have done this alot myself. Which is also why I am not a particular fan on using it.

It's fine, that you want to spend the time on setting up AHK to do this for multiple things. I respect that.
But I do not want to have my pc running just for AHK to do its things. As I mentioned, it requires Windows or a Windows in a VM. This is not a usefull approach to me, as I want this running on Linux. This is why dockers are the thing which can run on low powered hardware that does not require much.

Dockers do not add any unnecessary complexity. It does the straight opposite, as you can standardize templates for everything and make sure that its updated and created from scratch each time if needed. The only thing dockers are bad at, is emulating Windows using Wine.

I would still rather wait for a docker based solution to run on linux, than going to have to setup and install AHK ever again. I am sure, that Revadike is creating this to achieve the same thing.

@chaoscreater
Copy link

chaoscreater commented Jan 8, 2022

I'm not trying to sell you on AHK or anything, but your arguments are confusing.

You've said a few times that you don't want to keep your PC running for AHK, yet your PC will be running Docker and most likely other things in the background. Ironically, Docker actually use more resource than AHK. Here's a screenshot of my AHK resource usage and it never uses more than 1% CPU and more than 1MB of RAM:

image

You seem to have the misconception that AHK take up a lot of system resources. You could run AHK on a super low spec machine and it would still be more efficient than running Docker. Regardless if you're running a VM or a container, you'd still have to have certain dependencies running in an isolated environment, in an additional layer above OS level. Probably even need Docker Swarm to manage multiple Docker containers if you want to run this for multiple Epic Games accounts. Not to mention keeping the image up to date with the Docker registry, etc. How are doing those things not more complicated, compared to just double clicking on a script to run it?

With AHK, you just have a single script. Double click script to run, done. Uses 0% CPU and 1MB of RAM. You need to update the script to fix something? Easy, done within 5 minutes and you're back working again. There's no messing about with updating your Docker image, no waiting on developers to release a new image update, etc. That's the complexity difference that I'm talking about.

I'm literally running a working solution atm, while you are still working for a Docker solution.

It's your choice and I'm not trying to persuade you or anything, but some of your points are rather contradicting. The only point I get is that you don't want to run Windows and want to run Linux, but everything else is literally just sandboxing an app (and dependencies) in an additional layer, whether that layer be a Docker container or a VM. Those in itself add complexity. They're great for work production environments with a lot of moving pieces, but sometimes people over-engineer and over-complicate things unnecessary and they don't see that.

I would be all for Docker, if the project is something that will always be supported by 1st party. For example, I use the NGINX Docker image and there is no cat and mouse game involved here. I don't have to worry about my NGINX breaking randomly one day, so it makes sense to use Docker for that. With projects created by 3rd parties, you're relying on the developers coming up with a fix. This hCaptcha thing has already been broken for at least 2 weeks now and you're still waiting for a Docker solution.

Compared to Heroku, Docker isn't even a good solution. There was a project that uses Heroku to claim Epic Games for you and it was working great, I was using Heroku free tier plans and didn't have to pay for any compute resources and didn't have to run anything on my PC. It was also self-updated as well, because the Heroku apps were deployed via Github Actions (i.e DevOps) and so any changes pushed to the author's master repo will automatically be updated in my forked repo, which then pushes the change to Heroku. It's all done automatically. Well guess what? Epic Games released an update and broke that and the project was still running into issues (also captcha related).

Lastly, just get a thin client and run Windows on it. I've used both Linux and Windows and they each have their Pros and Cons, which is why I still use both. I'm running most of my Windows specific apps on my laptop, which averages about 10-15W when I'm using it. When I'm playing games on it, it uses slightly more up to around 20-25W. Maximum wattage it'll go up to is 45W, but I never reach above 25W anyway. Undervolt the CPU using Throttlestop (or whatever tool of your choice) and you should be all good. I'm able to run a lot of stuff on my machines at home and I don't have to worry about power cost. Everything is running on low power and super efficient and my power bill has always been a low usage one. If you're too concerned about this, then you really need to measure how much power you're using vs how much you're acutally paying. If at the end of the day, using Windows somehow makes you pay $5 more every month, so what?

@Revadike
Copy link
Owner

Revadike commented Jan 8, 2022

Could you guys maybe move this discussion to #179 ?

@jackblk
Copy link
Contributor Author

jackblk commented Jan 10, 2022

@Revadike I doubt that they will remove captcha in the future. Well, either we discontinue this project or we find a way to avoid the captcha.

I think that @vogler 's approach is a good one. We use playwright/puppeteer to claim the game. Not really ideal but that's the only way now.

Drawbacks:

  • Bigger container (need to ship with the browser)
  • No longer support other arch, can only support 64 bit systems (amd64, arm64)

It's pretty sad because this is the only project that uses API call, so it's small and nice to use.

@RoiArthurB
Copy link

Following this issue for a while and I'm wondering if using another service like FlareSolverr can be a solution (as other projects like Jackett or Invidious use) ? 🤔🤔🤔

@Revadike
Copy link
Owner

It's pretty sad because this is the only project that uses API call, so it's small and nice to use.

I agree, that was the main identity/attraction of this project. I won't be discontinuing this project as long as there is enough interest in it, which definitely seems to be the case.

@cobadulu001
Copy link

022-01-11 | 16:57:23.705 | ERROR | Failed to claim Gods Will Fall (Error: We could not confirm your purchase at this time. Please try again later.)

Got that error and when i claim the game manually it ask me to solve a captcha
i hope there will be a solution for this

@AndersWJ
Copy link

@Revadike Just wanted to let you know, that the latest game was claimed by your project today. I wanted to manually claim it after I got a notification that it was failed. But I saw that it was already in the library. (And I never owned this game) - So, it must work sometimes i guess ;)

@Alvin1992
Copy link

Alvin1992 commented Jan 14, 2022

@Revadike Just wanted to let you know, that the latest game was claimed by your project today. I wanted to manually claim it after I got a notification that it was failed. But I saw that it was already in the library. (And I never owned this game) - So, it must work sometimes i guess ;)

Actually, if you claimed all the free games, you just got today's game. Maybe you forgot you claimed this game before. Just check your order list to mark it sure. I stopped crontab for this script and checked the game in epic web page to get today's game manully, just found I got this game already.
@AndersWJ

@Revadike
Copy link
Owner

I claimed it last year:
image

@dmi97
Copy link

dmi97 commented Jan 15, 2022

I claimed it last year: image

I never claimed it and this is the log. It's no longer working because of the captcha, it was good while it lasted.

user@pi4: /usr/local/bin/node /root/epicgames-freebies-claimer/claimer.js
2022-01-15 | 21:46:47.869 | INFO | Epicgames Freebies Claimer (1.5.8) by Revadike
2022-01-15 | 21:46:50.409 | INFO | Found 0 unclaimed freebie(s) for username@outlook.com

I deleted the history entry for that game and ran it again:

user@pi4: /usr/local/bin/node /root/epicgames-freebies-claimer/claimer.js
2022-01-15 | 21:47:10.796 | INFO | Epicgames Freebies Claimer (1.5.8) by Revadike
2022-01-15 | 21:47:13.339 | INFO | Found 1 unclaimed freebie(s) for username@outlook.com
2022-01-15 | 21:47:16.920 | INFO | Logged in as username
2022-01-15 | 21:47:21.265 | WARN | Galactic Civilizations III was already claimed for this account
2022-01-15 | 21:47:21.914 | INFO | Logged username out of Epic Games

@vogler
Copy link

vogler commented Jan 21, 2022

Renamed the repo above since I added a script for Amazon Prime Gaming as well: https://github.com/vogler/free-games-claimer
It also claims games on external stores like Epic Games and Origin, but needs some testing for Origin keys and potential other stores.
The claimer for the Epic Games Store itself works. However, if you change it to headless mode, Epic Games/Cloudflare detect it - so sadly no starting in the background for now. Also, I could not get it to run on my RPi.

@PoloNX
Copy link

PoloNX commented Feb 1, 2022

So there is one fix to "Error: We could not confirm your purchase at this time. Please try again later." ?

@Revadike
Copy link
Owner

Revadike commented Feb 14, 2022

Please fix Revadike!

@Nicklordzero Working on it! You can track my progression here: #184

@frdmn
Copy link

frdmn commented Feb 17, 2022

@Nicklordzero In the future, try to not sound that condescending when asking for support or help in an free and open source community/project...

@BeyoungBoSs
Copy link

Sad. easy way is not found to slove it.

@AmirulAndalib
Copy link

https://github.com/FlareSolverr/FlareSolverr

This may be useful

@raycekar
Copy link

So i don't know what to make of this, but, i did notice when I have 2 games to claim (as in today i just claimed them), I held ctnl and clicked to open in a new tab. Then I alternate between pressing GET on each tab just to claim them faster and noticed that one requested a captcha and the other didn't. For the one that did request the captcha, i simply refreshed the page, pressed GET again and it claimed it. Somehow, I was able to get both games without filling in captcha (even getting prompted for one of them but refreshing bypassed it?)

So again, I am not sure what to make of this or if this is helpful info for anyone, but I did think it was interesting.

@vogler
Copy link

vogler commented Nov 18, 2022

@raycekar part of the heuristics whether to give you a captcha challenge is whether the tab is visible.

@raycekar
Copy link

@raycekar part of the heuristics whether to give you a captcha challenge is whether the tab is visible.

@vogler ok, thanks for that clarification, and sadly a bummer, was thinking there was maybe something good we could had done with it.

@zahvv
Copy link

zahvv commented Dec 27, 2022

Screenshot 2022-12-24 191044 help please! The captcha is not loading. i cant log in.

@tkiethuynh
Copy link

use firefox extension nocaptchaai, it's free daily

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests