Skip to content

Fails to download an asset from github release page #2185

@JulesFouchy

Description

@JulesFouchy

Hi! I'm writing a launcher for my project and want to download zip files from github release page. It used to work just fine until a few days ago (I did not change the code, it seems like GitHub changed some things to their internal Azure storage). Now I get this error:

<?xml version="1.0" encoding="utf-8"?><Error><Code>AuthenticationFailed</Code><Message>Server failed to authenticate the 
request. Make sure the value of Authorization header is formed correctly including the signature.
RequestId:efc27f94-301e-0053-0149-f9c261000000
Time:2025-07-20T07:42:58.3240330Z</Message><AuthenticationErrorDetail>Signature did not match. String to sign used was r

2025-07-20T08:28:42Z
/blob/releaseassetproduction/github-production-release-asset/368971275/c22fddc5-a928-4e16-b104-3450021000b2
96c2d410-5711-43a1XXXXXXXXXXXXXXXXXX
398a6654-997b-47e9-b12b-9515b896b4de
2025-07-20T07:28:01Z
2025-07-20T08:28:42Z
b
2018-11-09

https
2018-11-09
b
https
2018-11-09
b
2018-11-09
b

b


attachment;+filename=Coollab-Windows.zip


attachment;+filename=Coollab-Windows.zip

attachment;+filename=Coollab-Windows.zip
attachment;+filename=Coollab-Windows.zip


application/octet-stream</AuthenticationErrorDetail></Error>

Here is a minimal example to reproduce:

#include <httplib.h>
#include <iostream>

int main()
{
    httplib::SSLClient client("github.com");
    client.set_follow_location(true);

    auto res = client.Get("/Coollab-Art/Coollab/releases/download/1.1.0_UI-Scale/Coollab-Windows.zip");

    if (!res)
    {
        std::cout << "Request failed: " << httplib::to_string(res.error()) << std::endl;
        return 1;
    }

    std::cout << "Status: " << res->status << std::endl;

    if (res->status != 200)
        std::cout << "Response body: " << res->body << std::endl;
    else
        std::cout << "Success! Downloaded " << res->body.size() << " bytes" << std::endl;

    return 0;
}

Important to note:

  • This Python script has no problems downloading the zip:
import requests

url = "https://github.com/Coollab-Art/Coollab/releases/download/1.1.0_UI-Scale/Coollab-Windows.zip"

with requests.get(url, stream=True) as r:
    r.raise_for_status()

print("Download complete.")
  • This curl command fails curl -L "https://github.com/Coollab-Art/Coollab/releases/download/1.1.0_UI-Scale/Coollab-Windows.zip" with the error curl: (35) schannel: next InitializeSecurityContext failed: CRYPT_E_NO_REVOCATION_CHECK (0x80092012) - The revocation function was unable to check revocation for the certificate., but this one succeeds: curl -L -k "https://github.com/Coollab-Art/Coollab/releases/download/1.1.0_UI-Scale/Coollab-Windows.zip" (with the -k flag to disable SSL certificate verification, but doing client.enable_server_certificate_verification(false); doesn't help)
  • Once the zip is downloaded once (either manually via a browser, or using the Python script, or curl) then the C++ code is able to download the zip (for a few hours, until it starts breaking again). So here are a few other failing URLs if you need to test:

"https://github.com/Coollab-Art/Coollab/releases/download/1.4.1-Spout_OUT/Coollab-Windows.zip"
"https://github.com/Coollab-Art/Coollab/releases/download/1.4.0-Spout_OUT/Coollab-Windows.zip"
"https://github.com/Coollab-Art/Coollab/releases/download/1.3.3-Color_Themes/Coollab-Windows.zip"
"https://github.com/Coollab-Art/Coollab/releases/download/1.3.2-Color_Themes/Coollab-Windows.zip"
"https://github.com/Coollab-Art/Coollab/releases/download/1.3.1-Color_Themes/Coollab-Windows.zip"
"https://github.com/Coollab-Art/Coollab/releases/download/1.3.0-Color_Themes/Coollab-Windows.zip"
"https://github.com/Coollab-Art/Coollab/releases/download/1.2.0-MacOS/Coollab-Windows.zip"
"https://github.com/Coollab-Art/Coollab/releases/download/1.1.1_UI-Scale/Coollab-Windows.zip"
"https://github.com/Coollab-Art/Coollab/releases/download/1.1.0_UI-Scale/Coollab-Windows.zip"
"https://github.com/Coollab-Art/Coollab/releases/download/1.0.1_Launcher/Coollab-Windows.zip"
"https://github.com/Coollab-Art/Coollab/releases/download/1.0.0-Launcher/Coollab-Windows.zip"

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions