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

epic-games: docker: captcha before it claims the game #183

Open
Darkkingwill opened this issue Aug 18, 2023 · 142 comments
Open

epic-games: docker: captcha before it claims the game #183

Darkkingwill opened this issue Aug 18, 2023 · 142 comments

Comments

@Darkkingwill
Copy link

Darkkingwill commented Aug 18, 2023

Hello. im getting a captcha right before it claims the game. Its says one more step. Im using an unraid docker if that helps

@guipace
Copy link

guipace commented Aug 18, 2023

+1 on this issue

@vogler
Copy link
Owner

vogler commented Aug 18, 2023

I don't get any. What's your setup? Shared IP via CGNAT? Do you get captcha challenges in your local browser as well?

@maxp1110
Copy link

Since I solve the captcha-problem during login, I also get a hcaptcha-challenge everytime it tries to claim the game. Have to log into noVNC to solve. No problems when doing it on my desktop maschine.
Vodafone Cable as ISP.

@DevXen
Copy link

DevXen commented Aug 18, 2023

Yeah I get this issue too with the unraid docker. But this has one happened for the past week or two.

@Darkkingwill
Copy link
Author

i was looking through the logs and it told me untrusted ip too many login attempts. i had to get another ip address. I ended up running the container through a vpn and i will test it next time theres free games

@Cexitime
Copy link

Hi, been having this issue as well, I can click the captures in the vnc window to solve them temporarily, This is the logs when the issue occurs, not sure why its complaining about too many login attempts, its literally this container that logs in and it does so successfully every time. Not behind CGNAT on IPv4 only, no IPv6 Available for me yet.

I'll refresh my IP later and check again next time a game is released. Forgot to mention im running this in a docker container on Unraid

19/08/2023 11:49:24 am
Current free game: Black Book
19/08/2023 11:49:24 am
Not in library yet! Click GET.
19/08/2023 11:49:38 am
Got hcaptcha challenge! Lost trust due to too many login attempts? You can solve the captcha in the browser or get a new IP address.
19/08/2023 11:49:55 am
Claimed successfully!
19/08/2023 11:50:03 am
Current free game: Dodo Peak
19/08/2023 11:50:03 am
Not in library yet! Click GET.
19/08/2023 11:50:15 am
Got hcaptcha challenge! Lost trust due to too many login attempts? You can solve the captcha in the browser or get a new IP address.
19/08/2023 11:50:30 am
Claimed successfully!

@vogler
Copy link
Owner

vogler commented Aug 19, 2023

Ok, just to confirm: everyone that has the issue is using Unraid?
Please try if you have the issue using the docker run ... command on a different machine in your local network.

@vogler
Copy link
Owner

vogler commented Aug 19, 2023

Are you using this template: https://github.com/Nackophilz/unraid_templates/blob/main/free-games-claimer/free-games-claimer.xml?
There seems nothing wrong with it, so it must be something about Unraid.
It's weird, but there have been other issues dependent on the host OS: #149 (HAOS), #173 (Arch).

@Cexitime
Copy link

Are you using this template: https://github.com/Nackophilz/unraid_templates/blob/main/free-games-claimer/free-games-claimer.xml? There seems nothing wrong with it, so it must be something about Unraid. It's weird, but there have been other issues dependent on the host OS: #149 (HAOS), #173 (Arch).

I am using that template, it is the one available on the community apps plugin for Unraid.

@maxp1110
Copy link

No, I am not using unraid. Proxmox Server with a docker lxc image from tteck (proxmox helper scripts). Inside the lxc, I run your docker run command.
Best

@yoshimo
Copy link

yoshimo commented Aug 19, 2023

I use a Pi4 with UmbrelOS and run the docker container linked on this repos main page directly
I get the captcha even when i renewed my ip adresses right before starting the docker container.

@DevXen
Copy link

DevXen commented Aug 19, 2023

Screenshot_20230819_102818_Spark
Here's an email I'm getting every day. But cause of the capcha after you click get the games.

I haven't claimed them yet. And can this weekend to try anything you may want. I can vpn to my server the rest of the week but I can't move the window to click on or do anything with the webgui.

@yoshimo
Copy link

yoshimo commented Aug 19, 2023

I tried a few times to solve the captchas and it still occurs on the next try

@pechex
Copy link

pechex commented Aug 19, 2023

Same issue on rpi4 running DietPi

@UltraHQ
Copy link

UltraHQ commented Aug 19, 2023

Running on rpi4 raspios docker, same issue
edit: having this issue since I installed it, so since at least a month

Captcha does not occur on my desktop pc though

@vogler
Copy link
Owner

vogler commented Aug 20, 2023

Here's an email I'm getting every day.

@DevXen I thought about that problem before. In cases like this, it might be good to have the option to only send notifications when the status changed.

@yoshimo
Copy link

yoshimo commented Aug 20, 2023

But if you run it standalone without supervision you won't notice if the store changes and the tool breaks. You should notify either way.

@vogler
Copy link
Owner

vogler commented Aug 20, 2023

You would. It would just not send the same message multiple times.

@vogler
Copy link
Owner

vogler commented Aug 20, 2023

It's a bit of detective work to figure out what may be the reason.

Many of you mentioned rpi4. Maybe your setups are too slow since captcha services do computations in JS and check the performance. Did someone with a rpi4 try running it without docker?
You can always run it for free in the cloud: https://github.com/vogler/free-games-claimer/wiki/Host-and-run-free-games-claimer-in-the-cloud-periodically

I made a spreadsheet where you can put in your data: https://docs.google.com/spreadsheets/d/1ulC4E59Hs7aDvpgN-D_QFT3lEmf_j88zY9TMve6faQ4/edit?usp=sharing

  • captcha fgc: no / login / claim / both
  • catpcha other: do you get a challenge on the host / other computer in your network?
  • docker/VM: no / docker version / podman / proxmox / lxc / VM...

Make sure that you run the latest version and keep your data/browser (having to login every time may also increase the risk of getting a captcha challenge).

@minkshaman
Copy link

added mine for you

@Nackophilz
Copy link

The same goes for me: for some time now, I've been having constant hcaptchas ^^'.

I use my template for unraid of course haha

I don't think it's related to Unraid or anything, but maybe it's just the method that ended up being flagged?

@KarlLee830
Copy link

I also encountered the same problem, also using unraid docker

@yoshimo
Copy link

yoshimo commented Aug 20, 2023

It feels like the browser is a lot slower in the docker container compared to the computer, although i think a raspberry with 4x1,8ghz and 4gb ram shouldn't be too slow. It worked fine a few weeks before.

@Lavoslav
Copy link

Docker in UnRaid, template from community apps,
captcha just before claim on both games
added in spreadsheet

@DGMayor
Copy link

DGMayor commented Aug 21, 2023

added to spreadsheet. I just set this up about two weeks ago, and Epic has been giving me captcha since the start, unfortunately.

@DevXen
Copy link

DevXen commented Aug 25, 2023

So I wanted to add it's not an IP based limit. I just connected to my home server vpn and claimed the game on my phone just fine with no captcha.

@nodiaque
Copy link

I have 3 docker and 2 out of 3 does it. It started out of nowhere.

@Slothoncrack
Copy link

I also have this problem, every time. A few weeks ago it used to work fine. Running on Raspi 4 4GB, docker crontab.

@lostb1t
Copy link

lostb1t commented Dec 21, 2023

after looking at the fingerprint. the platform is being leaked through a javascript attribute. (window.navigator.platform)

@vogler
Copy link
Owner

vogler commented Dec 21, 2023

I just set userAgent since Playwright adds 'headless' for SHOW=0 which then got captchas. Apart from that I haven't noticed any problems with its value.
The 'Incorrect response' may be a sep. issue. The problem is getting the captcha challenge in the first place.

@vogler
Copy link
Owner

vogler commented Dec 21, 2023

Getting captcha on login after email:

@Tylerjet
Copy link

Thoughts on #183 (comment):

  1. If it's already a problem on stock Ubuntu Desktop, it can't be fonts etc.
  2. Since system Firefox shows no captcha, it can't be Ubuntu itself (would be surprised if they challenged all Ubuntu users).
  3. Can't be Playwright alone since I get no captchas on (non-virtualized) macOS (and I assume other people on Windows).
  4. So, besides Playwright on Linux in general, it can only be virtualized Ubuntu + Playwright. Not sure if anything about virtualization is still visible via the browser using the stealth-plugin, but who knows, maybe it's some timing stuff.

To rule out 4: Does someone have a non-virtualized Ubuntu (or Debian) desktop to test on?

Just tried it on Debian 12 non-virtualized got the incorrect response error, and could not sign in. but also see all the text being spit out in the background like i was getting in virtualized where i would then see the captcha.

@vogler
Copy link
Owner

vogler commented Dec 21, 2023

Why 'but' when you get a captcha for both cases?
The text in the background doesn't imply captcha.
Automatic login without captcha on macOS:
image

Ok, hard to debug then.
Probably makes more sense to first check what doesn't get a captcha (✅) and what does (🚫):

Before you comment:

  1. Make sure you IP is not flagged from too many login attempts. If you already get a captcha in your system browser, then Playwright will get one as well -> get new IP or wait 6h.
  2. Don't set PWDEBUG=1 or SHOW=0

@Tylerjet
Copy link

Tylerjet commented Dec 21, 2023

Ahh gotcha and no i don't get a captcha for both cases only when running the script do i get a captcha.

If i open the normal Firefox browser in Debian 12 I am able to login to the site just fine without issue.

So i know for sure my IP is not flagged and only have SHOW=1 before the script.

image
Left Side is system browser, Right side is script browser.

I know you mentioned the incorrect response being possibly a different issue, but I'm 99% sure that if i was not seeing that error the captcha would be showing instead.

Edit:
Bit more info I cloned onto non-virtualized windows

and get the same Incorrect response error with the following URL:
https://www.epicgames.com/id/login?lang=en-US&noHostRedirect=true&redirectUrl=https://store.epicgames.com/en-US/free-games
image

However if i remove everything and only keep:
https://www.epicgames.com/id/login
I do not get the error and get to 2FA and be signed in.
image

Then rerunning the script again i successfully claimed the game.
image

however attempting the same thing on Debian i still get "Incorrect Response" and not able to sign in.

@KairuByte
Copy link

For the record, running directly in a non VM Windows works as expected (no captcha), even with SHOW=0.

@lostb1t
Copy link

lostb1t commented Dec 22, 2023

from docker i tried

  • firefox, with and without stealth. different useragents
  • chromium, with and without stealth. different useragents
  • fingerprint suite (chromium and firefox) (which spoofs more correctly)

all resulting in a login captcha returning "incorrect response" after solving it

mind you that i always get an login captcha on my ip. but using a normal
browser (macos and ios) the captcha validates correctly and i can login.

this might be related (epic uses service workers for some of its challenges): apify/fingerprint-suite#64

when testing with creepjs it indeed detects the spoofing for both playwright stealth and fingerprint suite

@bi0shacker001
Copy link

The thought occurs to me, and I managed to fix it for myself: you're pressing escape in the terminal before logging in, right? It appears you HAVE to log in via UI, and you'll get the error if you don't hit escape

@TheButterbrotMan
Copy link

TheButterbrotMan commented Dec 23, 2023

Why 'but' when you get a captcha for both cases? The text in the background doesn't imply captcha. Automatic login without captcha on macOS: image

Ok, hard to debug then. Probably makes more sense to first check what doesn't get a captcha (✅) and what does (🚫):

Before you comment:

  1. Make sure you IP is not flagged from too many login attempts. If you already get a captcha in your system browser, then Playwright will get one as well -> get new IP or wait 6h.
  2. Don't set PWDEBUG=1 or SHOW=0

I've been running the script on a headless Debian system, yet I'm still encountering CAPTCHA challenges during the login process. The error message suggests that this might be due to an excessive number of login attempts: "Got a captcha during login (likely due to too many attempts)! You can resolve this by solving the CAPTCHA in a browser, obtaining a new IP address, or waiting a few hours before trying again."

However, it's important to note that this was my first login attempt after several days, and I have not enabled the PWDEBUG=1 setting.

Setting SHOW=1 in my script triggers a Playwright error while running an Epic Games checker. The issue is launching a GUI browser without an XServer in a Unix environment. The suggested fix is to use headless mode or 'xvfb-run' for GUI emulation. The script exits with an error in this setup.

@vogler
Copy link
Owner

vogler commented Dec 23, 2023

Yea, the error message was from when that was the only reason for captchas - now it should be extended by 'running on Ubuntu/Debian/any Linux?' 😄
(Yea, SHOW=1 doesn't work without a (virtual) display. With chromium, SHOW=1 was needed to avoid captchas, after changing to firefox it also worked with SHOW=0.)

@TheButterbrotMan
Copy link

TheButterbrotMan commented Dec 23, 2023

Yea, the error message was from when that was the only reason for captchas - now it should be extended by 'running on Ubuntu/Debian/any Linux?' 😄 (Yea, SHOW=1 doesn't work without a (virtual) display. With chromium, SHOW=1 was needed to avoid captchas, after changing to firefox it also worked with SHOW=0.)

Just to clarify and avoid any misunderstanding, I am also experiencing issues with show=0. Since I am using a Linux system, is there a way to get the free-games-claimer working again, or is it currently not feasible? Additionally, is there any way I can assist in resolving this issue?

@richi1993
Copy link

I also have problems with the headless setup. I Installed it the first time and tried to access Epic Games due terminal login for the first time. After entering the password, i got the following message "Got a captcha during login (likely due to too many attempts)! You may solve it in the browser, get a new IP or try again in a few hours."

So I run it without Docker.

@sealldeveloper
Copy link

I've checked:

  • My IP is not blocked
  • I have neither PWDEBUG=1 or SHOW=0 set

This is running on Ubuntu 20.04 (not a VM) using Docker with the latest on the main branch.

I wonder what is triggering it for Linux?

@W1ldAustin
Copy link

it seems to be an issue on non headless windows. Got a fresh IP from my ISP a few hours ago and I get the issue again.

Note this is not a docker install, it is running manually and it happens

@zockol
Copy link

zockol commented Dec 30, 2023

If you can run the script on windows without getting captchas, then i might have an temporary workaround to "automate" it:

  1. WIN + R
  2. shell:startup
  3. create .bat file with following content:
cd "PATH TO YOUR epic-games.js "
start /min hide.vbs
exit
  1. go to your fgc directory and create hide.vbs with following content:
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "cmd /c node epic-games.js > output.txt 2>&1", 0, False

this script will now run in background on boot and close itself after its done. This currently works for me on Win 11

@Julian1984
Copy link

Just tried on a fully virtualized Windows 11 (over PROXMOX), and getting the same error.
Tried with SHOW=1, but no Firefox opened.

How can I help?

@Fluffy41
Copy link

Fluffy41 commented Jan 4, 2024

If there is some way that I can help, let me know :)

@fishxz
Copy link

fishxz commented Jan 11, 2024

as mentioned in the readme, i tried a local installation but with same result as the docker container "Incorrect response. Please refresh the page."

i even tried different vpns with no luck.

on my desktop pc (fedora) i can login just fine (no captcha).

@yoshimo
Copy link

yoshimo commented Jan 26, 2024

Maybe you should follow claabs/epicgames-freegames-node#257 and see what the TalonSDK that is used for ip-checks looks like in the clear (its in the issue authors git )
It interacts with the captcha domain.

@chaosman97
Copy link

maybe its the browser that it is used on the project also +1 on the issue

@meilon
Copy link

meilon commented Mar 25, 2024

For what it's worth, without me doing anything (except keeping the image up to date) it worked for the last two free games without issue on my Synology NAS.

@rendo0m
Copy link

rendo0m commented Mar 25, 2024

For what it's worth, without me doing anything (except keeping the image up to date) it worked for the last two free games without issue on my Synology NAS.

same on unraid.

@voruti
Copy link

voruti commented Mar 25, 2024

For what it's worth, without me doing anything (except keeping the image up to date) it worked for the last two free games without issue on my Synology NAS.

Exactly the same on WSL 2 Debian (Docker engine inside WSL, not Docker Desktop).

@guipace
Copy link

guipace commented Mar 27, 2024

No such luck for me. Docker on unraid still presents the same problem here.

@voruti
Copy link

voruti commented Mar 27, 2024

For what it's worth, without me doing anything (except keeping the image up to date) it worked for the last two free games without issue on my Synology NAS.

Exactly the same on WSL 2 Debian (Docker engine inside WSL, not Docker Desktop).

I'm using the ghcr.io/vogler/free-games-claimer:main image, which I pull every day just before starting the container.

@Racle
Copy link

Racle commented May 3, 2024

Did very quick and dirty workaround:

You pull the Git repo locally
=> run npm i && SHOW=1 node epic-games
=> log into Epic
=> close the project after successfull login
=> copy the data folder to the server (or where you want to run this)
=> clone that Git repo on the server and build a Docker image from it
=> mount the copied data folder to the correct place
=> it works with docker (compose)

It doesn't work on latest image, as firefox versions are different, so I need to build image using the git repo.

Epic games seems to be working for now. Don't know if this will work for long time, but it might 🤷

@lostb1t
Copy link

lostb1t commented May 3, 2024

Did very quick and dirty workaround:

You pull the Git repo locally

=> run npm i && SHOW=1 node epic-games

=> log into Epic

=> close the project after successfull login

=> copy the data folder to the server (or where you want to run this)

=> clone that Git repo on the server and build a Docker image from it

=> mount the copied data folder to the correct place

=> it works with docker (compose)

It doesn't work on latest image, as firefox versions are different, so I need to build image using the git repo.

Epic games seems to be working for now. Don't know if this will work for long time, but it might 🤷

that only solves the login. Did the same (i just logged in woth steam, bypassing epics captcha) but still receive captcha when claiming

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests