Commit Graph

650 Commits

Author SHA1 Message Date
Sude
3251e9c42d Merge branch 'sizeOnly' of https://github.com/rouanth/lgogdownloader 2021-11-09 14:51:42 +02:00
Dmitry Khalanskiy
554de90f46 Add a flag to avoid hash checks 2021-09-12 10:25:37 +03:00
Sude
f69747bb88 Remove support for OpenSSL <= 1.0.2
Removes openssl thread locking callbacks required by OpenSSL <= 1.0.2
Other SSL libraries and newer OpenSSL should be handled by libcurl in a way that is thread-safe
2021-09-09 14:18:17 +03:00
Sude
521eea8522 Ignore SIGPIPE
It's possible to receive SIGPIPE sometimes which by default causes application to terminate.
This makes the downloader ignore SIGPIPE.
2021-09-09 14:03:51 +03:00
Sude
70d2fdbefc Add option --use-dlc-list
Adds new option --use-dlc-list to enable using DLC list.
Previously the downloader used DLC list by default which made getting game details very slow for not much benefit.
This makes the downloader not use DLC list by default and thus getting game details is much faster.

Before and after result of listing games with 212 game collection using "time lgogdownloader --list"

Before
real    0m36,135s
user    0m0,159s
sys     0m0,039s

After
real    0m2,226s
user    0m0,048s
sys     0m0,019s
2021-08-26 13:26:13 +03:00
Sude
9d24bd1990 Version 3.8 2021-08-25 15:21:57 +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
Sude
e43d1c46d9 Merge branch 'ssl-connect-error' of https://github.com/itoijala/lgogdownloader 2020-12-31 18:00:14 +02: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
Sude
5c64fc3074 Add language: Thai 2020-12-02 06:36:40 +02:00
Sude
18166c02e2 Merge branch 'improve-captcha-detection' of https://github.com/jetomit/lgogdownloader 2020-11-29 12:11:21 +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
Sude
dbd3514c1d Merge branch 'fix-redirect' of https://github.com/jetomit/lgogdownloader 2020-11-28 23:36:57 +02: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
Sude
f6d020b807 Merge https://github.com/grepwood/lgogdownloader into master 2020-09-26 21:50:12 +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
43bca1f878 Version 3.7 2020-04-08 09:48:46 +03: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
Sude
42b4d784f1 Better retry condition for downloads 2020-04-08 09:06:39 +03:00
Sude
aa29adf237 Fix return code for Downloader::downloadFileWithId
I accidentally reversed the return code for Downloader::downloadFileWithId when rewriting it to use Galaxy API in a884e8c0a3
This changes the success return code back to 0 like it was previously.
2020-04-07 21:33:04 +03:00
Sude
0e0a7ebc82 Version 3.6 2020-03-15 16:13:04 +02:00
Sude
6171e8bd5e Update README.md and man page 2020-03-14 18:28:42 +02:00
Sude
87d6cd4f69 Show HTTP response code in status message 2020-03-14 15:58:21 +02:00
Sude
985696f6da Automatically select appropriate size unit for total remaining
Makes the status line much more readable
2020-03-14 15:36:27 +02:00
Sude
6522247be9 Fix filenames with ampersand
Fixes issue with filenames containing ampersand.
Also fixes issue with --download-file not assigning proper filename automatically.

New method detects the path more accurately when encountering the currently used url format but in case of unknown url format it fallbacks to the old method.
2020-02-28 11:57:08 +02:00
Sude
c9f98825e5 Merge branch 'splitfiles' 2020-02-28 11:43:22 +02:00
Sude
d386bdec2e Galaxy: Improve split file support in MojoSetup hack
Read base file paths from "data/noarch/support/split_files".
This should avoid issues with potential name conflicts caused by regex detection.
2020-02-19 21:20:02 +02:00
Sude
8caca0e62a Galaxy: Add split file support to MojoSetup hack 2020-02-19 13:49:06 +02:00
Sude
0a7648d80b Use separate thread count option for info threads
Adds --info-threads option to set number of threads the downloader uses for getting product info
2020-02-17 19:33:15 +02:00
Sude
56a06133d2 Override global config values in Downloader::checkOrphans
Previously orphan checking was limited to user selected language and platform values.
This meant that by default only English language and Windows+Linux was selected.
Overriding the global config values and clearing previously got details before starting the orphan check makes --check-orphans work as intended.
2020-02-17 19:24:04 +02:00
Sude
8f69f44bb1 Check for HTTP response code 416 in Downloader::repairFile 2020-02-17 19:18:14 +02:00
Sude
de05d16651 Merge branch 'jsoncpp' of https://github.com/chewi/lgogdownloader 2019-11-21 00:31:35 +02:00
James Le Cuirot
ff353126ec
Fix find_path for newer jsoncpp release
features.h was renamed but allocator.h wasn't so the latter works with
both old and new versions.
2019-11-20 22:24:10 +00:00
Sude
8829f44e37 Remove dependency on liboauth
liboauth is no longer needed.
Removed references to oauth token and secret from code.
I forgot to remove these in 42c71884a2
2019-11-14 18:57:37 +02:00
Sude
42c71884a2 Remove old GOG downloader API
Removed all remaining code related to old API.
Removed dead or commented out code that I noticed while checking the code for references to old API.
2019-11-14 18:25:12 +02:00
Sude
a884e8c0a3 Make --download-file option use Galaxy API 2019-11-14 17:52:04 +02:00
Sude
04b63d4c76 CMake: Disable search for boost-cmake
Fixes building with Boost >= 1.70.0
https://cmake.org/cmake/help/latest/module/FindBoost.html#boost-cmake
2019-10-26 18:57:52 +03:00