Commit Graph

396 Commits

Author SHA1 Message Date
Sude
9cd85f69cb Don't try to get details for unowned DLCs 2023-03-28 00:57:00 +03:00
Sude
b520eb8f2f Speedup cache update
Don't override Globals::globalConfig.sIgnoreDLCCountRegex in Downloader::updateCache()
Changed how getting game details JSON is handled in Downloader::getGameDetailsThread
2023-03-27 22:20:09 +03:00
Sude
3f6b2315eb Fix getting DLC names 2023-03-27 22:09:13 +03:00
Sude
a81d63b375 Fix cookies getting overwritten
Sometimes curl handles in downloader and galaxy api class could overwrite cookies with blank cookies
Fixed this by not setting CURLOPT_COOKIEJAR by default and only using it for curl handles in website class
2023-03-24 16:08:01 +02:00
Sude
20cce5abbb Make --list able to list tags
Removed --list-tags option
Also changed the default option name "no_details" to "games"
2023-03-14 22:24:52 +02:00
Sude
9e49b6fa20 Always use array value when listing game details in JSON format 2023-03-14 09:57:10 +02:00
Sude
c9198d672d Added option to list game details as JSON
Removed --list-details option
Added --list-format to select a format that --list uses

"no_details" is the same as --list previously and the default value
"details" is the same as --list-details was previously
"json" is JSON formatted output
2023-03-13 22:25:33 +02:00
Sude
dcfd368fa0 Be more clear which url to copy & paste during login 2023-03-12 15:57:53 +02:00
Sude
c26e28a564 Refactor login code
Users can now get around reCATPCHA without the downloader being built with GUI enabled by using their browser to login
2023-03-12 15:16:49 +02:00
Sude
78c8f43576 Don't use depracated libcurl options
Use CURLINFO_SPEED_DOWNLOAD_T instead of CURLINFO_SPEED_DOWNLOAD
Use CURLOPT_UPLOAD instead of CURLOPT_PUT
2022-12-28 00:46:29 +02:00
Sude
e5d347d5b2 Add option to set message verbosity level
Replaced --verbose option with --verbosity to better control message verbosity
2022-12-16 13:35:37 +02:00
Gordon
ba4d04e4c8 Extended global flag bSizeOnly into status text generation 2022-11-18 18:17:16 +00:00
Sude
211a0a80b3 Galaxy: Add initial support for ignoring DLCs
Adds support to ignore all DLCs when installing game with --galaxy-install
2022-10-01 20:31:04 +03:00
Sude
626aa681c9 Galaxy: Fix MojoSetup hack for files that have missing XML data
Try to get file size using Content-Length header if XML data is missing
2022-10-01 20:28:03 +03:00
loki-47-6F-64
b778370a52 Fix rare error for logging in 2022-08-09 11:07:08 +02:00
loki-47-6F-64
aba2c3c9c5 Handle default locations 2022-08-08 14:20:52 +02:00
loki-47-6F-64
f8852e9ad5 Add the abillity to delete cloud saves 2022-08-04 23:55:18 +02:00
loki-47-6F-64
6870330eab Add the abillity to force upload/download of cloud saves even if up-to-date 2022-08-04 23:27:04 +02:00
loki-47-6F-64
4ff846e5cd Add a whitelist and blacklist for cloud saves 2022-08-04 23:04:37 +02:00
loki-47-6F-64
5db36f6b7f show shorter path for cloud saves 2022-08-04 20:44:05 +02:00
loki-47-6F-64
0b8a762953 Don't skip incomplete download coud saves 2022-08-04 20:18:14 +02:00
loki-47-6F-64
33ec0434aa Upload local saves to the cloud 2022-08-04 16:57:15 +02:00
loki-47-6F-64
829d263bc7 Show local cloud save files 2022-08-03 14:53:45 +02:00
loki-47-6F-64
c97a828aa7 Download cloud save files 2022-08-02 18:36:31 +02:00
loki-47-6F-64
c4f604aec0 Show cloud save paths 2022-07-31 14:11:32 +02:00
loki-47-6F-64
8e046e977d Rudimentary support for showing location of local saves for cloud saves 2022-07-28 21:11:44 +02:00
Sude
983592d09e Reduce the amount of request to cdn with --galaxy-install
Should fix the issue of getting temporarily blocked by GOG cdn when installing game with lots of small files
2022-02-17 10:30:38 +02:00
Sude
30f698867c Fix getting XML data
GOG changed something and now the server sometimes responds with gzip compressed XML data
Set CURLOPT_ACCEPT_ENCODING to enable decoding of a response when Content-Encoding header is received
Moved zlib decompression from GalaxyAPI::getResponse to GalaxyAPI::getResponseJson and made it automatic when detecting zlib header
2022-02-16 14:50:19 +02:00
Sude
ab3a2019e4 Fix --download-file option not showing progress bar 2021-11-20 12:02:42 +02:00
Sude
695916af4c Add support for tags
Adds basic support for filtering games using tags that the user can set on account page
Add option --list-tags to list all the tags user has assigned
Add option --tag to filter games using the tags
2021-11-09 14:59:42 +02:00
Dmitry Khalanskiy
554de90f46 Add a flag to avoid hash checks 2021-09-12 10:25:37 +03:00
Sude
209d83143e Skip files that are listed by API for information purposes only
For some games the API shows files with "count" and "total_size" of zero meaning that they are not available to download
These are listed on account page for information purpose only (for example to show DLCs included in the installer)
2021-08-13 15:22:48 +03:00
Sude
4e09d6357e Add directory template %gamename_firstletter%
Feature request by "coffeecup" on GOG forums
Useful for sorting big libraries with --subdir-game option
Takes the first letter from %gamename%
If %gamename% begins with a number then 0 (zero) is used instead
2021-08-06 11:46:07 +03:00
Sude
d307d22195 Check for invalid path in GalaxyAPI::fileJsonNodeToGameFileVector
Skip the file if we get invalid path for some reason.
This should help with issue #200 (Crashes when downloading "secure")
2021-08-06 11:25:54 +03:00
Sude
584fef3988 Use duplicate handler for extras
Makes downloader use duplicate handler for extras
This should help to avoid a race condition mentioned in issue #200 (Crashes when downloading "secure") because the downloader no longer tries to download the same file from multiple threads
2021-08-06 11:23:02 +03:00
Sude
eef1d4d15e Make failure to set timestamp not critical
Print warning message about the error but continue instead of dying
2021-04-06 18:16:35 +03:00
Sude
04592d512a Don't change globalConfig.bLogin value in Downloader::isLoggedIn 2021-03-31 15:39:18 +03:00
Sude
36181afb4d Fix return value of Downloader::login
https://github.com/Sude-/lgogdownloader/issues/194
2021-03-30 16:22:52 +03:00
Ismo Toijala
3bc9efef6c Retry download also on CURLE_SSL_CONNECT_ERROR
Sometimes the download fails with CURLE_SSL_CONNECT_ERROR and retrying
is successful.
Sometimes multiple retries are needed, but that is already handled by
the existing code.
2020-12-30 11:36:38 +02:00
Timotej Lazar
649fa40656 Improve recaptcha detection
Recaptcha form can be served from different domains, so look for the
form class instead.
2020-11-29 10:37:44 +01:00
Timotej Lazar
8fe1fc4118 Fix getting redirect URL from curl
The char* set by curl_easy_getinfo may not be valid after the next
curl_easy_perform, so copy it to a std::string instead.
2020-11-28 22:31:54 +01:00
Sude
fe7fad300b Show installer and patch version when listing game details 2020-11-27 21:46:12 +02:00
Sude
26315b23b8 Add retry support to --galaxy-install
Added retry support to --galaxy-install
Changed some retry conditions
Show reason for retry attempts
Added some Curl related helper functions to Util
2020-09-26 22:09:38 +03:00
Sude
17bebfc374 Merge branch 'changelog' of https://github.com/mdhowle/lgogdownloader into master 2020-09-26 21:52:31 +03:00
Matthew Howle
5cef659e98
Adjust wording to be more precise
The variable name "current_changelog" was ambiguous. It could apply to both the newly obtained changelog from GOG and the previously saved changelog on the filesystem.
2020-09-20 00:33:56 -04:00
Matthew Howle
80b5d41eb6 Overwrite changelog only when modified 2020-07-08 19:11:27 -04:00
grepwood@sucs.org
9772e66894 Confirmed working headless operation. 2020-04-17 19:24:28 +02:00
grepwood@sucs.org
6ba2a7d486 When run in non-TTY, attempt to recycle cookies and tokens if they exist. 2020-04-17 14:55:43 +02:00
Sude
4997a45597 Check that product id selection was successful in Downloader::downloadFileWithId
Fixes possible issue where downloader tries to get product info even though it failed to get valid product id beforehand
2020-04-08 09:41:21 +03:00
Sude
d6c226c5d7 Wait between retries if --wait option is used 2020-04-08 09:22:58 +03:00