Some checks failed
build-and-push / docker (push) Failing after 0s
- remove detailed setup instructions and history - add quick-start guide for Docker and Docker Compose - update CI and configuration sections - streamline language and formatting for clarity
3.3 KiB
3.3 KiB
Free Games Claimer (Fork)
Automates claiming of free games for:
- Epic Games Store (and Epic-linked assets)
- Amazon Prime Gaming / Luna claims (incl. external stores like GOG, Legacy, Microsoft)
- GOG giveaways
- Optional extras: Steam stats, AliExpress dailies (experimental)
This fork adds a Forgejo CI pipeline and instructions for running the pre-built image from your own registry.
Requirements
- Docker or Podman (empfohlen) oder Node.js ≥ 20 zum lokalen Lauf
- (Optional) Python
apprisefür Benachrichtigungen:pip install apprise - Für Playwright: Linux-Desktop-Abhängigkeiten sind im Container enthalten; lokal ggf.
npm installzieht Firefox mit.
Schnellstart (Docker Run)
docker run --rm -it \
-p 6080:6080 \
-v fgc:/fgc/data \
-e SHOW=1 \
<REGISTRY_IMAGE>:latest \
node prime-gaming.js
<REGISTRY_IMAGE>z. B.git.sky-net.it/nocci/free-games-claimer- Ports 6080/5900: noVNC/VNC (nur nötig mit
SHOW=1) - Daten/Configs landen in Volume
fgcunter/fgc/data
Docker Compose Beispiel
services:
fgc:
image: <REGISTRY_IMAGE>:latest
container_name: fgc
environment:
- SHOW=1 # Browser sichtbar via VNC/noVNC
# - PG_EMAIL=...
# - PG_PASSWORD=...
# - PG_OTPKEY=...
volumes:
- fgc:/fgc/data
ports:
- "6080:6080" # noVNC
# - "5900:5900" # VNC optional
command: bash -c "node epic-games; node prime-gaming; node gog"
volumes:
fgc:
CI / eigenes Image
- Workflow:
.forgejo/workflows/build.ymlbaut/pusht aufpushnachmain. - Secrets in Forgejo setzen:
REGISTRY(z. B.git.sky-net.it)REGISTRY_IMAGE(z. B.git.sky-net.it/nocci/free-games-claimer)REG_USER,REG_TOKEN(PAT mit Paket-Push)
- Self-hosted Runner mit Docker-Access (
runs-on: self-hosted) wird benötigt.
Konfiguration (Umgebungsvariablen)
Typische Optionen:
SHOW=0/1(0 = headless, 1 = UI)WIDTH,HEIGHT(Browsergröße)TIMEOUT,LOGIN_TIMEOUT(Sek.)- Login:
EMAIL,PASSWORDglobal; spezifischEG_EMAIL,EG_PASSWORD,EG_OTPKEY,PG_EMAIL,PG_PASSWORD,PG_OTPKEY,GOG_EMAIL,GOG_PASSWORD - Prime-Gaming:
PG_REDEEM=1(Keys automatisch einlösen, experimentell),PG_CLAIMDLC=1,PG_TIMELEFT=<Tage>zum Überspringen mit langer Restzeit - Screenshots:
SCREENSHOTS_DIR(Standarddata/screenshots) - Notifications:
NOTIFY='...'(Apprise-URL), optionalNOTIFY_TITLE
Du kannst eine data/config.env anlegen; sie wird per dotenv geladen und überschreibt nichts, was bereits in der Umgebung gesetzt ist.
Lokal ohne Docker
npm install
SHOW=0 PG_EMAIL=... PG_PASSWORD=... PG_OTPKEY=... node prime-gaming.js
- Playwright lädt Firefox beim
npm installin~/.cache/ms-playwright. - Für sichtbaren Browser
SHOW=1(GUI/Xvfb nötig).
Persistenz & Ausgaben
- Daten & Status:
data/*.json(pro Store) - Browserprofil:
data/browser - Screenshots:
data/screenshots/<store>/ - Optionale Videos/HAR:
RECORD=1→data/record/
Tipp: Bei Captchas oder Erst-Login SHOW=1 nutzen und einmal manuell einloggen; Cookies bleiben im Profil. Notifications via NOTIFY helfen bei Fehlermeldungen (z. B. Captcha, Login).***