Adquiere automáticamente los juegos gratuitos de Epic Games

En este post voy a enseñar como automatizar el proceso de adquirir los juegos gratuitos que va sacando Epic Games y guardarlos en nuestra biblioteca para siempre.

Es un proyecto de github realizado por Charlie Laabs que me ha sorprendido mucho.

Requisitos:

  • Tener docker instalado! (En mi caso en Ubuntu Server)

Primer paso

El primer paso es realizar un archivo de configuración con toda nuestra información necesaria para la ejecución del contenedor.

Crea una carpeta para el proyecto, crea un nuevo archivo archivo, llámalo config.json y copia el siguiente contenido en él.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
{
  "runOnStartup": true,
  "cronSchedule": "5 16 * * *",
  "logLevel": "info",
  "webPortalConfig": {
    "baseUrl": "http://ipofyourmachine:3000",
  },
  "accounts": [
    {
      "email": "youremail",
      "password": "yourpassword",
      "totp": "yoursuperlongcode"
    },
  ],
  "notifiers": [
    {
      "type": "telegram",
      "apiUrl": "https://api.telegram.org",
      "token": "yourtoken",
      "chatId": "yourchatID",
    }
  ]
}

A continuación nos tenemos que encargar de rellenar la información que falta. Lo primero y más fácil será escribir tu correo y contraseña de Epic Games.

Código TOTP

Para conseguir este código debes activar la autenticación doble factor de tu cuenta de Epic Games, y si ya la tenías activada, debes volver a configurarla aquí desde el principio para obtener el código.

Es sencillo:

  1. Descarga en tu teléfono una aplicación de doble autenticación, si es que no la tenías antes. Yo uso Authy.
  2. Pincha en activar 2FA en Epic Games, te aparecerá un código QR y un cógido muy largo (TOTP).
  3. Copia el código TOTP en el archivo anterior config.json.
  4. Escanea el QR con tu aplicación de autenticación para agregar la cuenta.
  5. Para confirmar el proceso, introduce el código proporcionado por la aplicación en la web de Epic Games.

Listo. Ya tienes configurado el 2FA y tienes tu código TOTP.

Bot de Telegram

Para interactuar con la aplicación (verificar captchas) crearemos un bot de telegram.

  1. Abre un nuevo chat con @BotFather.
  2. Escribe /newbot y sigue las instrucciones que se te indican para crear el nuevo bot. (Nombre del bot y su nombre de usuario).
  3. Cuando el bot esté creado se te proporcionará un token. Esto es lo que debes copiar en el archivo config.json.

Sólo falta obtener el chat ID. Para ello:

  1. Crea un nuevo grupo con tu nuevo bot, y añade también a @RawDataBot.
  2. En cuanto el grupo esté creado, RawDataBot te proporcionará el id del chat.
  3. Copia este número (con el signo negativo) al archivo config.json.

URL base

En baseUrl hay que poner la IP de la máquina que está corriendo docker y el puerto del contenedor (por defecto 3000).

Segundo paso

Una vez tenemos por fin configurado nuestro archivo, es la hora de utilizar docker.

Utilizaremos el siguiente comando:

docker run -d -v /ruta/carpeta/con/configuracion/:/usr/app/config:rw -p 3000:3000 -m 2g charlocharlie/epicgames-freegames:latest

Atentos: debéis colocar a la izquierda de los dos puntos la ruta a la carpeta del proyecto, que contiene el archivo config.json. Podéis cambiar el puerto externo si ya lo tenéis en uso, cambiando el 3000 de la izquierda por 3001 (o cualquier otro puerto que queráis) y por su puesto cambiandolo en el atributo baseUrl que hemos colocado anteriormente.

Tras ejecutar el comando, si todo ha ido bien, os habrá tenido que llegar un mensaje de vuestro bot a telegram con un enlace para hacer login. Si no funciona el enlace quizás no esté bien configurada la IP de la máquina. Aseguraos de que tiene IP estática para que no cambie.

Tercer paso

Tras haber iniciado sesión correctamente, automáticamente buscará los juegos gratis que no tengáis y los comprará automáticamente. Siempre revisar el bot de telegram por si es necesario que resolváis más captchas. 😃