Skip to content

Sharpyku/free-games-claimer

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,078 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Feldorn's Free Games Claimer

Feldorn's Free Games Claimer

A self-hosted scheduler that claims free games and rewards across multiple storefronts on its own. Logs in once via your browser session, then keeps watch — daily checks, captcha-aware pause-and-notify when a human is needed, in-app stats showing what got claimed, what's pending, and how your Microsoft Rewards points are trending.

Discovery isn't limited to each store's own free-game feed — the panel cross-references community aggregators (gamerpower.com and r/FreeGameFindings) and picks up launch-day indie promos and storefront-side mystery drops that the first-party feeds miss.

Originally derived from vogler/free-games-claimer (dev branch). The control panel, in-app settings UI, claim-history stats, scheduler with hot-reload, AliExpress reintegration, captcha pause + manual-solve handoff, the Steam discovery migration, the Microsoft Rewards collector, the FAB asset claimer, and the Ubisoft / Humble / Fanatical / Lenovo watchers are all additions in this fork. Per-release changes are tracked in CHANGELOG.md; MODIFICATIONS.md holds a frozen v2.4 snapshot of the diff vs. upstream for historical context.

Services are grouped by what they actually do.

Claimers — log in once, then auto-claim any free game that drops:

Service Notes
logo prime-gaming Amazon Prime Gaming Free games + GOG / MS Store / Xbox keys delivered via Prime
logo epic-games Epic Games Store Weekly free-game claim
logo gog GOG Homepage giveaways + catalog watch for tag-flagged free items. 2FA-enabled accounts can paste GOG_OTP_BACKUP_CODES to auto-consume backup codes on prompt.
logo steam Steam Free-to-keep promotions only (not F2P or free weekends)
🎨 FAB Monthly Limited-Time Free 3D assets on Epic's content marketplace. Reuses your Epic Games session via SSO — no second login. (opt-in, default off)

Discovery via community aggregators. Epic and Steam claim eligible games surfaced by gamerpower.com or r/FreeGameFindings that don't show up in the storefront's own feed. GOG entries from the same aggregators surface as notify-only items so you can claim them through the panel's noVNC view. See the Discoveries tab for the live list with AUTO / NOTIFY / CLAIMED / SKIP / MANUAL badges.

Point / coin collectors — daily-cadence reward grinding:

Service Notes
🎯 Microsoft Rewards Daily Bing searches + activity cards for points, with before/after balance tracking
🛒 AliExpress Daily check-in coins (opt-in; disabled by default; deprecated — see Bot detection)

Watchers — notify-only; surface new free items so you can grab them yourself:

Service Notes
🎮 Ubisoft Connect Pings on new free-week promos (opt-in)
📦 Humble Bundle Pings on new free items in the Humble store (opt-in)
🔑 Fanatical Pings on new free Steam-key giveaways (opt-in)
🚀 Lenovo Gaming Key Drops Tracks scheduled drops + fires push notifications 1h before / 5min before / at drop time so you can land the queue before keys run out (opt-in)

Why notify-only? These storefronts have dynamic claim flows — newsletter prompts, region acks, "are you sure" modals, and other gates that the sites add and remove without notice — so any scripted claim path is brittle and silently breaks. Some also chain through multiple sites with one-shot vouchers (Lenovo → GamesPlanet → Steam), where a flaky auto-claim wastes the only attempt. Watchers detect what's available reliably; the actual grab is left to you, where a human can shrug off a UI change the script can't.

Uses patchright (Chromium with built-in anti-detection). Runs in Docker with a virtual display and VNC access — solve captchas, MFA, and one-time logins through the embedded noVNC viewer in the panel.

Control panel — Sessions tab
Control panel — Sessions tab. Click for full size.


Features at a glance

🎮 Collection automation (what the tool does when you're not looking)

  • Two-track scheduler with hot-reload — main claim chain (Prime / Epic / GOG / Steam / FAB) and Microsoft Rewards run on independent schedules so the 30-45 min MS window doesn't block the rest.
  • Captcha pause + noVNC handoff — when a script can't solve a challenge, it pauses for 10 min, fires a deep-link push notification, and resumes when you solve it via the embedded noVNC viewer.
  • Cookie upload fallback — for accounts fingerprint-blocked from in-container login: paste a JSON cookie export from your desktop browser and the panel imports the session.

🎛 Control panel & UI (where you spend your time when you do look)

  • Always-on panel at http://localhost:7080 — log in via embedded noVNC, check session health, trigger Run Now.
  • Sessions tab — per-service login state, one-click login flows, batch key redemption for Steam / GOG.
  • Settings UI — every runtime flag src/config.js reads is editable in-app, with env-var precedence and revert-to-env for any field.
  • Discoveries aggregator — live view of gamerpower.com + r/FreeGameFindings listings, badged against your auto-claim coverage (AUTO / CLAIMED / NOTIFY / SKIP / MANUAL).

📊 Alerts, logs & history (what happened, what needs attention)

  • Alerts tab — single place to see everything that needs your attention: pending code redemptions (Prime + Steam) with Mark redeemed / Dismiss actions, stale-session warnings with one-click re-login, unread items in Discoveries, and one-click Share to GitHub for any error caught during a run. Diagnostic submissions carry auto-redacted webhooks/tokens, a config snapshot (scheduler mode, active services, per-service flags, LANG, TZ), and 25+ lines of surrounding log context — nothing leaves your host without your explicit click. Sections hide when empty, so a healthy run leaves the tab visibly blank.
  • Stats tab — KPI tiles, per-service tables, 30-day claim chart, recent claims (configurable — default 200, up to 500), Microsoft Rewards balance trend.
  • Run history — completed runs persisted with full log buffers and summary counters (default 200, configurable up to 500), browsable from the Logs tab.

🔔 Integrations & deployment (how it fits into your stack)

  • Notifications via apprise — 26+ targets (Pushover, Telegram, Discord, Gotify, ntfy, mailto, Slack, …) with four verbosity tiers: all (every event), actions (silence uneventful summaries), digest (buffer per-run summaries into one daily aggregated notification at your configured hour), off.
  • Home Assistant integration/api/hass/sensors endpoint returns a flat JSON snapshot (MS balance, claim counts, pending redeems, stale sessions, captcha state, last-run status) that HA's stock REST integration consumes with a single config block. Example template sensors, binary sensors, and automations in docs/HOMEASSISTANT.md.
  • Cron / Sablier readyRUN_ON_STARTUP=2 one-shot mode for scale-to-zero deployments.
  • Reverse-proxy aware — subdomain, split-subdomain, and subfolder shapes via BASE_PATH / NOVNC_URL. Multi-arch Docker images (linux/amd64 + linux/arm64) published to ghcr.io with both semver (:v2.8.55) and date (:20260701) tags for watchtower / diun-style auto-update workflows.

Screenshots tour

Sessions tab Per-site login cards with status dots, Run buttons, and Cookie-upload fallback.
Show browser Embedded noVNC view of an active claim run with cards collapsed to mini-tiles.
Stats tab KPI tiles, per-service table, 30-day chart, recent claims list.
Schedule tab Next-run wall times, intervals, last-run status — separate rows for Claimers and MS Rewards.
Logs tab Live scheduler + per-service run streams, with a past-runs picker for completed run buffers.
Discoveries tab Community aggregator listings with coverage badges (AUTO / CLAIMED / NOTIFY / SKIP / MANUAL).
Alerts tab Pending redeems, stale sessions, unread Discoveries, and Share-to-GitHub error reports.
Settings tab Services accordion with per-service flags and a sticky save footer.

Quick Start (Docker)

docker run --rm -it -p 6080:6080 -p 7080:7080 -v fgc:/fgc/data --pull=always ghcr.io/feldorn/free-games-claimer

Open the control panel at http://localhost:7080. On first run, click Login for each site to log in via the embedded noVNC browser, then either click Run Now or set LOOP (and optionally START_TIME) so the built-in scheduler fires daily on its own. Sessions persist across container restarts in the fgc volume.

Full details — Docker Compose, bare-metal Node, non-root mode — in docs/INSTALL.md.


Documentation

  • docs/INSTALL.md — Docker, Docker Compose, bare-metal Node, and non-root (PUID/PGID) mode.
  • docs/CONFIGURATION.md — Environment variables, per-store credentials, notifications, and the two-track scheduler.
  • docs/PANEL.md — Walkthrough of every panel tab and the in-app Settings reference.
  • docs/AUTH.md — Automatic login with 2FA, cookie upload, and the captcha-pause helper.
  • docs/NETWORKING.md — Reverse-proxy setups (subdomain, split-subdomain, subfolder) with SWAG / NPM examples.
  • docs/REFERENCE.md — Bot detection posture, data storage layout, HTTP API, and troubleshooting.
  • docs/HOMEASSISTANT.md — Home Assistant REST-sensor integration with example template sensors, binary sensors, and automations.

Release notes

Per-release changes are in CHANGELOG.md — what landed in each version, most recent first.


Credits

Based on vogler/free-games-claimer by @vogler. See the upstream repository for the original project history and contributors.

About

Automatically claims free games and DLCs on the Epic Games Store, Steam, Amazon Prime Gaming and GOG.

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages