Timboli: Thanks for the update.
I've been meaning to contact you in regard to the possibility of choosing which CDN we download from.
As you are no doubt aware, we are currently limited with gogcli.exe and gogrepo.py and our browsers, to using the Fastly CDN.
From what I've read, Galaxy doesn't use Fastly, and neither does Lgogdownloader, and in the parameters for Lgogdownloader there is a choice of about 5 CDN, and you can set a priority order for them.
it would be great to have something like that with gogcli.exe, as Fastly seems deliberately limited, badly so for many of us.
While I still use gogcli.exe for my manifest needs etc, I've had to turn to using curl.exe plus either aria2c.exe or fdm.exe to do the downloading. I do that to get multiple download threads per file. Without them I am limited to a maximum of 1.3 Megabytes a second download speed, often less. I never get more than that for a single thread now, whereas before that CDN issue/crash in the middle of last year, I was getting around 5 Megabytes a second with a single thread.
My thinking is that we weren't using Fastly CDN before that, and that it is GOG's fallback CDN, and now forced upon those of us who don't use Galaxy It appears Lgogdownloader can get around that limitation.
I found it (very nice codebase btw):
https://github.com/Sude-/lgogdownloader/blob/master/src/galaxyapi.cpp#L593 https://github.com/Sude-/lgogdownloader/blob/master/include/globalconstants.h#L112 Eventually, I'd be interested in exploring the Galaxy API and see what kind of optimisation I could make with that, but I've been interested in it for a while and have just been quite busy with my life & career.
At this point, with a new(ish) baby, plus another project I got going on, realistically, it might be some time (measured at least in months, maybe years) before I finally tackle this.
At this point, the main roadblock with this issue for me would be dealing with the recaptcha and the login to get a valid Galaxy token. If I integrate that, I want it to be:
- Dependable
- Cross-platform (in this day and age, all client software should run at least on Linux, Windows and Macos, no excuse, enough with the os fragmentation of desktop software)
If I go with a pure html processing solution (so that users pass their username and password and not deal with a gui), it might not be as dependable as I'd like thanks to the recaptcha and if I go with a ui integration, it might not be as cross-platform as I'd like (maybe with Tauri, I know Rust at this point, but I'd still have to rampup on the framework itself and it would be another separate tool from the client just to get the token although I'm hoping to eventually optionally embed the gogcli client in a tauri app for a graphical experience).
I might ultimately combine an html-processing solution with the Galaxy api and keep around the cookie based solution (which I know is a pain in the neck to get, but at least it is dependable and I like that a lot about it) as a backup for dependability. I'll see.