Commit graph

59 commits

Author SHA1 Message Date
wiz
b7905dcd53 lgogdownloader: update to 3.9.
Don't use DLC list by default
        Makes getting game details much faster
        Added option --use-dlc-list to enable using DLC list
    Ignore SIGPIPE
        Previously it was possible to receive SIGPIPE in some cases which by default causes application to terminate
    Removed support for OpenSSL <= 1.0.2
    Added --size-only option (Patch by: Dmitry Khalanskiy)
        When looking at the existing files, completely ignore the contents if the size matches the expected one
    Added basic support for filtering games using tags that the user can set on account page
    Added option --list-tags to list all the tags user has assigned
    Added option --tag to filter games using the tags
    Fixed --download-file option not showing progress bar
    Fixed getting XML data
    Reduced 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-05-04 13:59:09 +00:00
nia
6c79834ba8 lgogdownloader: update to 3.8
LGOGDownloader 3.8

     * Fixed headless operation (Patch by: grepwood)
     * Overwrite changelog only when modified (Patch by: Matthew Howle)
     * Added retry support to --galaxy-install
     * Changed some retry conditions
          * Don't retry on 404 errors because they are mostly produced by
            user not owning DLC for a game
          * This helps a lot when using high max retry count
     * Show reason for retry attempts
     * Show installer and patch version when listing game details
     * Fixed getting redirect URL from curl (Patch by: Timotej Lazar)
     * Improved reCAPTCHA detection (Patch by: Timotej Lazar)
     * Added support for new language: Thai
     * Retry download also on CURLE_SSL_CONNECT_ERROR (Patch by: Ismo
       Toijala))
     * Use duplicate handler for extras
     * Check for invalid path in GalaxyAPI::fileJsonNodeToGameFileVector
     * Added directory template %gamename_firstletter%
          * 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
     * 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)
2022-01-17 13:35:01 +00:00
ryoon
45fb4e2594 *: Recursive revbump from boost 1.78.0 2022-01-10 01:46:21 +00:00
adam
b6d9bd86bc revbump for icu and libffi 2021-12-08 16:01:42 +00:00
nros
a27e212e56 Revbump due to linking change in rhash 2021-10-03 19:02:46 +00:00
adam
5e7c36d9d2 revbump for boost-libs 2021-09-29 19:00:02 +00:00
adam
da0a125726 revbump for boost-libs 2021-04-21 13:24:06 +00:00
ryoon
a8e8c5c75e *: Recursive revbump from boost-1.75.0 2021-01-01 08:24:33 +00:00
nia
2c8d590893 Normalize handling packages that require 64-bit atomic ops. 2020-12-31 20:04:11 +00:00
adam
d62c903eea revbump after updating security/nettle 2020-05-22 10:55:42 +00:00
wiz
c8a064f145 lgogdownloader: update to 3.7.
Version 3.7
Check that product id selection was successful in Downloader::downloa…
Wait between retries if --wait option is used
Better retry condition for downloads
Fix return code for Downloader::downloadFileWithId
2020-05-07 18:21:15 +00:00
adam
7d4b705c63 revbump after boost update 2020-05-06 14:04:05 +00:00
nia
755e7beeb2 lgogdownloader: Update to 3.6
James Le Cuirot (1):
      Fix find_path for newer jsoncpp release

Michał Janiszewski (1):
      Add -latomic when required

Sude (26):
      Add language: Hebrew
      Galaxy: Add option to delete orphaned files
      Galaxy: Automatically delete old files when updating or downgrading
      GUI: Remove usage of QDesktopWidget
      Suppress warnings about unused parameters
      Save xml data before skipping complete file
      Retry on CURLE_RECV_ERROR
      Make Downloader::getRemoteFileHash use Galaxy API
      Don't exit when failing to get valid game details json
      CMake: Disable search for boost-cmake
      Make --download-file option use Galaxy API
      Remove old GOG downloader API
      Remove dependency on liboauth
      Check for HTTP response code 416 in Downloader::repairFile
      Override global config values in Downloader::checkOrphans
      Use separate thread count option for info threads
      Galaxy: Add split file support to MojoSetup hack
      Galaxy: Improve split file support in MojoSetup hack
      Fix filenames with ampersand
      Automatically select appropriate size unit for total remaining
      Show HTTP response code in status message
      Update README.md and man page
      Version 3.6
2020-03-22 09:12:46 +00:00
wiz
f669fda471 *: recursive bump for libffi 2020-03-08 16:47:24 +00:00
jperkin
26c1bffc9f *: Recursive revision bump for openssl 1.1.1. 2020-01-18 21:48:19 +00:00
ryoon
eedd1e806f *: Recursive revbump from devel/boost-libs 2020-01-12 20:19:52 +00:00
nia
534e93debe lgogdownloader: Needs 64-bit atomic ops on i386 2020-01-10 11:22:52 +00:00
nia
a06607fc12 lgogdownloader: Fix jsoncpp detection and remove some unused CMAKE_ARGS 2019-12-21 21:21:12 +00:00
ryoon
edacf2bbcb Recursive revbump from boost-1.71.0 2019-08-22 12:22:48 +00:00
wiz
c30c5fbc0b *: recursive bump for nettle 3.5.1 2019-07-20 22:45:58 +00:00
ryoon
57d0806c39 Recursive revbump from boost-1.70.0 2019-07-01 04:07:44 +00:00
wiz
4e408494f8 lgogdownloader: set licence 2019-05-27 15:11:07 +00:00
wiz
867400db6f lgogdownloader: update to 3.5.
Changes not found.
2019-05-27 14:04:08 +00:00
wiz
e35e0bc4fd *: recursive bump for jsoncpp with shared libraries 2019-04-09 07:09:02 +00:00
wiz
4d86abc956 lgogdownloader: update to 3.4.
Changes not found
2019-01-09 13:49:01 +00:00
adam
5b12b7b592 revbump for boost 1.69.0 2018-12-13 19:51:31 +00:00
adam
9d06c0a472 revbump after boost-libs update 2018-08-16 18:54:26 +00:00
adam
35aa3efc12 revbump for boost-libs update 2018-04-29 21:31:17 +00:00
adam
983847f667 Revbump after boost update 2018-01-01 21:18:06 +00:00
wiz
ffab0704d9 lgogdownloader: update to 3.3.
LGOGDownloader 3.3
- Updated url for login check
- Added support for new language: Ukrainian
- Added support for new language: Spanish (Latin American)
- Added option to select platform architecture for Galaxy
* Allows selecting platform architecture with "--galaxy-arch" when "osBitness" is set for depot in API response
- Check for orphaned files after installing a game with --galaxy-install
- Preserve timestamps for downloaded files
* Get timestamps from server for all downloaded files and set the last modified date to that
* Retroactively changes timestamps for previously downloaded files that have different timestamp
* Retroactively changing timestamps doesn't work for files downloaded with --galaxy-install
- Fixed help text for --subdir-installers
- Added option to set user agent
- Expose Galaxy options as experimental options in help text
- Added option to set interval for progress bar update
- Added retry limit for failed chunk repairs
* Fixes infinite loop caused by failed chunk repair
- Get game details using Galaxy API
* Most features now use Galaxy API and should work without having valid downloader API login
* --download-file still uses the old API and will not work without valid API login
* --update-check option also uses the old API and thus requires valid API login to work properly
- Game details cache version is incremented because of changes to gameFile class
- Show product id for DLCs when using --list-details option
- Fixed serials containing <br> tags
- Fixed crash when using old version of jsoncpp and trying to get unsigned int value as string
2017-11-23 20:15:07 +00:00
adam
931d707fe2 Revbump for boost update 2017-08-24 20:03:08 +00:00
ryoon
76884737ca Recursive revbump from boost update 2017-04-30 01:21:19 +00:00
wiz
e288194767 Updated lgogdownloader to 3.2.
LGOGDownloader 3.2
- Fixed crash in Website::getGames
* Sometimes JSON value for updates was null. For example when user
  owns a dlc but not the base game. This caused a crash due to std::stoi
  throwing std::invalid_argument exception.
- Changed --login to use GOG Galaxy login method
* Galaxy login tokens are stored to "$XDG_CONFIG_HOME/lgogdownloader/galaxy_tokens.json"
- Added initial support for some Galaxy API features
- Show product id for game when using --list-details
* Product id is used with some Galaxy related commands
2017-03-12 07:24:06 +00:00
wiz
3489e960f5 Updated lgogdownloader to 3.1.
LGOGDownloader 3.1
- Make libcurl usage thread-safe (Patch by: Philipp Kerling)
* libcurl internally uses signals by default, which will crash the application when using multiple threads.
* Setting CURLOPT_NOSIGNAL on all handles avoids the crashes and is recommended in the libcurl documentation.
- Made getTerminalWidth detect if it is running in a terminal before trying to get the width (Patch by: Steffan Byrne)
* Before this change, if you tried to pipe the standard out to a file or run this as a process, it would fail.
- Moved global curl init/cleanup and ssl thread setup out of the Downloader class
* Allows using libcurl calls before calling Downloader::init() which can be useful in future
- Some code restructuring
* Moved some code from Downloader::init() to constructor
* Added function API::isLoggedIn()
* Added function Downloader::isLoggedIn()
* Downloader::init() no longer calls Downloader::getGameList() it is now called from other functions when needed
- Fixed some login issues
- Limit download thread count to number of items in download queue
- Rewrote and removed lots of duplicate code from Downloader::checkStatus()
* --status now tries to get remote file hash for patches and language packs
* GOG doesn't provide xml data for extras so we still have to rely on local xml data for those
- Made --list show number of updates for games that have been updated
* Allows user to check for updated games more easily
- Replaced all printf and sprintf calls using new Util::formattedString() function
* Util::formattedString creates formatted std::string using std::snprintf
* Fixes possible buffer overflow in Downloader::printProgress() caused by sprintf call
2017-01-15 09:29:08 +00:00
adam
76632718ac Revbump after boost update 2017-01-01 16:05:55 +00:00
wiz
ec01e6965b Updated lgogdownloader to 3.0.
LGOGDownloader 3.0
- Ported code to use tinyxml2 instead of tinyxml (patch by: Ferdinand Thiessen)
- Added support for new language: Bulgarian
- Added support for parallel downloads
* Use --threads to set how many parallel downloads you want to run
* If libcurl uses openssl then libcrypto is required to compile the downloader
- Added support for getting game details in parallel
- Added support for DLC language packs
- Show average download rate after download has finished
- Fixed issue with some GOG XML data files
* Some GOG XML data files contain additional nodes/elements that were not handled properly and caused issues
- Removed obsolete getpass() calls, use termios to control terminal ECHO
- Added option to set CA certificate path
* --cacert option can be used to set path to CA certificate bundle in PEM format
* CURL_CA_BUNDLE environment variable is used if it is set and CA certificate path is not set with --cacert option
- Moved cover list to git repository
* New url: https://raw.githubusercontent.com/Sude-/lgogdownloader-lists/master/covers.xml
- Use list of games that are known to have DLC and ignore DLC count that GOG provides for those games
* Fixes issues caused by GOG providing incorrect dlc count information for games with DLC
* If local list ($XDG_CONFIG_HOME/lgogdownloader/game_has_dlc.txt) exists then remote list isn't used
* --dlc-list option is used to set url for the list (default: https://raw.githubusercontent.com/Sude-/lgogdownloader-lists/master/game_has_dlc.txt)
- Made downloader work better when invoked by Gentoo's package manager (patches by: James Le Cuirot)
* Exit with non-zero status when --list or --list-details fails
* Exit with non-zero status when at least one --download-file fails
* Add --respect-umask option to prevent adjusting permissions
2016-11-20 09:41:20 +00:00
adam
3b88bd43a5 Revbump post boost update 2016-10-07 18:25:29 +00:00
wiz
7ce9971242 Updated lgogdownloader to 2.28.
LGOGDownloader 2.28
- Fixed compiling with JsonCpp 1.7.1
- Moved GOG website related members of Downloader class to new Website class
* Downloader::HTTP_Login --> Website::Login
* Downloader::getGames --> Website::getGames
* Downloader::getFreeGames --> Website::getFreeGames
* Downloader::getGameDetailsJSON --> Website::getGameDetailsJSON
* Getting wishlist details was split from Downloader::showWishlist to Website::getWishlistItems function
- Moved login checks from the login function to their own functions
- Added function to check if user is logged in to GOG website
* Website::IsLoggedIn
- Changed gameFile format and gamedetails cache format
* gameFile now contains gamename and file type info
* Game details cache format has been changed to match gameFile changes
* Cache has a new "gamedetails-cache-version" field that can be used to detect cache format changes
- Fixed downloading language packs with file id
- Started using CURLOPT_XFERINFOFUNCTION instead of deprecated CURLOPT_PROGRESSFUNCTION
* libcurl >= 7.32.0 is required
2016-05-08 09:13:13 +00:00
wiz
4706cf8abe Update lgogdownloader to 2.27:
LGOGDownloader 2.27
- Changed build system to CMake (patch by: Sandy Carter)
- Fixed crash after login
- Added option to set automatic XML creation in config file
* --automatic-xml-creation
- Improved game specific config options
* Directory options can be overriden in game specific config file
* "platform" and "language" options allow using string to set them. Use "+" as separator to combine values and "," as separator to set priority.
* For example: this allows setting "language" to English, German and French with "en+de+fr" which is much easier to understand than setting it to "7"
- Improvements to orphan detection (patch by: Thomas J. Moore)
* blacklist applies to installed files only; use ignorelist for orphans
* blacklisted but present items are orphans, as they should be
* use exact matching for file paths: files in wrong location are orphans
* See man page for more details on how to use ignorelist
- Apply blacklist to status checker to avoid some spurious ND messages (patch by: Thomas J. Moore)
- Use cerr for password prompts, error messages, rolling status messages, and other stuff that shouldn't clutter saved stdout. (patch by: Thomas J. Moore)
- Reduce the amount of HTTP requests
* This also slightly speeds up getting game details for games with DLC
- Added option to save changelogs when downloading
* --save-changelogs
- Added support for two-step login
2016-03-13 08:49:31 +00:00
jperkin
17661ff9a5 Bump PKGREVISION for security/openssl ABI bump. 2016-03-05 11:27:40 +00:00
wiz
5c061fe4ab Update lgogdownloader to 2.26:
LGOGDownloader 2.26
- Check that stdin is a tty before reading (patch by: Stephen Kitt)
- Added version string and number to cached game details
- Fixed priority handling for DLCs
- Combined priority handling with --platform and --language options
* Use "+" as separator to combine values and "," to set priority
* Syntax for --platform and --language options was changed: see --help or man page for details
- Added support for new language: Slovak
- Use include/exclude options to choose what files to download
* --cover, --no-cover, --no-installers, --no-extras, --no-patches, --no-language-packs and --no-dlc options have been removed
* Default: --include "all" --exclude "covers"
* See --help for available options
2015-10-18 23:09:32 +00:00
wiz
8b04e122da Update to 2.25:
LGOGDownloader 2.25
- Added options to login separately to website and API
* --login-api
* --login-website
* Makes it possible to use cookies exported from browser (helps if
  user gets reCAPTCHA on login form)
- Added detection of reCAPTCHA during login
- Changed path for game specific config files
* Game specific config files are now located in
  $XDG_CONFIG_HOME/lgogdownloader/gamespecific/gamename.conf
- Added support for ignoring dlc count information using game
  specific config file with --list option
- Removed --no-deb and --no-targz options
* GOG no longer provides deb and tarball archives
- Implemented gogdownloader:// protocol download (patch by: Sandy
  Carter)
* Implements the following commands:
* lgogdownloader gogdownloader://GAME_NAME/FILE_ID
* lgogdownloader --download-file gogdownloader://GAME_NAME/FILE_ID
* lgogdownloader
  gogdownloader://GAME_NAME_1/FILE_ID_1,GAME_NAME_2/FILE_ID_2,...
* lgogdownloader --download-file
  gogdownloader://GAME_NAME_1/FILE_ID_1,GAME_NAME_2/FILE_ID_2,..
- Added option to specify output filename (patch by: Sandy Carter)
* Adds -o and --output-file option to specify path and downloaded
  file name when using --download-file
- Removed tarball specific code from API implementation
- Fixed priority handling with duplicate values
- Added support for using strings to set language, language-priority,
  platform and platform-priority instead of using numbers
- Fixed retry on operation timeout
2015-09-13 07:32:49 +00:00
wiz
dd79c21bbf Update to 2.24:
LGOGDownloader 2.24
- Downloader::repairFile now creates new XML data on filesize
  mismatches
- Added check for extras missing filenames
* Extras without filename are skipped
- Added order-only prerequisite to OBJ_RELEASE and OBJ_DEBUG in
  Makefile
- Added option to ignore DLC count information
* --ignore-dlc-count option sets regular expression for games to
  ignore DLC count
* Game specific option "ignore-dlc-count" can be set in
  $XDG_CONFIG_HOME/lgogdownloader/gamename.conf
- Better startup time when using --game regex especially when using
  generic --ignore-dlc-count='.*' (patch by: Petr BÄhan)
- Added support for Brazilian Portuguese
- Platform and language constants are now set using left shift to
  make code easier to understand
- Better handling of connection issues
* Assume that we have connection error and abort/retry transfer if
  download speed is less than 200 B/s for 30 seconds
- Fixed issue with incomplete files when using --status option
- JSON parsing failure in Downloader::getGames is assumed to be
  caused by expired cookies and user is told to try --login
- Fixed handling large files on 32 bit platforms (patch by: Erik
  Fleischer)
- The downloader now deletes old cookies before login attempt when
  using --login
* Helps with some login issues
- Json::Reader::getFormattedErrorMessages is now used instead of
  deprecated getFormatedErrorMessages
* jsoncpp >= 0.6.0 required
2015-07-12 08:32:08 +00:00
wiz
dfdba4743d Update to 2.23:
LGOGDownloader 2.23
- Option to show wishlist is no longer saved to config file
- Added simple login check as a fallback to current complex HTTP login check
* This fallback method should work even if GOG changes the site layout as long as account page location remains the same
- Fixed error with login when cookies didn't exist but API login worked because config.cfg contained valid secret and token

LGOGDownloader 2.22
- Added option to download files by using file id
* --download-file "gamename/fileid"
- Fixed multiple DLCs when using cache (patch by: Ismo Toijala)
- Made progressbar display 10 second average download speed instead of average for the whole download
- Added support for new account page layout
- Added --wishlist option to show wishlist
- Makefile change: "make install" will now install debug build if it has been built
2015-05-27 06:49:59 +00:00
wiz
518c32e5af Update to 2.21:
- Make sure that file is regular file when getting local hash
- Fixed crash in Downloader::checkStatus
- Ignore extras without filename
  These are usually extras that haven't been released yet so they
  can't be downloaded anyway
- Changed jsoncpp include path from <jsoncpp/json/json.h> to
  <json/json.h>
- Added support for saving serial keys
  Serials are saved to "serials.txt" when using --save-serials with
  --download and listed in the output when used with --list-details
- Show more info on HTTP error in API::getResponse when using debug
  build
- Added option to skip fast platform detection
  --no-platform-detection skips the initial fast platform detection
  and detects the supported platforms from game details which is
  slower but more accurate.
  Useful in case platform identifier is missing for some games in
  the game shelf.
- Fixed downloader skipping some files because of uncleared API
  error state
- Show url in http error messages
2015-04-19 18:08:00 +00:00
adam
4606c07235 Revbump after updating devel/boost-libs 2015-04-17 15:52:56 +00:00
wiz
e4994afc46 Try making this parallel jobs safe for joerg. 2015-01-10 20:25:57 +00:00
joerg
775b36c4e9 Not MAKE_JOBS_SAFE. 2015-01-09 14:29:10 +00:00
wiz
e0d10ab04e Update to 2.20:
LGOGDownloader 2.20
- Added priority handling of platforms and languages (patch by: Gael Le Mignot)
- Made config and cookie files only readable/writable by the owner
- Fixed using --update-cache with --use-cache
- Fixed regex alias "all" for cached details
- Made the downloader continue on API error instead of breaking off in Downloader::getGameDetails
- Made progress bar adapt to terminal width
* Progress bar gets smaller if there isn't enough space to display the full progress bar
* Progress bar isn't drawn if the terminal window is too small
2014-12-07 09:20:19 +00:00
adam
8e3b70e314 Revbump after updating boost 2014-11-07 19:39:24 +00:00