ebkr / r2modmanPlus

A simple and easy to use mod manager for several games using Thunderstore
MIT License
1.14k stars 181 forks source link

[BUG] - Infinite downloading #349

Closed ark0f closed 3 years ago

ark0f commented 3 years ago

Describe the bug Infinite downloading

To Reproduce Steps to reproduce the behavior:

  1. Install or update any mod

Expected behavior Mods are downloading successfully

Screenshots

Additional context I started r2modman (as admin, too), entered Default profile and tried to download and update mods.

ebkr commented 3 years ago

Hi, this issue is commonly associated with local issues.

Try restarting your router, and once reconnected, relaunch the manager.

ark0f commented 3 years ago

It's not local issues.

I see mod manager make HTTP request:

If I make request myself using cURL:

Bad Request ``` # curl -v thunderstore.io/package/download/tristanmcpherson/R2API/2.5.14/ * Trying 139.59.214.159:443... * Connected to thunderstore.io (139.59.214.159) port 80 (#0) > GET /package/download/tristanmcpherson/R2API/2.5.14/ HTTP/1.1 > Host: thunderstore.io > User-Agent: curl/7.70.0 > Accept: */* > * Mark bundle as not supporting multiuse < HTTP/1.1 400 Bad Request < Content-Type: text/plain; charset=utf-8 < Connection: close < { [15 bytes data] * Closing connection 0 ```

If I force HTTPS:

Successful ``` # curl -v https://thunderstore.io/package/download/tristanmcpherson/R2API/2.5.14/ * Trying 139.59.214.159:443... * Connected to thunderstore.io (139.59.214.159) port 443 (#0) * ALPN, offering h2 * ALPN, offering http/1.1 * successfully set certificate verify locations: * CAfile: C:/msys64/mingw64/ssl/certs/ca-bundle.crt CApath: none } [5 bytes data] * TLSv1.3 (OUT), TLS handshake, Client hello (1): } [512 bytes data] * TLSv1.3 (IN), TLS handshake, Server hello (2): { [58 bytes data] * TLSv1.2 (IN), TLS handshake, Certificate (11): { [2558 bytes data] * TLSv1.2 (IN), TLS handshake, Server key exchange (12): { [300 bytes data] * TLSv1.2 (IN), TLS handshake, Server finished (14): { [4 bytes data] * TLSv1.2 (OUT), TLS handshake, Client key exchange (16): } [37 bytes data] * TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1): } [1 bytes data] * TLSv1.2 (OUT), TLS handshake, Finished (20): } [16 bytes data] * TLSv1.2 (IN), TLS handshake, Finished (20): { [16 bytes data] * SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384 * ALPN, server accepted to use h2 * Server certificate: * subject: CN=thunderstore.io * start date: Sep 27 18:40:44 2020 GMT * expire date: Dec 26 18:40:44 2020 GMT * subjectAltName: host "thunderstore.io" matched cert's "thunderstore.io" * issuer: C=US; O=Let's Encrypt; CN=Let's Encrypt Authority X3 * SSL certificate verify ok. * Using HTTP2, server supports multi-use * Connection state changed (HTTP/2 confirmed) * Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0 } [5 bytes data] * Using Stream ID: 1 (easy handle 0x26121f0) } [5 bytes data] > GET /package/download/tristanmcpherson/R2API/2.5.14/ HTTP/2 > Host: thunderstore.io > user-agent: curl/7.70.0 > accept: */* > { [5 bytes data] * Connection state changed (MAX_CONCURRENT_STREAMS == 250)! } [5 bytes data] < HTTP/2 302 < content-type: text/html; charset=utf-8 < date: Tue, 17 Nov 2020 07:49:02 GMT < location: https://cdn.thunderstore.io/live/repository/packages/tristanmcpherson-R2API-2.5.14.zip < server: Caddy < server: gunicorn/20.0.4 < x-content-type-options: nosniff < x-frame-options: DENY < content-length: 0 < { [0 bytes data] * Connection #0 to host thunderstore.io left intact ```
ebkr commented 3 years ago

The URL used is provided through the Thunderstore API. Forcing the HTTPS protocol is less than ideal.

This still seems like a local issue where your PC is refusing to send a standard HTTP request.

image

(See download_url above)

ark0f commented 3 years ago

Oh, you were right. Sorry for wasted time. My computer was running GoodbyeDPI that was changing HTTP requests