epicgames-freegames-node on Heroku for Free!
Deploy epicgames-freegames-node in Heroku for free via Github!
Features
- Build and deploy customized EpicGames-FreeGames-node image from source to Heroku via Github Actions
- Persistent Login Cookie stored via Redis
- Reset stuck cookie via Github Actions
- Maintainable updates with Git Hash for future updates
- Easily extendable for future tweaks
Usage
Usage is simply, fast, and user friendly! The application will run each hour after being deployed!
Deployment
- Create a fork of this project
- Go to your forked repo Settings > Secrets and add secrets for:
- HEROKU_API_KEY (your Heroku API key - can be found in Account Settings -> API Keys)
- APP_NAME (the name of the Heroku application, this must be unique across Heroku and will fail if it is not)
- EMAIL_ADDRESS (your Epic Games email address)
- EPIC_GAMES_PASSWORD (your Epic Games password)
- TEMPORARY_EMAIL_COOKIE (a base64 encoded starting cookie, please see temporary cookie generation below)
- TOTP_MFA (your Epic Games MFA string, not your MFA code, but the string used to generate the code)
- Navigate to Github Actions and run the job EpicGamesFreeGamesDeploy workflow and begin deploying the app. This will take around 5-8 minutes.
- Congrats, you now having a fully functional EpicGames-FreeGames-node instance in Heroku!
Update
Updating is simple and can be done one of two ways:
- Running the workflow manually via Github Actions
- Making a commit to the main branch, forcing a Github Actions workflow to initiate an update workflow
Either one of these will force the Github Actions workflow to run and update the app. If you need to modify to enable/disable settings, you should re-run it as well.
Temporary Cookie Generation and Reset Mechanism
You should be following the instructions listed here up to and including step 4.
You will then take this cookie and base64 encode it, suggested site attached. Then add this in as a secret in your Github forked repo.
Should you have any issues with your token in running the application, you can reset the token by doing the steps above and then running the EpicGamesFreeGamesResetCookie Github Actions workflow.
Email CAPTCHA Support
Email captchas are supported with this mechanism and are supported by Mailgun. We are using Mailgun's sandboxed mode which requires you to manually verify your domain in order to prevent the service from being used as spam.
In order to verify your email address (the variable used for EMAIL_ADDRESS):
- Go to your app dashboard in Heroku, find the Mailgun addon.
- Click on the Mailgun addon to get SSO redirected to Mailgun dashboard.
- Then find the "Sending" tab in Mailgun.
- Click on the default domain (sandbox).
- On the right hand side, you will see a field entitled "Authorized Recipients".
- Enter your email address and Save Recipient.
- Wait for an email to arrive - THIS EMAIL WILL MOST LIKELY LAND IN YOUR SPAM BOX.
- Click the click in the email and then Yes on the webpage that is presented.
- Captcha emails will now be delivered to your email, again PLEASE CHECK IN YOUR SPAM FOLDER WHEN OUTPUT SPECIFIES CAPTCHA IS NEEDED.
Notes to consider
If you enable MFA on your Heroku account after deploying this process, you will need to regenerate the API key and update it within the Github secrets.