Melden Sie sich automatisch an und finden Sie verfügbare kostenlose Spiele im Epic Games Store. Sendet Ihnen einen vorab ausgefüllten Checkout-Link, damit Sie den Checkout nach der Anmeldung abschließen können. Unterstützt mehrere Konten, Anmeldesitzungen und geplante Läufe.
Das Tool kann mit einer Kombination aus JSON und Umgebungsvariablen konfiguriert werden. Die Konfigurationsdatei unterstützt die JSON5-Syntax (Kommentare, nachgestellte Kommas usw.). Für jede Eigenschaft hat der JSON-Konfigurationswert Vorrang vor dem jeweiligen Umgebungsvariablenwert.
Einzelheiten zu jeder Option, ihren Standardeinstellungen und dem Umgebungsvariablenschlüssel finden Sie auf der Konfigurationsdokumentationsseite.
Die Konfigurationsdatei wird im gemounteten Volume /usr/app/config
gespeichert und kann config.json
oder config.json5
heißen.
config.json
oder config.json5
{
"runOnStartup" : true ,
"cronSchedule" : "0 0,6,12,18 * * *" ,
"logLevel" : "info" ,
"webPortalConfig" : {
"baseUrl" : "https://epic.example.com" ,
} ,
"accounts" : [
{
"email" : "[email protected]" ,
} ,
] ,
"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" : "[email protected]" ,
"emailSenderName" : "Epic Games Captchas" ,
"emailRecipientAddress" : "[email protected]" ,
"secure" : false ,
"auth" : {
"user" : "[email protected]" ,
"pass" : "abc123" ,
} ,
} ,
{
"type" : "discord" ,
"webhookUrl" : "https://discord.com/api/webhooks/123456789123456789/A-abcdefghijklmn-abcdefghijklmnopqrst12345678-abcdefghijklmnop123456" ,
// Optional list of users or roles to mention
"mentionedUsers" : [ "914360712086843432" ] ,
"mentionedRoles" : [ "734548250895319070" ] ,
} ,
{
"type" : "telegram" ,
// Optional Custom TELEGRAM server URL
"apiUrl" : "https://api.telegram.org" ,
"token" : "644739147:AAGMPo-Jz3mKRnHRTnrPEDi7jUF1vqNOD5k" ,
"chatId" : "-987654321" ,
} ,
{
"type" : "apprise" ,
"apiUrl" : "http://192.168.1.2:8000" ,
"urls" : "mailto://user:[email protected]" ,
} ,
{
"type" : "pushover" ,
"token" : "a172fyyl9gw99p2xi16tq8hnib48p2" ,
"userKey" : "uvgidym7l5ggpwu2r8i1oy6diaapll" ,
} ,
{
"type" : "gotify" ,
"apiUrl" : "https://gotify.net" ,
"token" : "SnL-wAvmfo_QT" ,
} ,
{
"type" : "homeassistant" ,
"instance" : "https://homeassistant.example.com" ,
"token" : "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c" ,
"notifyservice" : "mobile_app_smartphone_name" ,
} ,
{
"type" : "bark" ,
// your bark key
"key" : "xxxxxxxxxxxxxxxxxxxxxx" ,
// bark title, optional, default: 'epicgames-freegames'
"title" : "epicgames-freegames" ,
// bark group, optional, default: 'epicgames-freegames'
"group" : "epicgames-freegames" ,
// bark private service address, optional, default: 'https://api.day.app'
"apiUrl" : "https://api.day.app"
} ,
{
"type" : "ntfy" ,
"webhookUrl" : "https://ntfy.example.com/mytopic" ,
"priority" : "urgent" ,
"token" : "tk_mytoken"
} ,
{
"type" : "webhook" ,
//url of your webhook server
"url" : "https://webhook.site/my_uuid" ,
//Optional headers
"headers" : {
"Authentication" : "Bearer 123456"
}
} ,
] ,
}
Dieses Projekt kann Sie gelegentlich auffordern, sich über die Gerätecode-Authentifizierung anzumelden. Die Gerätecode-Sitzung von Epic Games läuft nach 10 Minuten ab, daher verwendet dieses Projekt einen Webserver und eine Umleitung, um zu verhindern, dass Ihnen alle 10 Minuten ein neuer Link gesendet wird. Für den Betrieb des Webservers gibt es zwei Möglichkeiten:
Wenn Sie mit dem Hosten von Webservern und/oder Reverse-Proxys vertraut sind, gehen Sie wie folgt vor:
-p 81:3000
ordnet den Port 81 der Hostmaschine dem Port 3000 des Containers zu).webPortalConfig.baseUrl
in der Konfiguration fest Wenn Sie in Ihrem Netzwerk nicht über die Möglichkeit verfügen, einen Forward/Reverse-Proxy zu portieren, können Sie dennoch remote auf den Webserver zugreifen, indem Sie Folgendes festlegen:
{
"webPortalConfig" : {
"localtunnel" : true ,
} ,
}
in Ihrer config.json
.
Für jede Benachrichtigungsmethode gibt es eindeutige Einrichtungsanweisungen. Genaue Details und Anweisungen finden Sie in der Dokumentation (Benachrichtigungsmethoden) auf der Konfigurationsseite. Als Beispiel kann auch die Beispielkonfiguration hilfreich sein.
Da möglicherweise nicht immer Benutzeraktionen erforderlich sind, können die Benachrichtigungsmethoden und der Webserver manuell getestet werden. Im Wesentlichen müssen Sie nur Folgendes hinzufügen:
"testNotifiers" : true ,
zum Stammverzeichnis Ihrer config.json
. Weitere Informationen finden Sie in den Konfigurationsdokumenten. Hinweis: Um die Standby-Speichernutzung zu optimieren, wird der Webserver nicht ausgeführt, wenn der Prozess nicht ausgeführt wird. Der Webserver ist nur während einer geplanten Ausführung verfügbar.
Dieses Image ist sowohl bei GitHub Container Registry als auch bei Docker Hub verfügbar:
ghcr.io/claabs/epicgames-freegames-node:latest
charlocharlie/epicgames-freegames:latest
Wenn beim Starten von Chromium Probleme auftreten (hängt bei der Anmeldung/Benachrichtigung), können Sie das Debian-Image ausprobieren:
ghcr.io/claabs/epicgames-freegames-node:debian
charlocharlie/epicgames-freegames:debian
Wenn Sie die vollständige JSON-Konfiguration verwenden, sind die einzigen verbleibenden konfigurierbaren Docker-Elemente der Port und das Volume.
Die meisten Konfigurationsoptionen können über Umgebungsvariablen festgelegt werden. Suchen Sie in den Konfigurationsdokumenten nach dem env
-Tag für den Schlüssel jeder Option.
Wenn Sie aus irgendeinem Grund das Standardkonfigurationsverzeichnis oder den Namen der Konfigurationsdatei ändern möchten, stehen Ihnen CONFIG_DIR
und CONFIG_FILE_NAME
als Umgebungsvariablen zur Verfügung.
Host-Port | Containerhafen | Beschreibung |
---|---|---|
3000 | 3000 | Portzuordnung, auf der sich der Webserver befindet, der die Captcha-Lösungsseite hostet |
Host-Standort | Containerstandort | Modus | Beschreibung |
---|---|---|---|
/my/host/dir/ | /usr/app/config | rw | Speicherort der Konfigurations- und Cookie-Datei(en) |
Es wird empfohlen, -m 2g
als docker run
hinzuzufügen, um eine maximale Speichernutzung von 2 GB festzulegen. Die Chromium-Prozesse können manchmal außer Kontrolle geraten und ohne Begrenzung kann Ihr System schließlich abstürzen.
$ docker run -d -v /my/host/dir/:/usr/app/config:rw -p 3000:3000 -m 2g ghcr.io/claabs/epicgames-freegames-node:latest
Ohne JSON-Konfiguration können Sie nur ein Konto konfigurieren.
$ docker run -d -e TZ=America/Chicago -e [email protected] -e RUN_ON_STARTUP=true -e BASE_URL=https://example.com -e SMTP_HOST=smtp.gmail.com -e SMTP_PORT=587 -e [email protected] -e EMAIL_SENDER_NAME="Epic Games Captchas" -e [email protected] -e SMTP_SECURE=true -e [email protected] -e SMTP_PASSWORD=abc123 -v /my/host/dir/:/usr/app/config:rw -p 3000:3000 -m 2g ghcr.io/claabs/epicgames-freegames-node:latest
Wenn beim Anmelden mit der Gerätecode-Authentifizierung Probleme auftreten, können Sie Cookies für eine temporäre Sitzung importieren.
https://www.epicgames.com/id
und klicken Sie auf die Schaltfläche „Exportieren“: ./config
<email_address>-cookies.json
(z. B. [email protected]
) und fügen Sie Ihre Cookies ein.Wenn Sie Docker aus irgendeinem Grund nicht zum Ausführen dieses Tools verwenden möchten, können Sie es aus dem Quellcode ausführen, indem Sie dieses Repo klonen und Node.js installieren.
git clone https://github.com/claabs/epicgames-freegames-node.git
config
im geklonten/entpackten Verzeichnisnpm i
npm run start
git pull
npm i
In Version 5 wurden mehrere Optionen hinzugefügt oder entfernt. Die hinzugefügten/entfernten Optionen sollten keine Auswirkungen auf vorhandene v4-Konfigurationen haben, müssen jedoch möglicherweise Ihre config.json
ändern, um eine stabile Lösung zu erhalten.
cronSchedule
: Der Standardwert wurde auf alle sechs Stunden geändert. Sie sollten Ihren Cron-Zeitplan so ändern, dass er häufiger als alle 8 Stunden ausgeführt wird, da das Aktualisierungstoken für die Gerätecode-Authentifizierung nach 8 Stunden abläuft. account.password
: Anmeldeinformationen werden nicht mehr verwendetaccount.totp
: Anmeldeinformationen werden nicht mehr verwendetnoHumanErrorHelp
: Der Kauf wird nicht mehr automatisierthcaptchaAccessibilityUrl
: war in Version 4 veraltetemail
: war in Version 4 veraltet, verwenden Sie notifiers
mit "type": "email"
baseUrl
: war in v4 veraltet, verwenden Sie webPortalConfig.baseUrl
onlyWeekly
: war in Version 4 veraltet, verwenden Sie searchStrategy
Vielen Dank an epicgames-weekly-freegames für die Inspiration.
Vielen Dank an EpicResearch für die Dokumentation, die die Gerätecode-Authentifizierung ermöglicht hat.