This project is inspired by SteamDB-FreeGames
Telegram discussion group: https://t.me/GamesHubDiscussion
Provide a framework to develop plugins to scrap games from different websites and send notifications to other plugins
:white_check_mark: Gather Steam free games from SteamDB. (Not recommended)
:white_check_mark: Gather free games from Keylol. (recommended)
:white_check_mark: Gather free games from Reddit.
:white_check_mark: Use Apprise to send free games information. (Telegram demo channel)
:white_check_mark: Use ASF to redeem games
:white_check_mark: Use Steam to redeem games
git clone https://github.com/lupohan44/GamesHub.git
cd GamesHub
pip3 install -r requirements.txt
playwright install webkit chromium firefox || python3 -m playwright install webkit chromium firefox
# Depends on the browser(s) you want to use
or install minimum requirements
pip install -r requirements-no_plugin.txt
and install requirements for each plugin you want to enableconfig.json5
, change settings in it according to the comment.python3 app.py
Each enabled official plugin should create a folder in {WORKING_DIR}/plugins/{PLUGIN_PACKAGE_NAME}
to store runtime files and configsCreate a folder for record and config, let's say folder name is /var/GamesHub
Please note that this folder name must be absolute path.
export GAMES_HUB_FOLDER_NAME=/var/GamesHub
mkdir -p "$GAMES_HUB_FOLDER_NAME"
Download config.example.json5 and rename to config.json5
into the folder created in step 1, change settings in it according to the comment.
wget -c "https://raw.githubusercontent.com/lupohan44/GamesHub/main/config.example.json5" -O "$STEAM_DB_FOLDER_NAME/config.json5" || curl -o "$STEAM_DB_FOLDER_NAME/config.json5" "https://raw.githubusercontent.com/lupohan44/GamesHub/main/config.example.json5"
Run with docker
docker pull lupohan44/games_hub:latest && docker run -v $GAMES_HUB_FOLDER_NAME:/home/wd --rm lupohan44/games_hub:latest
All changes by script inside docker will be permanently save to this folder.
Each enabled official plugin should create a folder in {WORKING_DIR}/plugins/{PLUGIN_PACKAGE_NAME}
to store runtime files and configs
Change plugins' config files from step 3
Rerun step 3
/var/GamesHub (working directory)
├── config.json5
└── plugins
├── gameshub.official.notification.apprise
│ └── config.json5
├── gameshub.official.scraper.steamdb
│ └── config.json5
├── gameshub.official.scraper.keylol
│ ├── config.json5
│ └── cookies.txt
└── gameshub.official.redeemer.asf
└── config.json5
Each of them is appreciated. Thank you.