A Java rewrite of gogarchiver, the GOG.com archival tool written in bash, with many improvements:
- a better, more flexible CLI
- parallel download support
- DLC support
- account library retrieval
- a much improved interface
Prerequisites:
- JDK (>= 17)
- Maven (>= 3.2.5)
Run the following:
$ mvn clean package
The output runnable JAR will be written to target/gogarchiver-ng.jar
. There will be another JAR with the version number in that directory - ignore it.
- Open firefox
- Log into GOG.COM
- Open developer tools (Ctrl + Shift + Alt)
- Navigate to the Storage tab
- Select Cookies, and then https://www.gog.com/ on the left sidebar
- Locate the
gog-al
cookie, and copy its value
The cookie can be passed to gogarchiver-ng directly (via -k
) or through a file for better security (via -K
).
Prebuilt binaries are available at https://files.zajc.eu.org/builds/gogarchiver-ng/.
- -k, --token=TOKEN
-
GOG token, which can be extracted from the gog-al cookie
- -K, --token-file=PATH
-
read GOG token from a file
- -o, --output=PATH
-
directory to write downloaded games to
- -t, --threads=THREADS
-
number of download threads
Default: (same as machine's thread count) - -q, --quiet
-
disable progress bars
- -c, --color=MODE
-
control output color. Supported are auto, on, off
- -h, --help
-
Show this help message and exit.
- -V, --version
-
Print version information and exit.
- --[no-]installers
-
download installers
Default: true - --[no-]patches
-
download version patches
Default: true - --[no-]dlcs
-
download available DLCs
Default: true - -i, --include-game=ID[,ID…]
-
only the listed game IDs will be downloaded. Game IDs can be obtained from https://www.gogdb.org/
- -e, --exclude-game=ID[,ID…]
-
all games owned by the account except those listed will be downloaded
- --include-platform=PLATFORM[,PLATFORM…]
-
platforms to download for. Supported are linux, windows, mac
- --exclude-platform=PLATFORM[,PLATFORM…]
-
platforms to not download for