Behauptet kostenlose Spiele regelmäßig auf
Epic Games Store
Amazon Prime Gaming
Gog
Unreal Engine (Assets) (experimentell, gleiche Anmeldung wie epische Spiele)
Anfragen willkommen :)
Funktioniert unter Windows/MacOS/Linux.
Raspberry Pi (3, 4, Zero 2): Erfordert 64-Bit-Betriebssystem wie Raspberry Pi OS oder Ubuntu (Raspbian funktioniert nicht, da es 32-Bit ist).
Einfache Option: Installieren Sie Docker (oder Podman) und führen Sie diesen Befehl in einem Terminal aus:
docker run --rm -it -p 6080:6080 -v fgc:/fgc/data --pull=always ghcr.io/vogler/free-games-claimer
Dies gibt Ihnen derzeit eine Captcha-Herausforderung für Epic Games. Bis Ausgabe Nr. 183 festgelegt ist, wird empfohlen, nur node epic-games
ohne Docker auszuführen (siehe unten).
Dadurch werden node epic-games; node prime-gaming; node gog
-Wenn Sie nur Spiele für einen der Filialen beanspruchen möchten, können Sie den Standardbefehl überschreiben, indem Sie am Ende des Befehls von docker run
EG node epic-games
anhängen, oder wenn Sie mehrere bash -c "node epic-games.js; node gog.js"
Daten (einschließlich JSON -Dateien mit anspruchsvollen Spielen, Codes zur Einlösung, Screenshots) werden im Docker -Volumen fgc
gespeichert.
Installieren Sie node.js
Klon/Laden Sie dieses Repository und cd
in ein Terminal ein
Führen Sie npm install
aus
Führen Sie pip install apprise
(oder verwenden Sie PIPX, wenn Sie Probleme haben), um die Erklärung zu installieren, wenn Sie Benachrichtigungen wünschen
Um Updates zu erhalten: git pull; npm install
Führen Sie node epic-games
, node prime-gaming
, node gog
...
Während npm install
von Dramatikern sein Firefox zu einem Cache in Home (DOC) herunterladen. Wenn Ihnen einige Abhängigkeiten für den Browser in Ihrem System fehlen, können Sie sudo npx playwright install firefox --with-deps
.
Wenn Sie Docker nicht für den Quasi-Headless-Modus verwenden möchten, können Sie in einer virtuellen Maschine auf einem Server ausgeführt werden oder Ihren PC nachts wecken, um nicht unterbrochen zu werden.
Alle Skripte starten eine automatisierte Firefox -Instanz, entweder mit der angezeigten oder versteckten Browser -GUI ( Headless -Modus ). Standardmäßig sehen Sie keinen Browser, der auf Ihrem Host -System geöffnet ist.
Beim Laufen in Docker wird der Browser nur im Container angezeigt. Sie können http: // localhost: 6080 öffnen, um mit dem Browser zu interagieren, der im Container über NovNC ausgeführt wird (oder andere VNC -Clients auf Port 5900 verwenden).
Beim Ausführen der Skripte außerhalb von Docker wird der Browser standardmäßig versteckt. Sie können SHOW=1 ...
verwenden, um die Benutzeroberfläche anzuzeigen (siehe Optionen unten).
Beim ersten Mal müssen Sie sich für jedes Geschäft anmelden, in dem Sie Spiele beanspruchen möchten. Sie können sich indirekt über das Terminal oder direkt im Browser anmelden. Die Skripte warten, bis Sie erfolgreich angemeldet sind.
Im Terminal werden Sie aufgefordert, E-Mails, Kennwort und anschließend einige OTP (einmalige Kennwort-/Sicherheitscode) einzugeben, wenn Sie 2FA/MFA (Zwei-/Multi-Faktor-Authentifizierung) aktiviert haben. Wenn Sie sich über den Browser anmelden möchten, können Sie die Flucht im Terminal drücken, um die Eingabeaufforderungen zu überspringen.
Nach dem Login wird das Skript weiterhin die aktuellen Spiele beanspruchen. Wenn es immer noch wartet, nachdem Sie bereits angemeldet sind, können Sie es neu starten (und ein Problem öffnen). Wenn Sie die Skripte regelmäßig ausführen, sollten Sie sich nicht erneut anmelden müssen.
Optionen werden über Umgebungsvariablen festgelegt, die eine flexible Konfiguration ermöglichen.
TODO: Beim ersten Lauf führt das Skript Sie durch die Konfiguration und speichert alle Einstellungen in data/config.env
. Sie können diese Datei direkt bearbeiten oder node fgc config
ausführen, um den Konfigurationsassistenten erneut auszuführen.
Verfügbare Optionen/Variablen und deren Standardwerte:
Option | Standard | Beschreibung |
---|---|---|
ZEIGEN | 1 | Browser anzeigen If 1. Standard für Docker, nicht angezeigt, wenn Sie draußen laufen. |
BREITE | 1280 | Breite des geöffneten Browsers (und des Bildschirms für VNC in Docker). |
HÖHE | 1280 | Höhe des geöffneten Browsers (und des Bildschirms für VNC in Docker). |
Vnc_password | VNC -Passwort für Docker. Kein standardmäßig verwendetes Passwort! | |
BENACHRICHTIGEN | Benachrichtigungsdienste (Pushover, Slack, Telegramm ...), siehe unten. Erklärung | |
Notify_title | Optionaler Titel für Benachrichtigungen, zB für Pushover. | |
Browser_dir | Daten/Browser | Verzeichnis für das Browserprofil, z. B. für mehrere Konten. |
TIME-OUT | 60 | Zeitüberschreitung für eine Seitenaktion. Sollte auch bei langsamen Maschinen in Ordnung sein. |
Login_timeout | 180 | Zeitüberschreitung für Anmeldung in Sekunden. Warte zweimal (Eingabeaufforderung + manueller Anmeldung). |
Standard -E -Mail für eine beliebige Anmeldung. | ||
PASSWORT | Standardkennwort für eine beliebige Anmeldung. | |
EG_EMAIL | Epische Spiele E -Mail für Anmeldung. Überschreiben E -Mail. | |
EG_PASSWORD | Epic Games Passwort für Anmeldung. Passwort überschreiben. | |
EG_OTPKEY | Epische Spiele MFA OTP -Schlüssel. | |
EG_parentalpin | EPIC GAMES Elternsteuerung Pin. | |
Pg_email | Prime Gaming -E -Mail für die Login. Überschreiben E -Mail. | |
Pg_password | Prime Gaming -Passwort für die Anmeldung. Passwort überschreiben. | |
PG_OTPKEY | Prime Gaming MFA OTP -Schlüssel. | |
Pg_redeem | 0 | Prime Gaming: Versuchen Sie, Schlüssel in externen Geschäften (experimentell) einzulösen. |
Pg_claimdlc | 0 | Prime Gaming: Versuchen Sie, DLCs (experimentell) zu beanspruchen. |
GOG_EMAIL | GOG -E -Mail für die Login. Überschreiben E -Mail. | |
GOG_PASSWORD | GOG -Passwort für die Anmeldung. Passwort überschreiben. | |
GOG_Newsletter | 0 | Abmelden Sie nicht vom Newsletter ab, nachdem Sie ein Spiel beansprucht werden, wenn 1. |
Lg_email | Legacy Games: E -Mail zum Einlösen verwendet (falls festgelegt, standardmäßig pg_email) |
Siehe src/config.js
für alle Optionen.
Sie können Optionen direkt im Befehl hinzufügen oder sie in eine Datei zum Laden einfügen.
Sie können Variablen mit --env-file fgc.env
-e VAR=VAL
übergeben, z docker run -e [email protected] -e NOTIFY='tgram://bottoken/ChatID' ...
wobei fgc.env
eine Datei auf Ihrem Host -System ist (siehe DOCS). Sie können Ihre Konfigurationsdatei auch auf /fgc/data/config.env
im fgc
-Volumen docker cp
können, um sie mit den restlichen Daten anstelle des Hosts (Beispiel) zu speichern. Wenn Sie Docker Compose (oder Portainer usw.) verwenden, können Sie Optionen in die environment:
Abschnitt.
Auf Linux/macOS können Sie die Variablen, die Sie festlegen möchten, voraberfixieren. [email protected] SHOW=1 node epic-games
zeigt den Browser an und überspringen Sie die Frage nach Ihrer Anmelde-E-Mail. Unter Windows müssen Sie set
verwenden, Beispiel. Sie können auch Optionen in data/config.env
einfügen, die von dotenv geladen werden.
Die Skripte werden versuchen, Benachrichtigungen für erfolgreich beanspruchte Spiele zu senden, und Fehler wie die Anmeldung oder auf Captchas (sollte nicht stattfinden).
Die Erklärung wird für Benachrichtigungen verwendet und bietet viele Dienste, darunter Pushover, Slack, Telegram, SMS, E -Mail, Desktop und benutzerdefinierte Benachrichtigungen. Sie müssen nur die Benachrichtigungsdienste, die Sie verwenden möchten, NOTIFY
festlegen, z. B. NOTIFY='mailto://myemail:[email protected]' 'pbul://o.gn5kj6nfhv736I7jC3cj3QLRiyhgl98b'
- Siehe ihre Liste von Diensten und Beispielen.
Wenn Sie die Optionen für E -Mail-, Passwort- und OTP -Schlüssel einstellen, werden keine Eingabeaufforderungen angegeben, und Anmeldungen sollten automatisch stattfinden. Dies ist optional, da alle Geschäfte angemeldet bleiben sollten, da Cookies aktualisiert werden. Um den OTP -Schlüssel zu erhalten, ist es am einfachsten, dem Handbuch des Geschäfts zum Hinzufügen einer Authenticator -App zu folgen. Sie sollten auch den angezeigten QR -Code mit Ihrer bevorzugten App scannen, um eine alternative Methode für 2FA zu haben.
Epische Spiele : Besuchen Sie Passwort und Sicherheit, aktivieren Sie "Drittanbieter Authenticator App", kopieren Sie den "Handel ein Eintragsschlüssel" und verwenden Sie es, um EG_OTPKEY
festzulegen.
Prime Gaming : Besuchen Sie Amazon 'Ihr Konto ›Login & Security', 2-stufige Überprüfung› Verwalten ›Neue App hinzufügen› Der Barcode kann nicht scannen, den fetthaltigen Schlüssel kopieren und verwenden, um PG_OTPKEY
festzulegen
GOG : bietet nur OTP per E -Mail an
Achten Sie darauf, dass das Speichern von Kennwörtern und OTP -Schlüssel als klarer Text ein Sicherheitsrisiko darstellt. Verwenden Sie ein eindeutiges/generiertes Passwort! TODO: Vielleicht bieten Sie zumindest eine Basis64 -Encode für den Speicher an.
Führen Sie node epic-games
(lokal oder in Docker) aus.
Führen Sie node prime-gaming
(lokal oder in Docker) aus.
Wenn Sie behaupten, dass die Amazon-Spiele außerhalb des Boxs funktionieren, müssen Sie jedoch für Spiele in externen Geschäften Ihr Konto entweder verknüpfen oder einen Schlüssel einlösen.
Läden, die eine Kontoverbindung erfordern: epische Spiele, Battle.net, Origin.
Läden, die ein Schlüssel einlösen müssen: GOG.com, Microsoft Games, Legacy Games.
Schlüssel und URLs werden in die Konsole gedruckt, in Benachrichtigungen enthalten und in data/prime-gaming.json
gespeichert. Ein Screenshot der Seite mit dem Schlüssel wird ebenfalls in data/screenshots
gespeichert. TODO: Tasten in externen Geschäften einlösen.
Epische Spiele haben normalerweise zwei kostenlose Spiele pro Woche vor Weihnachten jeden Tag. Prime Gaming hat jeden Monat oder öfter in Haupttagen neue Spiele. GOG hat normalerweise jedes Paar von Wochen ein neues Spiel. Unreal Engine hat jeden ersten Dienstag eines Monats neue Vermögenswerte.
Es ist sicher, die Skripte jeden Tag auszuführen.
Die Container/Skripte behaupten derzeit verfügbare Spiele und beenden dann. Wenn Sie möchten, dass es regelmäßig ausgeführt wird, müssen Sie die Läufe selbst planen:
Linux/macOS: crontab -e
(Beispiel)
macOS: Startd
Windows: Task Scheduler (Beispiel), andere Optionen oder einfach den Befehl in eine .bat
-Datei in autostart einfügen, wenn Sie häufig neu starten ...
Jedes Betriebssystem: Verwenden Sie einen Prozessmanager wie PM2
command: bash -c "node epic-games; node prime-gaming; node gog; echo sleeping; sleep 1d"
zusätzlich restart: unless-stopped
denn
TODO: Fügen Sie einen Servermodus hinzu, bei dem das Skript nur weiter läuft und die Spiele, z. B. jeden Tag, beansprucht.
Überprüfen Sie die offenen Probleme und kommentieren Sie dort oder öffnen Sie ein neues Problem.
Wenn Sie ein Entwickler sind, können Sie PWDEBUG=1 ...
verwenden, um zu prüfen, was einen Debugger öffnet, bei dem Sie das Skript durchlaufen können.
Versuchte EpicGames-Freebies-Claimer, hatte jedoch Probleme, seit EpicGames HCaptcha eingeführt hat (siehe Ausgabe).
Ich habe schon einmal mit Puppeteer herumgespielt und habe jetzt neuere https://playwright.dev probiert, was ziemlich ähnlich ist. Dramatiker Inspector und codegen
um Skripts zu generieren, sind schön, konnten jedoch nicht den richtigen Code zum Klicken auf eine Schaltfläche in einem Iframe generieren.
Main.spec.ts hinzugefügt, das vom npx playwright codegen
generierte Testskript mit manuellem Fix zum Klicken auf Schaltflächen im erstellten IFRame. Kann vom npx playwright test
ausgeführt werden. Der Testläufer verfügt über Optionen --debug
und --timeout
und kann TypeScript ausführen, was schön ist. Dies richtete sich jedoch nur auf den Knopf "Ich stimme" zu, und zeigte dann eine HCAPTCHA.
Fügte main.captcha.js hinzu, der Beta von playwright-extra@next
und @extra/recaptcha@next
verwendet (von Kommentar zu Puppeteer-Extra). playwright-extra
scheint jedoch alt und fehlend zu sein :has-text
Selector (hier behoben) und page.frameLocator
, sodass das Skript nicht ohne Anpassungen ausgeführt wurde. Das Lösen über 2Captcha ist auch ein bezahlter Service, der Zeit braucht und unzuverlässig ist.
Main.stealth.js, das das Stealth-Plugin ohne playwright-extra
-Wrapper, aber aktuelles playwright
verwendet (aus dem Kommentar), fügte hinzugefügt. Die aufgelisteten Ausgänge reichen aus, um keine HCAPTCHA zu zeigen. Das Skript behauptete, das Spiel erfolgreich im nicht im Kopflosen Modus.
main.captcha.js
entfernt. Verwenden von Dramatiker -Test ( main.spec.ts
) anstelle von Bibliothek ( main.stealth.js
) hat den Vorteil von kostenlosen CLI wie --debug
und --timeout
.
Die Schaltflächenwählern sollten vorzugsweise Text verwenden, um stabiler gegen Änderungen in der DOM zu sein.
Umbenannt auf Repository von EpicGames-Claimer in Free Games-Claimer, da ebenfalls ein Skript für Amazon Prime Gaming hinzugefügt wurde. Entfernte alle alten Skripte zugunsten von epic-games.js
und prime-gaming.js
.
Epische Spiele: headless
-Modus erhält die HCaptcha -Herausforderung. Weitere Details/Referenzen in Frage.
#11 führte eine Dockerfile vor, um nicht im Container über XVFB im Container auszuführen, wodurch es für den Host, der den Container ausführt, kopflos macht.
V1.0 Standalone-Skripte Knoten-Knoten-Epic-Games und Knoten-Primspiel unter Verwendung von Chrom.
Für alle Skripte in Firefox geändert, seit Chrom zu Captchas führte. Behauptet, dann arbeitete er auch im Kopf ohne Docker.
Optionen über Env VARs hinzugefügt, konfigurierbar in data/config.env
.
Die OTP -Erzeugung über OTPLIB für automatische Anmeldung auch mit 2FA hinzugefügt.
Benachrichtigungen durch Genehmigung hinzugefügt.
Logo mit kleineren Seitenverhältnis (für Telegrammbot usw.) :? - Emojipedia