solar_dome: If md5 is not supported officially, and not supplied for extra files (zip)
The extras (zip files) don't really need the md5 checksums, the zip file integrity is checked by the script I think. That's good enough confirmation of integrity for me. EDIT: Yeah what immi said above.
Anyway, 99% of GOG game installers, at least the English Windows versions, seem to have the md5 checksum, at least for the 1292 GOG games I have. And quite often the missing md5 checksum is for some update patch, not the main installer files. These are the md5 checksum fetching errors I encountered the last time I ran gogrepo (on 8th of August, fetching only English Windows versions):
21:24:21 | ( 8 / 1292) fetching game details for a_golden_wake...
21:24:28 | xml parsing error occurred trying to get md5 data for setup_a_golden_wake_2.0.0.4.exe
22:07:28 | ( 145 / 1292) fetching game details for broken_age...
22:07:44 | request failed: HTTP Error 404: Not Found. will not retry.
22:07:44 | no md5 data found for patch_broken_age_2.3.0.10.exe
22:15:53 | ( 172 / 1292) fetching game details for chaos_reborn...
22:16:10 | xml parsing error occurred trying to get md5 data for patch_chaos_reborn_2.8.0.9.exe
00:16:01 | ( 559 / 1292) fetching game details for kyn...
00:16:08 | request failed: HTTP Error 404: Not Found. will not retry.
00:16:08 | no md5 data found for setup_kyn_2.1.0.4.exe
00:16:13 | request failed: HTTP Error 404: Not Found. will not retry.
00:16:13 | no md5 data found for setup_kyn_2.1.0.4-1.bin
03:38:03 | (1220 / 1292) fetching game details for walking_dead_season_1_the...
03:38:19 | request failed: HTTP Error 404: Not Found. will not retry.
03:38:19 | no md5 data found for patch_walking_dead_season_1_2.1.0.5.exe
03:51:47 | (1263 / 1292) fetching game details for x3_terran_war_pack...
03:51:55 | xml parsing error occurred trying to get md5 data for setup_x3_terran_war_pack_2.2.0.5.exe
03:52:00 | xml parsing error occurred trying to get md5 data for setup_x3_terran_war_pack_2.2.0.5-1.bin
03:52:05 | xml parsing error occurred trying to get md5 data for setup_x3_terran_war_pack_2.2.0.5-2.bin
03:52:14 | xml parsing error occurred trying to get md5 data for patch_x3_terran_war_pack_2.2.0.5.exe
So I guess for those particular files gogrepo can currently only verify that the filesize is correct, and that's all.
If additional verification methods for installers would be added to the script, I presume checking the md5 checksum should still be the primary method, I presume it is the fastest way to verify? So maybe the priority could go something like this:
1. If a md5 checksum exists for the file, check it. If not, then:
2. if it is a zip file, test the zip file integrity (CRC for the extras). If not, then:
3. Test the installer files with innoextractor.
4. If for some reason none of the above works, then just check the filesize?