mirror of
https://github.com/alexbelgium/hassio-addons.git
synced 2026-10-13 03:31:35 +02:00
190 lines
8.5 KiB
Markdown
190 lines
8.5 KiB
Markdown
# Home Assistant add-on: Free Games Claimer
|
|
|
|
I maintain this and other Home Assistant add-ons in my free time. Keeping up
|
|
with upstream changes, Home Assistant changes, and testing on real hardware
|
|
takes a significant amount of time.
|
|
|
|
[![Buy me a coffee][donation-badge]](https://www.buymeacoffee.com/alexbelgium)
|
|
[![Donate via PayPal][paypal-badge]](https://www.paypal.com/donate/?hosted_button_id=DZFULJZTP3UQA)
|
|
|
|
## Add-on information
|
|
|
|

|
|

|
|
|
|
[](https://github.com/alexbelgium/hassio-addons/actions/workflows/weekly-supelinter.yaml)
|
|
[](https://github.com/alexbelgium/hassio-addons/actions/workflows/onpush_builder.yaml)
|
|
|
|
[donation-badge]: https://img.shields.io/badge/Buy%20me%20a%20coffee-%23d32f2f?logo=buy-me-a-coffee&style=flat&logoColor=white
|
|
[paypal-badge]: https://img.shields.io/badge/Donate%20via%20PayPal-0070BA?logo=paypal&style=flat&logoColor=white
|
|
|
|
## About
|
|
|
|
This add-on is based on
|
|
[Free Games Claimer Remaster](https://github.com/P-Adamiec/Free-Games-Claimer-Remaster).
|
|
It can claim free games from:
|
|
|
|
- Epic Games Store, including its weekly free mobile game
|
|
- Fab, Epic's asset marketplace (`fab`)
|
|
- Amazon Prime Gaming
|
|
- GOG
|
|
- Steam
|
|
- Ubisoft giveaways (`ubisoft`)
|
|
- AliExpress daily coin check-in (`aliexpress`)
|
|
- GamerPower-supported stores, when explicitly enabled
|
|
|
|
For compatibility with previous add-on releases, the default store selection
|
|
remains Epic Games, Prime Gaming, and GOG. The other stores are enabled by
|
|
adding them to `STORES`, for example `epic,prime,gog,fab,ubisoft`, and each
|
|
needs its own credentials in `config.env`.
|
|
|
|
## Web interface
|
|
|
|
The noVNC interface remains available on port `6080`:
|
|
|
|
```text
|
|
http://homeassistant:6080
|
|
```
|
|
|
|
It can be used for initial sign-in, CAPTCHA handling, or other manual browser
|
|
interaction. Set `VNC_PASSWORD` in `config.env` to protect the VNC session.
|
|
|
|
## Add-on options
|
|
|
|
| Option | Default | Description |
|
|
| -------- | --------- | ------------- |
|
|
| `CONFIG_LOCATION` | `/config/config.env` | Persistent environment configuration file |
|
|
| `RUN_ONCE` | `true` | Run all selected claimers once, then stop the add-on as previous releases did |
|
|
| `STORES` | empty | Optional comma-separated override, such as `epic,prime,gog,steam` |
|
|
| `CMD_ARGUMENTS` | `node epic-games ; node prime-gaming ; node gog` | Deprecated compatibility option; recognized legacy command names are converted to `STORES` |
|
|
| `env_vars` | `[]` | Additional environment variables passed to the add-on |
|
|
|
|
### Run modes
|
|
|
|
With `RUN_ONCE: true`, the add-on performs one claiming pass and stops. This is
|
|
the default and preserves the behavior of the former vogler-based add-on.
|
|
|
|
With `RUN_ONCE: false`, the remaster remains running and uses its internal
|
|
scheduler. Set `SCHEDULER_HOURS` in `config.env` to control the interval.
|
|
|
|
## Environment configuration
|
|
|
|
The add-on keeps its configuration in `CONFIG_LOCATION`, which defaults to
|
|
`/config/config.env`. From Home Assistant this is stored in the add-on's
|
|
private `app_configs` directory and can be edited with a compatible file
|
|
browser add-on.
|
|
|
|
A template is created on first start. Common examples are:
|
|
|
|
```env
|
|
# Preserve the former default selection
|
|
STORES=epic,prime,gog
|
|
|
|
# Epic Games
|
|
EG_EMAIL=your-email@example.com
|
|
EG_PASSWORD=your-password
|
|
EG_OTPKEY=
|
|
|
|
# Amazon Prime Gaming
|
|
PG_EMAIL=your-amazon-email@example.com
|
|
PG_PASSWORD=your-password
|
|
PG_OTPKEY=
|
|
|
|
# GOG
|
|
GOG_EMAIL=your-gog-email@example.com
|
|
GOG_PASSWORD=your-password
|
|
|
|
# Optional Steam support
|
|
STEAM_USERNAME=your-steam-username
|
|
STEAM_PASSWORD=your-password
|
|
|
|
# Optional notifications
|
|
NOTIFY=tgram://bot-token/chat-id
|
|
# DISCORD_WEBHOOK=https://discord.com/api/webhooks/...
|
|
```
|
|
|
|
Upstream's release-update notification (`NOTIFY_UPDATES`) is disabled by the
|
|
add-on, because it advises running `docker compose pull` while the add-on is
|
|
actually updated through the Home Assistant add-on store. Setting
|
|
`NOTIFY_UPDATES=true` in `config.env` re-enables it.
|
|
|
|
Existing variables such as `EG_EMAIL`, `EG_PASSWORD`, `PG_EMAIL`,
|
|
`PG_PASSWORD`, `PG_OTPKEY`, `GOG_EMAIL`, `GOG_PASSWORD`, `SHOW`, `WIDTH`,
|
|
`HEIGHT`, `TIMEOUT`, `LOGIN_TIMEOUT`, `DRYRUN`, and `NOTIFY` remain compatible.
|
|
See the
|
|
[upstream configuration reference](https://github.com/P-Adamiec/Free-Games-Claimer-Remaster#configuration)
|
|
for all available settings.
|
|
|
|
## Upgrade from version 1.8
|
|
|
|
Version 2.0 changes the application engine from
|
|
`vogler/free-games-claimer` (Node.js, Playwright, and Firefox) to
|
|
`P-Adamiec/Free-Games-Claimer-Remaster` (Python, nodriver, and Chromium).
|
|
The add-on performs the following migration automatically on first start:
|
|
|
|
1. The existing `config.env` remains at the same configured location.
|
|
2. Legacy `epic-games.json`, `prime-gaming.json`, and `gog.json` claim history
|
|
is imported into the remaster SQLite database at `/data/fgc.db`.
|
|
3. Existing database rows are detected and are not duplicated if migration is
|
|
retried.
|
|
4. A pre-migration database backup is created when an existing `fgc.db` is
|
|
present.
|
|
5. All old files remain under `/data/data` for rollback or manual recovery.
|
|
|
|
Browser sessions cannot be converted because the old add-on used a shared
|
|
Firefox profile while the remaster uses separate Chromium profiles per store.
|
|
Credentials remain available through `config.env`, but accounts that require
|
|
interactive authentication may need a one-time login through noVNC after the
|
|
upgrade. The old Firefox profile is retained and is never deleted.
|
|
|
|
The external noVNC port remains `6080`, although the standalone remaster image
|
|
normally uses port `7080`.
|
|
|
|
## Upstream update policy
|
|
|
|
The image is built from the upstream release named by `ARG BUILD_UPSTREAM` in
|
|
the Dockerfile, downloaded as the matching `v<version>` source tarball. The
|
|
repository updater tracks upstream releases and bumps that value, the add-on
|
|
version and `CHANGELOG.md` together, so a new upstream release reaches the
|
|
add-on without a manual edit.
|
|
|
|
A release tag is a mutable reference. Rebuilding the same `BUILD_UPSTREAM`
|
|
installs whatever that tag points at, so an upstream tag that is force-moved or
|
|
deleted would change or fail the build without an add-on change. That is the
|
|
accepted cost of automatic tracking, and it is the same trade-off every other
|
|
automatically updated add-on in this repository makes; the previous commit pin
|
|
was immutable but could only be advanced by hand.
|
|
|
|
Upstream's development tags (`v1.7d` and similar) are filtered out through
|
|
`"github_exclude": "d"` in `updater.json`. Without it the updater reports the
|
|
`v1.7d` tag as release `1.7`, for which GitHub serves no source archive, and
|
|
the build would fail.
|
|
|
|
The add-on version does not track the upstream version. The add-on uses a `2.x`
|
|
series while upstream is on `1.x`, and Home Assistant only offers an update
|
|
when the new version sorts strictly higher, so the updater increments the
|
|
add-on version (`2.1.0` to `2.1.1`) instead of publishing a lower-sorting
|
|
upstream number. The upstream release actually installed is recorded in
|
|
`upstream_version` in `updater.json`, in `CHANGELOG.md`, and in the add-on's
|
|
startup banner.
|
|
|
|
## Installation
|
|
|
|
1. Add this add-on repository to the Home Assistant add-on store.
|
|
2. Install **Free Games Claimer**.
|
|
3. Configure the add-on options as needed.
|
|
4. Start the add-on and review its log.
|
|
5. Open noVNC if an account needs manual authentication.
|
|
|
|
[](https://my.home-assistant.io/redirect/supervisor_add_addon_repository/?repository_url=https%3A%2F%2Fgithub.com%2Falexbelgium%2Fhassio-addons)
|
|
|
|
## Custom scripts and environment variables
|
|
|
|
- [Running custom scripts in add-ons](https://github.com/alexbelgium/hassio-addons/wiki/Running-custom-scripts-in-Addons)
|
|
- [Passing environment variables to an add-on](https://github.com/alexbelgium/hassio-addons/wiki/Add-Environment-variables-to-your-Addon-2)
|
|
|
|
## Support
|
|
|
|
Open an issue in the
|
|
[add-on repository](https://github.com/alexbelgium/hassio-addons/issues).
|