factorio-dl: add support for email OTP

See https://wiki.factorio.com/Web_authentication_API
73cfbe20 — Moviuro 10 months ago
factorio-dl: loop until we get a password; enhance help text
a4a68066 — Moviuro 10 months ago
factorio-dl: remove redundant code (version number grabbing from API)
6f4d05bc — Moviuro 4 years ago
factorio-dl: add -b: support alpha, demo and headless
df638354 — Moviuro 4 years ago
Document -h switch
e46dccd1 — Moviuro 4 years ago 0.2.2
factorio-dl: use a new endpoint to get the latest versions

https://factorio.com/api/latest-releases is a very simple json to parse, that's
54924fa3 — Moviuro 4 years ago
README.md: "just works"(TM) on macOS and Linux
factorio-dl: now detects the current platform

With this change, we can set defaults to values that make sense. Users are still
advised to use all switches deemed necessary for unattended services to avoid
breakage in the future though (in crontab(5) for example).
c314890d — Moviuro 4 years ago
factorio-dl: use a better jq(1) syntax

We now use jq(1) itself to filter out null values.
4f9ec227 — Moviuro 4 years ago
factorio-dl: remove unnecessary tests
1df77789 — Moviuro 4 years ago
factorio-dl: always check that FACTORIO_TARGET is valid, before trying to download it
beb88731 — Moviuro 4 years ago 0.2.1
factorio-dl: sort -V, not sort -n

Not POSIX, but on FreeBSD, OpenBSD, macOS, GNU and probably WSL.
8cac9e32 — Moviuro 4 years ago
factorio-dl: check for the dependencies
526bada8 — Moviuro 4 years ago
README.md: update according to the recent 0.2.0 changes
6ba52789 — Moviuro 4 years ago 0.2.0
factorio-dl: always use the token + drop support for FACTORIODL_CONFIG

New logic:
  We want a token
  1. Look for token + username in player-data.json
  2. If not available, resort to LOGIN+PASSWORD to get a token from
     https://auth.factorio.com  (see
  3. If still not available, abort

With this token, we can safely remove any use we had of cookies
With this new logic, jq(1) becomes a mandatory dependency

Rework the help text
37db2ba5 — Moviuro 4 years ago
factorio-dl: improve the help text
e48f8bf2 — Moviuro 4 years ago
factorio-dl: rely on an unofficial update API instead of the main website for version grabbing

xmllint(1) is no longer necessary
jq(1) is now necessary
f7e6cf09 — Moviuro 4 years ago
factorio-dl: add support for no version, and for version aliases

We may now use 'experimental', 'stable' or nothing at all as a version to
We rely on the factorio homepage to achieve this. It is probably not optimal,
and it will break if Wube Software ever so slightly reorganizes the factorio
cda4cfbb — Moviuro 6 years ago 0.1.3
factorio-dl: don't overwrite some env variables if they exist

0d80d51e — Moviuro 6 years ago
factorio-dl: change logic for setting output file name.

* Read options
* If no option is set, use a default value

Should be more readable?...