On Wednesday, January 14th, 2026 at 1:10 PM, Ronald Klop <[email protected]> 
wrote:

> 
> 
> Van: ruby R53 <[email protected]>
> Datum: woensdag, 14 januari 2026 15:41
> Aan: Ronald Klop <[email protected]>, Current FreeBSD 
> <[email protected]>
> Onderwerp: Re: Change fetch addresses for Rust crates, Python packages and 
> whatnot?
> 
> > On Wednesday, January 14th, 2026 at 4:11 AM, Ronald Klop 
> > <[email protected]> wrote:
> > 
> > >
> > >
> > > Van: ruby R53 <[email protected]>
> > > Datum: woensdag, 14 januari 2026 03:26
> > > Aan: [email protected]
> > > Onderwerp: Change fetch addresses for Rust crates, Python packages and 
> > > whatnot?
> > >
> > > > I've been trying to compile www/chromium for literal days now, all 
> > > > because whenever `make` runs `fetch`, it goes to an address that's 
> > > > actually supposed to redirect to another one, but `fetch` instead keeps 
> > > > trying for a whole minute until it ultimately falls back to 
> > > > distcache.freebsd.org, which is another whole minute of waiting for the 
> > > > file to download. The cherry on top is that the file is, most of the 
> > > > time, just hundreds of kilobytes in size.
> > > >
> > > > Hell, I even had to manually download part of these individual files 
> > > > using that Links web browser··· it'd do it a lot faster than `fetch`, 
> > > > all because it actually followed the redirection and didn't just keep 
> > > > trying over and over. But of course I wouldn't manually download 
> > > > hundreds upon hundreds of archive files, this is the reason why such 
> > > > tool exists.
> > > >
> > > > So here's an example: currently one of the missing dependencies for 
> > > > www/chromium is GTK3, which depends on graphics/librsvg2-rust, which 
> > > > then depends on cargo-c. It's now trying to fetch dunce-1.0.5.crate, 
> > > > which is one of the crates required for it, from 
> > > > https://crates.io/api/v1/crates/dunce/1.0.5/download?dummy=/rust/crates/dunce-1.0.5.crate.
> > > >  Running `curl` on this link does literally nothing, no files are 
> > > > downloaded. But running it on any web browser instantly downloads the 
> > > > crate in question, all because that link actually redirects to 
> > > > https://static.crates.io/crates/dunce/dunce-1.0.5.crate. Even `curl`ing 
> > > > that new link does give the file I want. Same applies for Python 
> > > > packages.
> > > >
> > > > Now imagine this for all the remaining files··· if it takes about 2 
> > > > minutes to download a single file, and there's 398 crate entries on 
> > > > cargo-c's `Makefile.crates`, that means it'd take a whole 796 minutes 
> > > > to download everything, which is literally more than half a day (~13.6 
> > > > hours) :)
> > > >  
> > >
> > >
> > >
> > > Can you copy-paste the output of the following command in a reply?
> > > fetch -vv 
> > > "https://crates.io/api/v1/crates/dunce/1.0.5/download?dummy=/rust/crates/dunce-1.0.5.crate";
> > >
> > > For me it immediately follows the redirect and downloads the file in half 
> > > a second. See the output below.
> > >
> > > Regards,
> > > Ronald.
> > >
> > >
> > > -- 
> > >
> > > time fetch -vv 
> > > "https://crates.io/api/v1/crates/dunce/1.0.5/download?dummy=/rust/crates/dunce-1.0.5.crate";
> > > scheme:   "https"
> > > user:     ""
> > > password: ""
> > > host:     "crates.io"
> > > port:     "0"
> > > document: 
> > > "/api/v1/crates/dunce/1.0.5/download?dummy=/rust/crates/dunce-1.0.5.crate"
> > > ---> crates.io:443
> > > resolving server address: crates.io:443
> > > SSL options: 82004850
> > > Peer verification enabled
> > > Using OpenSSL default CA cert file and path
> > > Verify hostname
> > > TLSv1.3 connection established using TLS_AES_128_GCM_SHA256
> > > Certificate subject: /CN=crates.io
> > > Certificate issuer: /C=US/O=Amazon/CN=Amazon RSA 2048 M01
> > > requesting 
> > > https://crates.io/api/v1/crates/dunce/1.0.5/download?dummy=/rust/crates/dunce-1.0.5.crate
> > > >>> GET 
> > > >>> /api/v1/crates/dunce/1.0.5/download?dummy=/rust/crates/dunce-1.0.5.crate
> > > >>>  HTTP/1.1
> > > >>> Host: crates.io
> > > >>> Accept: */*
> > > >>> User-Agent: fetch libfetch/2.0
> > > >>> Connection: close
> > > >>>
> > > <<< HTTP/1.1 302 Moved Temporarily
> > > <<< Content-Length: 0
> > > <<< Connection: close
> > > content length: [0]
> > > <<< Access-Control-Allow-Origin: *
> > > <<< Date: Wed, 14 Jan 2026 07:10:06 GMT
> > > <<< Location: https://static.crates.io/crates/dunce/dunce-1.0.5.crate
> > > <<< Nel: 
> > > {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
> > > 302 redirect to https://static.crates.io/crates/dunce/dunce-1.0.5.crate
> > > scheme:   "https"
> > > user:     ""
> > > password: ""
> > > host:     "static.crates.io"
> > > port:     "0"
> > > document: "/crates/dunce/dunce-1.0.5.crate"
> > > <<< Report-To: 
> > > {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=VOwdWzeBall4rSiByZHUwCe6zIbVFdxy%2FIgcGEUOIZo%3D\u0026sid=af571f24-03ee-46d1-9f90-ab9030c2c74c\u0026ts=1768374606"}],"max_age":3600}
> > > <<< Reporting-Endpoints: 
> > > heroku-nel="https://nel.heroku.com/reports?s=VOwdWzeBall4rSiByZHUwCe6zIbVFdxy%2FIgcGEUOIZo%3D&sid=af571f24-03ee-46d1-9f90-ab9030c2c74c&ts=1768374606";
> > > <<< Server: Heroku
> > > <<< Strict-Transport-Security: max-age=31536000; includeSubDomains
> > > <<< Via: 1.1 heroku-router, 1.1 
> > > c2905f891f96a0ec9c7fab16916dbb46.cloudfront.net (CloudFront)
> > > <<< X-Cache: Miss from cloudfront
> > > <<< X-Amz-Cf-Pop: AMS58-P6
> > > <<< X-Amz-Cf-Id: Xa10pwbYp4MCA5eToVa0shahNpzr2epWFUuQZS63bMpmbiDLKc2dmQ==
> > > <<<
> > > ---> static.crates.io:443
> > > resolving server address: static.crates.io:443
> > > SSL options: 82004850
> > > Peer verification enabled
> > > Using OpenSSL default CA cert file and path
> > > Verify hostname
> > > TLSv1.3 connection established using TLS_AES_128_GCM_SHA256
> > > Certificate subject: /CN=static.crates.io
> > > Certificate issuer: /C=BE/O=GlobalSign nv-sa/CN=GlobalSign Atlas R3 DV 
> > > TLS CA 2025 Q3
> > > requesting https://static.crates.io/crates/dunce/dunce-1.0.5.crate
> > > >>> GET /crates/dunce/dunce-1.0.5.crate HTTP/1.1
> > > >>> Host: static.crates.io
> > > >>> Accept: */*
> > > >>> User-Agent: fetch libfetch/2.0
> > > >>> Connection: close
> > > >>>
> > > <<< HTTP/1.1 200
> > > <<< Connection: close
> > > <<< Content-Length: 8244
> > > <<< etag: "198d7f7c37f632bc83502b28870b6d60"
> > > content length: [8244]
> > > <<< cache-control: public,max-age=31536000,immutable
> > > <<< x-amz-version-id: PO7xZdimM08F9npIqG8PYtpqpEuWdV9D
> > > <<< x-amz-id-2: 
> > > Dj7mFoaqQJUc61mB1FcouUQcy0tajnacJvU+xOR3Be5//jo3GaSmdCwSSgtYyDMnYE4cPCiPv7PV9m7z1Jk0WazYHTFPbYhm
> > > <<< x-amz-request-id: KWXPQ4JP20HSYSY2
> > > <<< date: Wed, 14 Jan 2026 00:09:56 GMT
> > > <<< x-amz-server-side-encryption: AES256
> > > <<< x-amz-replication-status: COMPLETED
> > > <<< last-modified: Sun, 04 Aug 2024 01:36:47 GMT
> > > <<< accept-ranges: bytes
> > > last modified: [2024-08-04 01:36:47]
> > > <<< content-type: application/gzip
> > > <<< x-served-by: cache-ams21058-AMS
> > > <<< server: AmazonS3
> > > <<< age: 25212
> > > <<< x-cache: HIT
> > > <<< x-cache-hits: 148
> > > <<<
> > > offset 0, length -1, size -1, clength 8244
> > > local size / mtime: 8244 / 1722735407
> > > remote size / mtime: 8244 / 1722735407
> > > dunce-1.0.5.crate                                     8244  B   10 MBps   
> > >  00s
> > >
> > > real    0m0.429s
> > > user    0m0.023s
> > > sys    0m0.027s
> > 
> > ```
> > # time fetch -vv 
> > "https://crates.io/api/v1/crates/dunce/1.0.5/download?dummy=/rust/crates/dunce-1.0.5.crate";
> > scheme:   "https"
> > user:     ""
> > password: ""
> > host:     "crates.io"
> > port:     "0"
> > document: 
> > "/api/v1/crates/dunce/1.0.5/download?dummy=/rust/crates/dunce-1.0.5.crate"
> > ---> crates.io:443
> > resolving server address: crates.io:443 (<- it gets stuck here for like a 
> > minute)
> > SSL options: 82004850
> > Peer verification enabled
> > Using OpenSSL default CA cert file and path
> > Verify hostname
> > TLSv1.3 connection established using TLS_AES_128_GCM_SHA256
> > Certificate subject: /CN=crates.io
> > Certificate issuer: /C=US/O=Amazon/CN=Amazon RSA 2048 M01
> > requesting 
> > https://crates.io/api/v1/crates/dunce/1.0.5/download?dummy=/rust/crates/dunce-1.0.5.crate
> > >>> GET 
> > >>> /api/v1/crates/dunce/1.0.5/download?dummy=/rust/crates/dunce-1.0.5.crate
> > >>>  HTTP/1.1
> > >>> Host: crates.io
> > >>> Accept: */*
> > >>> User-Agent: fetch libfetch/2.0
> > >>> Connection: close
> > >>>
> > <<< HTTP/1.1 302 Moved Temporarily
> > <<< Content-Length: 0
> > <<< Connection: close
> > content length: [0]
> > <<< Access-Control-Allow-Origin: *
> > <<< Date: Wed, 14 Jan 2026 14:34:21 GMT
> > <<< Location: https://static.crates.io/crates/dunce/dunce-1.0.5.crate
> > <<< Nel: 
> > {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
> > 302 redirect to https://static.crates.io/crates/dunce/dunce-1.0.5.crate
> > scheme:   "https"
> > user:     ""
> > password: ""
> > host:     "static.crates.io"
> > port:     "0"
> > document: "/crates/dunce/dunce-1.0.5.crate"
> > <<< Report-To: 
> > {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=9t0rqIH4lMlfE9ncVibRPy8hCUlMqBmippMeWunG5M0%3D\u0026sid=af571f24-03ee-46d1-9f90-ab9030c2c74c\u0026ts=1768401261"}],"max_age":3600}
> > <<< Reporting-Endpoints: 
> > heroku-nel="https://nel.heroku.com/reports?s=9t0rqIH4lMlfE9ncVibRPy8hCUlMqBmippMeWunG5M0%3D&sid=af571f24-03ee-46d1-9f90-ab9030c2c74c&ts=1768401261";
> > <<< Server: Heroku
> > <<< Strict-Transport-Security: max-age=31536000; includeSubDomains
> > <<< Via: 1.1 heroku-router, 1.1 
> > 608555ff8069f08e821e1679cd412294.cloudfront.net (CloudFront)
> > <<< X-Cache: Miss from cloudfront
> > <<< X-Amz-Cf-Pop: GRU3-P10
> > <<< X-Amz-Cf-Id: LvtqT2cBMH7thFfdy3ktelkhg-ALuajh-ucfDhnv7l_s73okAxXp7Q==
> > <<<
> > ---> static.crates.io:443
> > resolving server address: static.crates.io:443
> > SSL options: 82004850
> > Peer verification enabled
> > Using OpenSSL default CA cert file and path
> > Verify hostname
> > TLSv1.3 connection established using TLS_AES_128_GCM_SHA256
> > Certificate subject: /CN=static.crates.io
> > Certificate issuer: /C=BE/O=GlobalSign nv-sa/CN=GlobalSign Atlas R3 DV TLS 
> > CA 2025 Q3
> > requesting https://static.crates.io/crates/dunce/dunce-1.0.5.crate
> > >>> GET /crates/dunce/dunce-1.0.5.crate HTTP/1.1
> > >>> Host: static.crates.io
> > >>> Accept: */*
> > >>> User-Agent: fetch libfetch/2.0
> > >>> Connection: close
> > >>>
> > <<< HTTP/1.1 200
> > <<< Connection: close
> > <<< Content-Length: 8244
> > <<< cache-control: public,max-age=31536000,immutable
> > content length: [8244]
> > <<< x-amz-version-id: PO7xZdimM08F9npIqG8PYtpqpEuWdV9D
> > <<< x-amz-id-2: 
> > EzDoao06Q7mYZgq0ecISLqKGCrHOV1gBvzNGaaAfOg4QCWZ/d3G4pjY4ZAoo2BNA0jACxYFWJQQ=
> > <<< x-amz-request-id: 7JJDJ8X4GESHDW5P
> > <<< date: Wed, 14 Jan 2026 04:21:53 GMT
> > <<< x-amz-replication-status: COMPLETED
> > <<< x-amz-server-side-encryption: AES256
> > <<< last-modified: Sun, 04 Aug 2024 01:36:47 GMT
> > <<< etag: "198d7f7c37f632bc83502b28870b6d60"
> > last modified: [2024-08-04 01:36:47]
> > <<< accept-ranges: bytes
> > <<< content-type: application/gzip
> > <<< x-served-by: cache-gru-sbgr1930032-GRU
> > <<< server: AmazonS3
> > <<< age: 36813
> > <<< x-cache: HIT
> > <<< x-cache-hits: 107
> > <<<
> > offset 0, length -1, size -1, clength 8244
> > fetch: transfer timed out
> > fetch: dunce-1.0.5.crate appears to be truncated: 0/8244 bytes
> >       184.03 real         0.02 user         0.00 sys
> > 
> > so it's even worse, it does follow the redirect but somehow can't get the 
> > file at all, and all of that actually takes 3 minutes to do
> 
> 
> 
> That looks weird. It is hard to diagnose from a distance. How is you general 
> network access? Do you have a lot of package loss?
> 
> Regards,
> Ronald.
> 
>

ah yeah··· just tried pinging google.com and got 100% packet loss, even tho' 
i'm on ethernet and internet works blazingly fast on Linux
cURL can access google in an instant however, and as i mentioned i can easily 
download these files using Links
however that one takes a lot longer to load google and any other website for 
some reason··· must be something wrong with the network driver, this didn't 
happen before

Reply via email to