vogler / free-games-claimer

Automatically claims free games on the Epic Games Store, Amazon Prime Gaming and GOG.
GNU Affero General Public License v3.0
2.33k stars 142 forks source link

noVNC/portal, tunnel, notifications, ARM, docker #13

Open vogler opened 2 years ago

vogler commented 2 years ago

Planning/discussion issue for the ideas that came up in #11

vogler commented 2 years ago

@jackblk I added you as a collaborator and created a project board: https://github.com/vogler/free-games-claimer/projects/1

Not sure what's better, I guess having this meta issue is enough to keep an overview.

jackblk commented 2 years ago

@vogler I made it so it can work with Alpine in branch docker-alpine-wip. The chromium shipped with playwright will not work in Alpine because of musl/glibc incompatibility, so I tried using chromium build shipped with Alpine packages.

It can run, but it will be detected by captcha and I have to reset my IP for a clean one 😞 .

So for now, I save the progress in the branch, but we have to abandon this method until Playwright has better support for Alpine.


For your Raspberry 4 (arm64?), maybe the problem is with 32bit userland? Because we can only use Chromium coming from Playwright to evade captcha, I don't think it can be supported. So right now we can only support x86/x64 and arm64 (only tested on Mac M1). Firefox approach seems to be a dead end for Raspberry too, because Playwright needs patched binaries for Firefox & Webkit.

vogler commented 2 years ago

Maybe use

vogler commented 2 years ago

Heads-up: I'll move userDataDir -> data/browser, screenshots -> data/screenshots such that there's just one directory with all user data to ignore and map into docker.

QIN2DIM commented 2 years ago

GitHub actions to upload to Docker hub

Maybe this configuration can achieve the demand. New docker_token.


name: ci

on:
  workflow_dispatch:
  push:
    branches:
      - main
    paths-ignore:
      - ".github/**"
      - "README.md"
      - "LICENSE"
      - ".gitignore"
env:
  IMAGE_TAG: # such as vogler/free-games-claimer:alpha

jobs:
  docker:
    runs-on: ubuntu-latest
    steps:
      -
        name: Checkout
        uses: actions/checkout@v2
      -
        name: Project Init
        run: # Do some pre-processing initialization work, if not necessary, you can delete this step
      -
        name: Set up QEMU
        uses: docker/setup-qemu-action@v1
      -
        name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v1
      -
        name: Login to DockerHub
        uses: docker/login-action@v1
        with:
          username: ${{ secrets.DOCKERHUB_USERNAME }}
          password: ${{ secrets.DOCKERHUB_TOKEN }}
      -
        name: Build and push
        uses: docker/build-push-action@v2
        with:
          context: .
          platforms: linux/amd64 # linux/arm64
          push: true
          tags: ${{ env.IMAGE_TAG }}
vogler commented 1 year ago

GitHub Action to build and push images: https://github.com/vogler/free-games-claimer/blob/main/.github/workflows/docker.yml Also see https://github.com/vogler/free-games-claimer/issues/31.

vogler commented 1 year ago

Notifications merged with #49. Screenshot 2023-01-25 at 19 07 24

vogler commented 1 year ago

Running on ARM requires 64-bit (not just available for RPi4), mentioned in readme:

Raspberry Pi (3, 4, Zero 2): Raspbian won't work since it's 32-bit, but Raspberry Pi OS (64-bit) or Ubuntu will.