LGOGDOWNLOADER(1)
๐ NAME ๐
LGOGDownloader โ the manual page for LGOGDownloader 3.18. That's it, that's the name, she's iconic and she knows it. ๐
๐ฆ SYNOPSIS ๐ฆ
lgogdownloader [OPTION]...
๐ธ DESCRIPTION ๐ธ
okay so picture this: an open-source GOG.com downloader for Linux users, and it uses the exact same API as GOG Galaxy. Same API, bestie. No cap. โจ
LGOGDownloader can download your purchased games, it can query GOG.com to see if your game files have changed, and it can also grab extras like artwork and manuals. She's also fully capable of downloading language-specific installers for games where those exist. Multilingual queen. ๐
โจ LGOGDownloader Options โจ
-h,--helpโ prints the help message. your emotional support flag fr ๐ซถ--versionโ prints version information.--loginโ logs you in.--gui-loginโ login, but forced through the GUI. this one implies--enable-login-gui.--browser-loginโ login, but forced through the browser.--check-login-statusโ checks your login status. vibe check for your session ๐--list [=arg(=games)]โ lists games/tags. the values you can pass:- Games =
g|games - Details =
d|details - JSON =
j|json - Tags =
t|tags - Transformations =
tr|transform|transformations - User data =
ud|userdata - Wishlist =
w|wishlist
- Games =
--downloadโ downloads. she does the thing. ๐ฅ--repairโ repairs downloaded files. Use--repair --downloadto redownload files when the filesizes don't match (which probably means a different version). The redownload will rename the old file by appending.oldto the filename. it keeps the receipts, lowkey thoughtful ๐--game argโ sets a regular expression filter for download/list/repair (Perl syntax).--create-xml [=arg(=automatic)]โ creates GOG XML for a file."automatic"enables automatic XML creation.--notificationsโ checks notifications.--updatedโ list/download only games with the update flag set.--newโ list/download only games with the new flag set.--clear-update-flagsโ clears update notification flags.--check-orphans argโ checks for orphaned files (files sitting on your local filesystem that aren't on GOG servers). It sets a regular expression filter (Perl syntax) for which files to check. If you don't give it an argument, the regex defaults to.*\.(zip|exe|bin|dmg|old|deb|tar\.gz|pkg|sh|mp4)$--delete-orphansโ deletes orphaned files during--check-orphansand--galaxy-install.--statusโ shows the status of files.
Output format:
statuscode gamename filename filesize filehash
Status codes:
OKโ File is OKNDโ File is not downloadedMD5โ MD5 mismatch, different versionFSโ File size mismatch, incomplete download
See also the --no-fast-status-check option.
--save-configโ creates a config file with the current settings.--reset-configโ resets config settings back to default.--report [=arg(=lgogdownloader-report.log)]โ saves a report of downloaded/repaired files to the specified file. Default filename:lgogdownloader-report.log--update-cacheโ updates the game details cache.--no-platform-detectionโ doesn't try to detect supported platforms from the game shelf. It skips the initial fast platform detection and instead detects the supported platforms from game details, which is slower but more accurate. Genuinely useful when the platform identifier is missing for some games in the game shelf. Heads up: using--platformtogether with--listdoesn't work with this option. ๐--download-file argโ downloads files using fileid.
Format:
"gamename/fileid"
"gamename/dlc_gamename/fileid"
"gogdownloader://gamename/fileid"
"gogdownloader://gamename/dlc_name/fileid"
Multiple files:
"gamename1/fileid1,gamename2/fileid2,gamename2/dlcname/fileid1"
This option ignores all subdir options. The files are downloaded to the directory specified with the --directory option.
-o,--output-filearg โ sets the filename of the file downloaded with--download-file.--cacert argโ path to CA certificate bundle in PEM format.--respect-umaskโ do not adjust permissions of sensitive files.--user-agent arg (=LGOGDownloader/3.18 (Linux x86_64))โ sets the user agent.--wine-prefix arg (=.)โ sets the wineprefix directory.--cloud-whitelist argโ include this list of cloud saves; by default all cloud saves are included.
Example: --cloud-whitelist saves/AutoSave-0 saves/AutoSave-1/screenshot.png
--cloud-blacklist argโ exclude this list of cloud saves.
Example: --cloud-blacklist saves/AutoSave-0 saves/AutoSave-1/screenshot.png
--cloud-forceโ download or upload cloud saves even if they're up-to-date. Also deletes remote cloud saves even if no saves are whitelisted. she's not asking, she's forcing ๐--enable-login-guiโ enables the login GUI when encountering reCAPTCHA on the login form.--tag argโ filters using tags. Separate with,to use multiple values.--blacklist arg (=$XDG_CONFIG_HOME/lgogdownloader/blacklist.txt)โ filepath to the blacklist.--ignorelist arg (=$XDG_CONFIG_HOME/lgogdownloader/ignorelist.txt)โ filepath to the ignorelist.--directory arg (=.)โ sets the download directory.--limit-rate arg (=0)โ limits the download rate to a value in kB.0= unlimited.--xml-directory argโ sets the directory for GOG XML files.--chunk-size arg (=10)โ chunk size (in MB) when creating XML.--platform arg (=w+l)โ selects which installers get downloaded.- Windows =
w|win|windows - Mac =
m|mac|osx - Linux =
l|lin|linux - All =
all
- Windows =
Set priority by separating values with ,. Combine values by separating with +.
Example โ Linux if available, otherwise Windows and Mac: l,w+m
--language arg (=en)โ selects which language installers get downloaded. See the LANGUAGES section for available values. All languages =all.
Set priority by separating values with ,. Combine values by separating with +.
Example โ German if available, otherwise English and French: --language de,en+fr
--no-remote-xmlโ doesn't use remote XML for repair.--no-unicodeโ doesn't use Unicode in the progress bar.--no-colorโ doesn't use coloring in the progress bar or in status messages.--no-duplicate-handlingโ doesn't use the duplicate handler for installers. Duplicate installers from different languages get handled separately.--no-subdirectoriesโ doesn't create subdirectories for extras, patches and language packs.--curl-verboseโ sets libcurl to verbose mode.--insecureโ doesn't verify the authenticity of SSL certificates.
bestie. no. this is genuinely risky, don't just leave it on because it makes the scary error go away ๐ญ
--timeout arg (=10)โ sets the timeout for the connection. This is the maximum time in seconds that the connection phase is allowed to take.--retries arg (=3)โ sets the maximum number of retries on a failed download.--wait arg (=0)โ time to wait between requests (milliseconds).--subdir-installers argโ sets the subdirectory for installers. Templates:%platform%%gamename%%gamename_firstletter%%dlcname%%gamename_transformed%%gamename_transformed_firstletter%%title%%title_stripped%%dlc_title%%dlc_title_stripped%
--subdir-extras arg (=extras)โ sets the subdirectory for extras. See--subdir-installersfor template values.--subdir-patches arg (=patches)โ sets the subdirectory for patches. See--subdir-installersfor template values.--subdir-language-packs arg (=languagepacks)โ sets the subdirectory for language packs. See--subdir-installersfor template values.--subdir-dlc arg (=dlc/%dlcname%)โ sets the subdirectory for dlc. See--subdir-installersfor template values.--subdir-game arg (=%gamename%)โ sets the subdirectory for game. See--subdir-installersfor template values.--use-cacheโ uses the game details cache.--cache-valid arg (=2880)โ sets how long cached game details are valid (in minutes). Default: 2880 minutes (48 hours).--save-serialsโ saves serial numbers when downloading.--save-game-details-jsonโ saves game details JSON data as-is to"game-details.json".--save-product-jsonโ saves product info JSON data from the API as-is to"product.json".--save-logoโ saves the logo when downloading.--save-iconโ saves the icon when downloading.--ignore-dlc-count [=arg(=.*)]โ sets a regular expression filter for games to ignore DLC count information. Ignoring DLC count info genuinely helps in situations where the account page doesn't provide accurate information about DLCs. ๐--include arg (=all)โ selects what to download/list/repair.- Base game installers =
bi|basegame_installers - Base game extras =
be|basegame_extras - Base game patches =
bp|basegame_patches - Base game language packs =
bl|basegame_languagepacks|basegame_langpacks - DLC installers =
di|dlc_installers - DLC extras =
de|dlc_extras - DLC patches =
dp|dlc_patches - DLC language packs =
dl|dlc_languagepacks|dlc_langpacks - DLCs =
d|dlc|dlcs - Basegame =
b|bg|basegame - All installers =
i|installers - All extras =
e|extras - All patches =
p|patches - All language packs =
l|languagepacks|langpacks - All =
all
- Base game installers =
Separate with , to use multiple values.
--exclude argโ selects what not to download/list/repair. See--includefor the option values.--automatic-xml-creationโ automatically creates XML data after the download has completed.--save-changelogsโ saves changelogs when downloading.--threads arg (=4)โ number of download threads.--info-threads arg (=4)โ number of threads for getting product info.--progress-interval arg (=100)โ sets the interval for progress bar updates (milliseconds). Value must be between 1 and 10000.--lowspeed-timeout arg (=30)โ sets the time in seconds that the transfer speed should be below the rate. Set this together with--lowspeed-ratefor the transfer to be considered too slow and aborted.--lowspeed-rate arg (=200)โ sets the average transfer speed in bytes per second that the transfer should be below during the time specified with--lowspeed-timeoutfor it to be considered too slow and aborted.--include-hidden-productsโ includes games that have been set hidden on the account page.--size-onlyโ doesn't check the hashes of the files whose size matches that on the server.--verbosity arg (=0)โ how chatty do you want this thing to be? levels are:-1= Less verbose ๐ฆ0= Default1= Verbose2= Debug (fr fr the firehose)
--check-free-spaceโ peeks at your free disk space before it starts downloading. responsible queen behavior ๐--no-fast-status-checkโ babe it's saying don't use the fast status check. this makes--statusmuch slower, but it's the only way to catch corrupted files, because it actually calculates the local file hash for all files. slow but thorough, no cap.--trust-api-for-extrasโ just trust that the API responses for extras are correct. handing over the aux cord, basically.--interface argโ do all your operations over a specific network interface ๐--unit-format argโ pick your unit format:IECorSI. choose your fighter โจ
Experimental ๐งช
okay bestie these are the galaxy ones, they said experimental, we're just relaying the message ๐
--galaxy-install argโ install a game using product id[product_id/build]or gamename regex[gamename/build]. the build (that's a build index or a build id) is used to select a build and defaults to0if you don't specify one. example:12345/2selects build 2 for product12345.--galaxy-show-builds argโ show game builds using product id[product_id/build]or gamename regex[gamename/build]. build (build index or build id) is used to select a build. lists available builds if build is not specified. example:12345/2selects build 2 for product12345.--galaxy-download-cloud-saves argโ download cloud saves using product-id[product_id/build]or gamename regex[gamename/build]. build (build index or build id) is used to select a build and defaults to0if not specified. example:12345/2selects build 2 for product12345.--galaxy-upload-cloud-saves argโ upload cloud saves using product-id[product_id/build]or gamename regex[gamename/build]. build (build index or build id) is used to select a build and defaults to0if not specified. example:12345/2selects build 2 for product12345.--galaxy-show-cloud-saves argโ show game cloud-saves using product id[product_id/build]or gamename regex[gamename/build]. build (build index or build id) is used to select a build and defaults to0if not specified. example:12345/2selects build 2 for product12345.--galaxy-show-local-cloud-saves argโ show local cloud-saves using product id[product_id/build]or gamename regex[gamename/build]. build (build index or build id) is used to select a build and defaults to0if not specified. example:12345/2selects build 2 for product12345.--galaxy-delete-cloud-saves argโ delete cloud-saves using product id[product_id/build]or gamename regex[gamename/build]. build (build index or build id) is used to select a build and defaults to0if not specified. example:12345/2selects build 2 for product12345.--galaxy-platform arg (=w)โ select platform ๐ฎ- Windows =
w|win|windows - Mac =
m|mac|osx - Linux =
l|lin|linux
- Windows =
--galaxy-language arg (=en)โ select language. go check the LANGUAGES section for the available values, it's a whole buffet down there ๐ธ--galaxy-arch arg (=x64)โ select architecture:- 32-bit =
32|x86|32bit|32-bit - 64-bit =
64|x64|64bit|64-bit
- 32-bit =
--galaxy-no-dependenciesโ don't download dependencies during--galaxy-install. we're doing it solo, no entourage.--subdir-galaxy-install arg (=%install_dir%)โ set the subdirectory for galaxy install. templates you can use:%install_dir%= Installation directory from Galaxy API response%gamename%= Game name%title%= Title of the game%product_id%= Product id of the game%install_dir_stripped%=%install_dir%with some characters stripped%title_stripped%=%title%with some characters stripped
and "stripped" means every character that doesn't match this list gets removed:
- alphanumeric
- space
- _ . ( ) [ ] { }
--galaxy-cdn-priority arg (=edgecast,akamai_edgecast_proxy,fastly)โ set the priority for the CDNs it uses. use--galaxy-list-cdnsto see which CDNs are available, and set the priority by separating values with",". ranking the girlies, iconic.--galaxy-list-cdns argโ list available CDNs for a game using product id[product_id/build]or gamename regex[gamename/build]. build (build index or build id) is used to select a build and defaults to0if not specified. example:12345/2selects build 2 for product12345.--galaxy-lowercase-path argโ make the filepath lowercase for Windows game files ๐ก
๐ LANGUAGES ๐
These are the languages you can pick with the --language and --galaxy-language options. pick your fave bestie ๐
- English =
en|eng|english|en[_-]US - German =
de|deu|ger|german|de[_-]DE - French =
fr|fra|fre|french|fr[_-]FR - Polish =
pl|pol|polish|pl[_-]PL - Russian =
ru|rus|russian|ru[_-]RU - Chinese =
cn|zh|zho|chi|chinese|zh[_-](CN|Hans) - Czech =
cz|cs|ces|czech|cs[_-]CZ - Spanish =
es|spa|spanish|es[_-]ES - Hungarian =
hu|hun|hungarian|hu[_-]HU - Italian =
it|ita|italian|it[_-]IT - Japanese =
jp|ja|jpn|japanese|ja[_-]JP - Turkish =
tr|tur|turkish|tr[_-]TR - Portuguese =
pt|por|portuguese|pt[_-]PT - Korean =
ko|kor|korean|ko[_-]KR - Dutch =
nl|nld|dut|dutch|nl[_-]NL - Swedish =
sv|swe|swedish|sv[_-]SE - Norwegian =
no|nor|norwegian|nb[_-]no|nn[_-]NO - Danish =
da|dan|danish|da[_-]DK - Finnish =
fi|fin|finnish|fi[_-]FI - Brazilian Portuguese =
br|pt_br|pt-br|ptbr|brazilian_portuguese - Slovak =
sk|slk|slo|slovak|sk[_-]SK - Bulgarian =
bl|bg|bul|bulgarian|bg[_-]BG - Ukrainian =
uk|ukr|ukrainian|uk[_-]UA - Spanish (Latin American) =
es_mx|es-mx|esmx|es-419|spanish_latin_american - Arabic =
ar|ara|arabic|ar[_-][A-Z]{2} - Romanian =
ro|ron|rum|romanian|ro[_-][RM]O - Hebrew =
he|heb|hebrew|he[_-]IL - Thai =
th|tha|thai|th[_-]TH
๐ซ BLACKLIST
$XDG_CONFIG_HOME/lgogdownloader/blacklist.txt
This one lets you name individual files that should not be downloaded, and should not even get mentioned as orphans. (if you want to ignore files during the orphan check instead, go look at IGNORELIST, bestie ๐ซถ)
Each line in the file is one blacklist expression โ except empty lines and lines starting with #. the first few characters say what type of blacklist item it is and what flags it has. so far only regular expression (perl variant) is supported, so every line must start with the characters "Rp". after a space comes the expression itself. expressions get matched against the file path relative to whatever you set as --directory.
Example black list:
# used to store manually downloaded mods/patches/maps/, don't mention it
as orphans
Rp ^[^/]*/manual/.*
# included with every *divinity game, once is enough
Rp beyond_divinity/extras/bd_ladymageknight.zip
Rp divinity_2_developers_cut/extras/divinity_2_ladymageknight.zip
# extra 6GB is A LOT of space if you don't actually plan to mod your
game
Rp the_witcher_2/extras/the_witcher_2_redkit.zip
Rp the_witcher_2/extras/extras_pack_3_hu_pl_ru_tr_zh_.zip
Rp the_witcher_2/extras/extras_pack_2_fr_it_jp_.zip
๐ IGNORELIST
$XDG_CONFIG_HOME/lgogdownloader/ignorelist.txt
Lets you name individual files that should not be mentioned as orphans. it's basically the same as blacklist but it only kicks in when checking for orphaned files. for the formatting deets, go see BLACKLIST, same rules ๐
๐ PRIORITIES ๐
Here's the tea: if you separate values with "," when using the language and platform switches, you turn on priority-based mode โ only the first matching one gets downloaded.
For example, setting language to fr+en means both French and English get downloaded (if they're available) for all games. Setting language to fr,en means the French version (and only that one) gets downloaded if it's available, and if it's not, then the English version gets downloaded instead.
And you're allowed to "stack" codes in the priority string if you need to. if you set language to es+fr,en, that means it'll download both the Spanish (es) and French (fr) versions if they're available, and the English (en) one only if none of French and Spanish are available. the way that works... obsessed ๐ญ
๐ AVAILABILITY ๐
The latest version of this distribution is available from
https://github.com/Sude-/lgogdownloader
โจ FILES โจ
Okay bestie, let's talk about where LGOGDownloader keeps all its lil files and secrets ๐
$XDG_CONFIG_HOME/lgogdownloader/โ this is the storage spot for configuration files and cookies. If$XDG_CONFIG_HOMEisn't set, it'll use$HOME/.config/lgogdownloader/instead. ๐ช$XDG_CACHE_HOME/lgogdownloader/xml/โ storage for XML files. If$XDG_CACHE_HOMEisn't set, it falls back to$HOME/.cache/lgogdownloader/xml/. ๐$XDG_CONFIG_HOME/lgogdownloader/blacklist.txtโ this lets you specify individual files that should not be downloaded. It doesn't have to exist, but if it does exist, it must be readable to lgogdownloader. ๐ซ$XDG_CONFIG_HOME/lgogdownloader/ignorelist.txtโ this lets you specify individual files that should not be mentioned as orphans. It has the same format and interpretation as a blacklist. It doesn't have to exist, but if it does exist, it must be readable to lgogdownloader. ๐$XDG_CONFIG_HOME/lgogdownloader/gamespecific/gamename.confโ a JSON formatted file that sets game-specific settings for gamename. Allowed settings arelanguage,platform,include,ignore-dlc-count,subdirectories,directory,subdir-game,subdir-installers,subdir-extras,subdir-patches,subdir-language-packsandsubdir-dlc. It must be in the following format:
{
"language" : <string>,
"platform" : <string>,
"include" : <string>,
"ignore-dlc-count" : <bool>,
"subdirectories" : <bool>,
"directory" : <string>,
"subdir-game" : <string>,
"subdir-installers" : <string>,
"subdir-extras" : <string>,
"subdir-patches" : <string>,
"subdir-language-packs" : <string>,
"subdir-dlc" : <string>
}
$XDG_CONFIG_HOME/lgogdownloader/transformations.jsonโ another JSON formatted file, this one is used to transform gamenames. It must be in the following format:
{
<string> :
{
"regex" : <string>,
"replacement" : <string>,
"exceptions" : [
<string>,
<string>,
],
},
<string> :
{
"regex" : <string>,
"replacement" : <string>,
},
}
Member names are used to match the gamename (regex). Member names must be unique. For example, if the file contains 2 rules with "^x" then only the last one is applied. However, if you really want multiple different rules for everything starting with "x", then adding wild wildcard matches makes them unique ("^x", "^x.*", "^x.*.*"). If it matches, then regex is used for the actual replacement using the value in replacement. "exceptions" is an optional array of gamenames excluded from the rule. These are matched exactly, no regex. Example: match all games beginning with "b" and if they end with "_the" then remove "_the" at the end and prefix it with "the_" with exception of "blackwell_epiphany_the":
{
"^b" :
{
"regex" : "(.*)_the$",
"replacement" : "the_\\1",
"exceptions" : [
"blackwell_epiphany_the",
],
},
}
That's all the file tea! ๐
And that's a wrap on LGOGDownloader 3.18, dated 2025-11-03! Catch you in LGOGDOWNLOADER(1) ๐โจ
๐ฆ where this page comes from
- fedora 43: lgogdownloader 3.18-1.fc43 ยท WTFPL
- fedora 44: lgogdownloader 3.18-1.fc44 ยท WTFPL
- nixos 26.05: lgogdownloader 3.18
- ubuntu resolute: lgogdownloader 3.18-2 ยท WTFPL-2
- ubuntu stonking: lgogdownloader 3.18-2 ยท WTFPL-2
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms