How many accounts can be processed at the same time
A list of accounts to work with
A list of excluded game titles to skip during processing.
How many times to attempt retry attempts to launch a browser after it times out
In seconds, how long before a stuck Chromium process times out and gets restarted
How long in milliseconds the browser navigation will wait before timing out. 0 disables timeout (not recommended). See: https://github.com/puppeteer/puppeteer/blob/main/docs/api.md#pagesetdefaulttimeouttimeout
The 2 character country code associated with your account. Used when determining if a game is blacklisted for your account. Commonly blacklisted countries: "MO","HK","RU","BY","CN"
Cron string of when to run the process.
It is recommended to run every 6 hours, otherwise the refresh tokens will expire after 8 hours and a new login will be prompted every run.
If you want the check to occur immediately after the new free game is released, you can offset the cron schedule. For example in a timezone where the free games release at 11:00am: 0 5,11,17,23 * * *
The Epic Games application client ID used for device code authorization to check your account's ownership of a game List of available clients here.
After redirecting to a device authorization verification URL, how often the Epic Games API is polled for a successful login.
The Epic Games application secret used for device code authorization to check your account's ownership of a game. List of available clients here.
The full path where the browser automation error screenshots will be output
The delay interval between runs of each account in seconds. (Only effective when multiple accounts are configured)
Log level in lower case. Can be [silent, error, warn, info, debug, trace]
Optional
notifiersGlobal default notification configuration.
You may configure multiple notifiers, and they will all be triggered simultaneously.
If false, EULA updates will be automatically accepted. If true, the user will receive a notification to accept the EULA.
If true, don't schedule runs. Use with RUN_ON_STARTUP to run once and shutdown.
If true, the process will run on startup in addition to the scheduled time.
The search criteria for finding free games. Either the weekly promotion, and free promotion, or all free products.
Skip the call to api.github.com that checks for the latest version on launch
When true, the process will send test notifications with a test redirect to example.com for all configured accounts. Be sure to disable this after a successful test. This test will block normal operation until the test link is accessed by one account. The test page can only be used once.
TZ name from this list: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List
Optional
webWeb server configurations for the remote web portal
Example: ```jsonc { "runOnStartup": true, "cronSchedule": "0 0,6,12,18 * * *", "logLevel": "info", "webPortalConfig": { "baseUrl": "https://epic.example.com", }, "accounts": [ { "email": "example@gmail.com", }, ], "notifiers": [ // You may configure as many of any notifier as needed // Here are some examples of each type { "type": "email", "smtpHost": "smtp.gmail.com", "smtpPort": 587, "emailSenderAddress": "hello@gmail.com", "emailSenderName": "Epic Games Free Games", "emailRecipientAddress": "hello@gmail.com", "secure": false, "auth": { "user": "hello@gmail.com", "pass": "abc123", }, }, { "type": "discord", "webhookUrl": "https://discord.com/api/webhooks/123456789123456789/A-abcdefghijklmn-abcdefghijklmnopqrst12345678-abcdefghijklmnop123456", }, { "type": "telegram", "token": "644739147:AAGMPo-Jz3mKRnHRTnrPEDi7jUF1vqNOD5k", "chatId": "-987654321", }, { "type": "apprise", "apiUrl": "http://192.168.1.2:8000", "urls": "mailto://user:pass@gmail.com", }, ], } ```