It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

×
I've downloaded a bunch of offline installers but I don't really know how to verify the integrity of those files apart from using the option during installation. Is there like a way to get MD5/SHA256 hash values for me to compare against these files? Are there any tools to automate this?
No posts in this topic were marked as the solution yet. If you can help, add your reply
github.com/hippie68/gogcheck

gogcheck

Bash script for the purpose of scanning your GOG offline installer collection for valid digital signatures and correct checksums, making sure your downloads have not been modified by someone else.
avatar
Hurricane0440: I've downloaded a bunch of offline installers but I don't really know how to verify the integrity of those files apart from using the option during installation. Is there like a way to get MD5/SHA256 hash values for me to compare against these files? Are there any tools to automate this?
There is a list I believe at some GOGDB page.

Other than that, you can use InnoExtract with the test option.
It can be a very slow and long process, depending on game file sizes, because it checks every file inside the EXE and any accompanying BIN files. This is basically the same as checking during install, but without installing, so significantly quicker than that.

And then there is one of the third party apps available here, that use the GOG SDK or API to get the values in a manifest. They are gogcli.exe, gogrepo.py and lgogdownloader.

They just help check the integrity of the downloaded EXE or BIN file, not their content, so much faster. Basically this would be similar or the same as what Galaxy does.
avatar
Timboli: There is a list I believe at some GOGDB page.
I searched all over GOGDB but I didn't find any list containing hash values. Where exactly can I get it?
avatar
Timboli: And then there is one of the third party apps available here, that use the GOG SDK or API to get the values in a manifest. They are gogcli.exe, gogrepo.py and lgogdownloader.
I checked lgogdownloader (can be installed via my package manager) but it doesn't specifically mention about verifying the integrity of an installer. Are you talking about the "--repair" option?
Post edited June 26, 2024 by Hurricane0440
avatar
Hurricane0440: I searched all over GOGDB but I didn't find any list containing hash values. Where exactly can I get it?
It's Github rather than GOGDB. The "AIO" looks to be an All-in-One list of all games tested:-
https://raw.githubusercontent.com/GOG-Games-com/MD5-for-GOG.com/main/AiO.md5
Post edited June 26, 2024 by AB2012
avatar
Hurricane0440: I searched all over GOGDB but I didn't find any list containing hash values. Where exactly can I get it?
avatar
AB2012: It's Github rather than GOGDB. The "AIO" looks to be an All-in-One list of all games tested:-
https://raw.githubusercontent.com/GOG-Games-com/MD5-for-GOG.com/main/AiO.md5
Cool. Thanks for giving me the link. Anyway, is this the official GitHub account for GOG or has someone else set it up?
Post edited June 26, 2024 by Hurricane0440
avatar
Hurricane0440: Cool. Thanks for giving me the link. Anyway, is this the official GitHub account for GOG or has someone else set it up?
It's unofficial. It appears to be updated weekly though it relies on community effort rather than GOG themselves.
Post edited June 26, 2024 by AB2012
avatar
Hurricane0440: Cool. Thanks for giving me the link. Anyway, is this the official GitHub account for GOG or has someone else set it up?
avatar
AB2012: It's unofficial. It appears to be updated weekly though it relies on community effort rather than GOG themselves.
I see. Thanks for clarifying that. I would prefer an official source but this works too. Do you have any idea where they happen to get these hash values? It's not mentioned at all on the GitHub page. Though, I checked some of my games against the list and it seems to match.
Post edited June 26, 2024 by Hurricane0440
avatar
Hurricane0440: I see. Thanks for clarifying that. I would prefer an official source but this works too. Do you have any idea where they happen to get these hash values? Though, I checked some of my games against the list and it seems to match.
I think it's collated from .xml metadata files from the GOG website itself:-
https://openuserjs.org/scripts/xmanacollectorx/GOG_Checksum_Lookup

Edit: By that I mean start downloading an offline installer file, then in your web-browser's download section select "Copy Download Link" then paste that into the browser's URL bar, add .xml to the end of it then press Enter and you should see an xml "webpage" open starting with a line like (example for Deus Ex:-)

<file name="setup_deus_ex_goty_1.112fm(revision_1.6.3.0)_(51757).exe" available="1" notavailablemsg=""
md5="9dd2b837300bfa19c6b5b8fde5d38df6" chunks="53" timestamp="2021-11-26 14:24:56" total_size="550072224">

Do an .md5 checksum of that downloaded file and it should match (as should the "total_size" file size in bytes).
Post edited June 26, 2024 by AB2012
Okay. It seems you can check the integrity of your installers, dlcs, patches and extras with lgogdownloader if you run the command "lgogdownloader --status --no-status-check --game [game_name]". I've tested it and it works pretty well.

Thanks to AB2012, Timboli and direspirefirewire for all your help! :-)

Docs

$ lgogdownloader --help

--status Show status of files

Output format:
statuscode gamename filename filesize
filehash

Status codes:
OK - File is OK
ND - File is not downloaded
MD5 - MD5 mismatch, different version
FS - File size mismatch, incomplete
download

--no-fast-status-check Don't use fast status check.
Makes --status much slower but able to
catch corrupted files by calculating
local file hash for all files.
Post edited June 26, 2024 by Hurricane0440