Download media from the fortellergames.com store without installing the application
Go to file
Nemo 39b32b6622 Print the JWT 2022-04-21 13:16:44 +05:30
.github/workflows Switch to environment variables, finish Docker 2022-04-18 18:19:04 +05:30
.env.sample Switch to environment variables, finish Docker 2022-04-18 18:19:04 +05:30
.gitignore Switch to environment variables, finish Docker 2022-04-18 18:19:04 +05:30
Dockerfile no need for dockerignore 2022-04-18 19:34:16 +05:30
LICENSE Initial Commit 2021-04-06 20:21:07 +05:30
README.md Document SKUs [ci-skip] 2022-04-18 18:40:02 +05:30
run.php Print the JWT 2022-04-21 13:16:44 +05:30

README.md

forteller-dl

Download media from the https://www.fortellergames.com/ store without installing the application. The script behaves the same way as the application, and it can only download media that you will have access to, so please purchase the media from fortellergames.com before you run this script.

Tested mainly against "Gloomhaven: Jaws of the Lion".

Why?

I didn't like the application UX, so wrote this script instead to download the files. The app stretches the play/pause button on my iPhone SE and it looked very ugly. Plus, I can uninstall the app now and play the files anywhere. Kudos for Forteller for having a clean API and no DRM.

How to use

First configure your credentials in the .env file.

cp .env.sample .env

Edit the .env file with your correct credentials.

Getting your SKU

The SKU is the product code for each of the Forteller Titles. This is required for downloading the correct title. This script authenticates using your credentials, so you can only download titles you have purchased already.

SKU Game
raven_aab Above and Below
ceph_gh Gloomhaven
ceph_jaws Jaws of the Lion
suc_mid1 Middara: Act 1
ceph_fh Frosthaven
skg_iso The Isofarian Guard

In the commands that follow, please replace SKU with the correct SKU from the left column.

Running using Docker

# Set SKU to one of `ceph_gh`,`ceph_jaws`,`suc_mid1`,`ceph_fh`,`skg_iso`
docker run -it --init --volume "$HOME/Downloads:/downloads" --env-file .env ghcr.io/captn3m0/forteller-dl:main SKU /downloads

Running using local PHP

You'll need php, php-curl installed, and replace {SKU} with a valid SKU

git clone https://github.com/captn3m0/forteller-dl.git
cd forteller-dl
set -a
source .env
set +a
php run.php SKU [/optional/path/to/output/dir]

TODO

The script is functional enough for me, so this will likely never get done. But ideas:

  • Run with Docker
  • Cleanup code
  • API Documentation?
  • Tag the MP3 files as they are saved

License

Licensed under the MIT License. See LICENSE file for details.