Skip to content

Latest commit

 

History

37 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gogg Logo

Tests Code Coverage Docs License Docker Image Release Total Downloads


Gogg is a minimalistic tool for downloading game files from GOG.com. It is written in Go and uses the official GOG API.

The main goal of Gogg is to provide a simple and easy-to-use interface for people who want to download their GOG games for offline use or archival purposes.

Features

Main features of Gogg:

  • It can be used to fully automate the download process with a few simple commands.
  • It can run anywhere (Windows, macOS, or Linux) that a Go compiler is available.
  • It has a graphical user interface (GUI) that lets users search and download games they own on GOG.

Additionally, it allows users to perform the following actions:

  • List owned games
  • Export the list of owned games to a file
  • Search in the owned games
  • Download game files (like installers, patches, and bonus content)
  • Filter files to be downloaded by platform, language, and other attributes like content type
  • Download files using multiple threads to speed up the process
  • Resume interrupted downloads and only download missing or newer files
  • Verify the integrity of downloaded files against the checksums GOG publishes
  • Arrange downloads in folder layouts that RomM and Lutris can use directly
  • Back up a game's GOG GALAXY cloud saves locally
  • Calculate the total size of the files to be downloaded (for storage planning)

Getting Started

See the documentation for how to install and use Gogg.

Run gogg -h to see the available commands and options.

Note

  • Since version 0.4.1, Gogg has a GUI besides its command line interface (CLI). The GUI supports the features of the CLI and adds a searchable library with covers, collections, download management, and cloud save backup. To start the GUI, run gogg gui.
  • Since version 0.4.2, there are Docker images available for Gogg. See the documentation for more information.

Examples

File Description
calculate_storage_for_all_games.ps1 PowerShell script to calculate storage size for all games user owns
download_all_games.ps1 PowerShell script to download all games user owns
download_all_games.sh Bash script to download all games user owns
simple_example.sh Simple examples of how to use Gogg from the command line
Log in to GOG
# First-time using Gogg, you need to log in to GOG to authenticate
gogg login

Important

You might need to have Google Chrome, Chromium, or Microsoft Edge browsers installed on your machine for the first-time authentication. So, make sure you have one of them installed and available in your system's PATH.

Important

Since version 0.5.0 users can log in to their GOG account from the GUI. So it's not strictly necessary for them to have of Google Chrome, Chromium, or Microsoft Edge browsers installed on their machines. And Any modern web browser should work.

Log in from GUI
Syncing the Game Catalogue
# Will fetch the up-to-date information about the games you own on GOG
gogg catalogue refresh
Searching for Games
# Will show the game ID and title of the games that contain "Witcher" in their title
gogg catalogue search "Witcher"
Downloading a Game
# Will download the files for `The Witcher: Enhanced Edition` to `./games` directory (without extra content)
gogg download 1207658924 ./games --platform=windows --lang=en --dlcs=true --extras=false \
 --resume=true --threads 5 --flatten=true --keep-latest=true
File Hashes (for Verification)
# Will show the SHA1 hash of the downloaded files for `The Witcher: Enhanced Edition`
gogg file hash ./games/the-witcher-enhanced-edition --algo=sha1
Storage Size Calculation
# Will show the total size of the files to be downloaded for `The Witcher: Enhanced Edition`
DEBUG_GOGG=false gogg file size 1207658924 --platform=windows --lang=en --dlcs=true \
 --extras=false --unit=GB

CLI Demo

asciicast

GUI Screenshots

Game Library
Show more screenshots
Start 1 Start 2 Settings Downloads Refreshing Library Downloaded Games

Contributing

Please see the CONTRIBUTING.md file for information on how to contribute to Gogg.

License

Gogg is licensed under the MIT License.

About

A multiplatform game file downloader for GOG

Topics

Resources

Code of conduct

Contributing

Stars

186 stars

Watchers

9 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages