{"id":24765760,"url":"https://github.com/habedi/gogg","last_synced_at":"2025-10-11T14:31:27.980Z","repository":{"id":272947143,"uuid":"915385356","full_name":"habedi/gogg","owner":"habedi","description":"A multiplatform game file downloader for GOG","archived":false,"fork":false,"pushed_at":"2025-07-27T14:57:20.000Z","size":210,"stargazers_count":89,"open_issues_count":16,"forks_count":4,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-08-01T00:29:49.527Z","etag":null,"topics":["command-line-tool","downloader","go","gog","golang","video-games"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/habedi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-01-11T17:55:27.000Z","updated_at":"2025-07-30T01:49:43.000Z","dependencies_parsed_at":"2025-01-17T16:45:01.766Z","dependency_job_id":"184a4c50-7bd5-4a2e-92d7-723aa214065f","html_url":"https://github.com/habedi/gogg","commit_stats":null,"previous_names":["habedi/gogg"],"tags_count":9,"template":false,"template_full_name":"habedi/template-go-project","purl":"pkg:github/habedi/gogg","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/habedi%2Fgogg","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/habedi%2Fgogg/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/habedi%2Fgogg/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/habedi%2Fgogg/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/habedi","download_url":"https://codeload.github.com/habedi/gogg/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/habedi%2Fgogg/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279007457,"owners_count":26084313,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-11T02:00:06.511Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["command-line-tool","downloader","go","gog","golang","video-games"],"created_at":"2025-01-28T23:15:39.979Z","updated_at":"2025-10-11T14:31:27.966Z","avatar_url":"https://github.com/habedi.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cpicture\u003e\n    \u003cimg alt=\"Gogg Logo\" src=\"logo.jpeg\" height=\"40%\" width=\"40%\"\u003e\n  \u003c/picture\u003e\n\u003c/div\u003e\n\u003cbr\u003e\n\n\u003cdiv align=\"center\"\u003e\n    \u003ca href=\"https://github.com/habedi/gogg/actions/workflows/tests.yml\"\u003e\n        \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/habedi/gogg/tests.yml?label=tests\u0026style=flat\u0026labelColor=555555\u0026logo=github\" alt=\"Tests\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/habedi/gogg/actions/workflows/release.yml\"\u003e\n        \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/habedi/gogg/release.yml?label=linux%20build\u0026style=flat\u0026labelColor=555555\u0026logo=linux\" alt=\"Linux Build\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/habedi/gogg/actions/workflows/release.yml\"\u003e\n        \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/habedi/gogg/release.yml?label=windows%20build\u0026style=flat\u0026labelColor=555555\u0026logo=github\" alt=\"Windows Build\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/habedi/gogg/actions/workflows/release.yml\"\u003e\n        \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/habedi/gogg/release.yml?label=macos%20build\u0026style=flat\u0026labelColor=555555\u0026logo=apple\" alt=\"MacOS Build\"\u003e\n    \u003c/a\u003e\n    \u003cbr\u003e\n    \u003ca href=\"docs\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/docs-latest-3776ab?style=flat\u0026labelColor=555555\u0026logo=readthedocs\" alt=\"Docs\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/habedi/gogg\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/license-MIT-3776ab?style=flat\u0026labelColor=555555\u0026logo=open-source-initiative\" alt=\"License\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://codecov.io/gh/habedi/gogg\"\u003e\n        \u003cimg src=\"https://img.shields.io/codecov/c/github/habedi/gogg?style=flat\u0026labelColor=555555\u0026logo=codecov\" alt=\"Code Coverage\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://www.codefactor.io/repository/github/habedi/gogg\"\u003e\n        \u003cimg src=\"https://img.shields.io/codefactor/grade/github/habedi/gogg?style=flat\u0026labelColor=555555\u0026logo=codefactor\" alt=\"CodeFactor\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/habedi/gogg/pkgs/container/gogg\"\u003e\n        \u003cimg src=\"https://img.shields.io/github/v/release/habedi/gogg?label=image\u0026logo=docker\u0026logoColor=white\u0026style=flat\u0026color=007ec6\" alt=\"Docker Image\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/habedi/gogg/releases/latest\"\u003e\n        \u003cimg src=\"https://img.shields.io/github/release/habedi/gogg.svg?style=flat\u0026labelColor=555555\u0026logo=github\" alt=\"Release\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/habedi/gogg/releases\"\u003e\n        \u003cimg src=\"https://img.shields.io/github/downloads/habedi/gogg/total.svg?style=flat\u0026labelColor=555555\u0026logo=github\" alt=\"Total Downloads\"\u003e\n    \u003c/a\u003e\n\u003c/div\u003e\n\n---\n\nGogg is a minimalistic tool for downloading game files from [GOG.com](https://www.gog.com/).\nIt is written in [Go](https://golang.org/) and uses the\nofficial [GOG API](https://gogapidocs.readthedocs.io/en/latest/index.html).\n\nThe main goal of Gogg is to provide a simple and easy-to-use interface for people who want to download their GOG games\nfor offline use or archival purposes.\n\n### Features\n\nMain features of Gogg:\n\n- It can be used to fully automate the download process with a few simple commands.\n- It can run anywhere (Windows, macOS, or Linux) that a Go compiler is available.\n- It has a graphical user interface (GUI) that lets users search and download games they own on GOG.\n\nAdditionally, it allows users to perform the following actions:\n\n- List owned games\n- Export the list of owned games to a file\n- Search in the owned games\n- Download game files (like installers, patches, and bonus content)\n- Filter files to be downloaded by platform, language, and other attributes like content type\n- Download files using multiple threads to speed up the process\n- Resume interrupted downloads and only download missing or newer files\n- Verify the integrity of downloaded files by calculating their hashes\n- Calculate the total size of the files to be downloaded (for storage planning)\n\n---\n\n### Getting Started\n\nSee the [documentation](docs/README.md) for how to install and use Gogg.\n\nRun `gogg -h` to see the available commands and options.\n\n\u003e [!NOTE]\n\u003e * Since version `0.4.1`, Gogg has a GUI besides its command line interface (CLI).\n\u003e The GUI is still in the early stages of development and does not support all the features of the CLI and may have\n\u003e bugs.\n\u003e To start the GUI, run `gogg gui`.\n\u003e * Since version `0.4.2`, there are Docker images available for Gogg.\n\u003e See the [documentation](docs/README.md#containerization) for more information.\n\n#### Examples\n\n| File                                                                                     | Description                                                         |\n|------------------------------------------------------------------------------------------|---------------------------------------------------------------------|\n| [calculate_storage_for_all_games.ps1](docs/examples/calculate_storage_for_all_games.ps1) | PowerShell script to calculate storage size for all games user owns |\n| [download_all_games.ps1](docs/examples/download_all_games.ps1)                           | PowerShell script to download all games user owns                   |\n| [download_all_games.sh](docs/examples/download_all_games.sh)                             | Bash script to download all games user owns                         |\n| [simple_example.sh](docs/examples/simple_example.sh)                                     | Simple examples of how to use Gogg from the command line            |\n\n##### Login to GOG\n\n```bash\n# First-time using Gogg, you need to log in to GOG to authenticate\ngogg login\n```\n\n\u003e [!IMPORTANT]\n\u003e You might need to have [Google Chrome](https://www.google.com/chrome/), [Chromium](https://www.chromium.org/), or\n\u003e [Microsoft Edge](https://www.microsoft.com/edge) browsers installed on your machine for the first-time authentication.\n\u003e So, make sure you have one of them installed and available in your system's PATH.\n\n##### Syncing the Game Catalogue\n\n```bash\n# Will fetch the up-to-date information about the games you own on GOG\ngogg catalogue refresh\n```\n\n##### Searching for Games\n\n```bash\n# Will show the game ID and title of the games that contain \"Witcher\" in their title\ngogg catalogue search \"Witcher\"\n```\n\n##### Downloading a Game\n\n```bash\n# Will download the files for `The Witcher: Enhanced Edition` to `./games` directory (without extra content)\ngogg download 1207658924 ./games --platform=windows --lang=en --dlcs=true --extras=false \\\n --resume=true --threads 5 --flatten=true\n```\n\n##### File Hashes (For Verification)\n\n```bash\n# Will show the SHA1 hash of the downloaded files for `The Witcher: Enhanced Edition`\ngogg file hash ./games/the-witcher-enhanced-edition --algo=sha1\n```\n\n##### Storage Size Calculation\n\n```bash\n# Will show the total size of the files to be downloaded for `The Witcher: Enhanced Edition`\nDEBUG_GOGG=false gogg file size 1207658924 --platform=windows --lang=en --dlcs=true \\\n --extras=false --unit=GB\n```\n\n### CLI Demo\n\n[![asciicast](https://asciinema.org/a/kXMGRUUV149R37IEmZKtTH7nI.svg)](https://asciinema.org/a/kXMGRUUV149R37IEmZKtTH7nI)\n\n### GUI Screenshots\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg alt=\"Game Library\" src=\"docs/screenshots/v0.4.2/5.png\" width=\"100%\"\u003e\n\u003c/div\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eShow more screenshots\u003c/summary\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg alt=\"File Operations\" src=\"docs/screenshots/v0.4.2/2.png\" width=\"100%\"\u003e\n  \u003cimg alt=\"Download Games\" src=\"docs/screenshots/v0.4.2/8.png\" width=\"100%\"\u003e\n  \u003cimg alt=\"About\" src=\"docs/screenshots/v0.4.2/14.png\" width=\"100%\"\u003e\n  \u003cimg alt=\"Download Progress\" src=\"docs/screenshots/v0.4.2/9.png\" width=\"100%\"\u003e\n\u003c/div\u003e\n\n\u003c/details\u003e\n\n---\n\n### Contributing\n\nPlease see the [CONTRIBUTING.md](CONTRIBUTING.md) file for information on how to contribute to Gogg.\n\n### License\n\nGogg is licensed under the [MIT License](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhabedi%2Fgogg","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhabedi%2Fgogg","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhabedi%2Fgogg/lists"}