All apps · 0 apps
GOG-Free-Games-Claimer
Docker app from GOG Free Games Claimer
Overview
Readme
View on GitHubGOG Free Game Claimer 🎮
![]()
Automatically claims free GOG giveaway games
Just an authenticated HTTP GET to https://www.gog.com/giveaway/claim. That's it.
How it works
GOG exposes a /giveaway/claim endpoint that, when hit with valid session cookies, instantly adds the current free game to your library. This is the same thing your browser does when you click "Get it Free" — just without the browser.
Setup
1. Get your GOG cookies
You only need to do this once (or whenever your session expires — typically every few months).
- Open your browser and log in to GOG.com
- Open DevTools → F12 (or right-click → Inspect)
- Go to the Network tab
- Refresh the page
- Click any request to
gog.com - In the Request Headers, find the
Cookie:header - Copy the entire value — it will look something like:
gog-al=eyJ....; gog_us=eyJ....; ...
2. Configure
cp .env.example .env
Paste your cookies into .env:
GOG_COOKIE=gog-al=eyJ....; gog_us=eyJ....
DISCORD_WEBHOOK_URL=https://discord.com/api/webhooks/... # optional
3. Run
One-shot (claim right now):
npm install
npm start
Test your cookies without claiming:
node claimer.js --dry-run
Docker
Pull from Docker Hub
docker pull corylewis/gog-free-games-claimer:latest
Run with Docker
docker run --rm \
--name gog-claimer \
-e GOG_COOKIE="your_full_cookie_string_here" \
-e DISCORD_WEBHOOK_URL="https://discord.com/api/webhooks/..." \
-v $(pwd)/data:/app/data \
corylewis/gog-free-games-claimer:latest
Run with Docker Compose
- Copy
.env.exampleto.envand fill in your cookies - Update the image name in
docker-compose.yml - Run:
docker compose up
View logs:
docker logs -f gog-claimer
Build locally
docker build -t gog-free-games-claimer .
docker run -e GOG_COOKIE="..." gog-free-games-claimer
Discord notifications (optional)
Set DISCORD_WEBHOOK_URL to receive run updates in a Discord channel. If omitted, webhook notifications are skipped.
You can create a webhook in Discord via Server Settings → Integrations → Webhooks.
Publish to Docker Hub
One-time setup
- Create a repo on hub.docker.com named
gog-free-games-claimer - Add these secrets to your GitHub repo (Settings → Secrets → Actions):
DOCKERHUB_USERNAME— your Docker Hub usernameDOCKERHUB_TOKEN— a Docker Hub access token (create one here)
Auto-publish
The included GitHub Actions workflow (.github/workflows/docker-publish.yml) will automatically build and push to Docker Hub on every push to main, and tag releases when you push a version tag:
git tag v1.0.0
git push origin v1.0.0
This builds for both linux/amd64 and linux/arm64 (works on Raspberry Pi too).
Claim history
Every claim is logged to data/claims.json:
[
{
"timestamp": "2026-04-26 09:00:01",
"outcome": "claimed",
"title": "The Whispering Valley",
"username": "YourGOGUsername"
}
]
Mount ./data:/app/data in Docker to persist this across runs.
Cookie expiry
GOG sessions typically last a few months. If the claimer starts logging auth errors, just repeat the cookie grab steps above and update your .env (or the Docker environment variable).
License
MIT
Install GOG-Free-Games-Claimer on Unraid in a few clicks.
Find GOG-Free-Games-Claimer in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.
Categories
Download Statistics
Related apps
Explore more like this
Explore allDetails
corylewis/gog-free-games-claimer:latestRuntime arguments
- Network
bridge
Template configuration
Your GOG session cookie string. Log in to gog.com, open DevTools (F12), go to Network, click any gog.com request, and copy the full value of the Cookie header under Request Headers. Example: gog-al=eyJ...; gog_us=eyJ...
- Target
- GOG_COOKIE
Optional. Post a Discord message whenever a free game is claimed. To get a webhook URL: open Discord, go to the channel you want notifications in, click the gear icon (Edit Channel), go to Integrations, click Webhooks, click New Webhook, give it a name, then click Copy Webhook URL and paste it here.
- Target
- DISCORD_WEBHOOK_URL