When a download size is known and rate limiting is in effect, adjust the duration of each measurement step and its rate for maximum precision. Since it is unpredictable how long the last bytes of a download will take, download speed can be thrown off if the "last bytes" are a significant amount of the total download. Make the "last bytes" small in comparision to the rest and "stretch" the rate limit intervals to accommodate the difference. Fix ngtcp2 receive data acknowldgements to be based on a local window size tracking. This allows window updates controlled by rate limits. Fix ratelimit wait time calculation to accomodate negative tokens. h3 rate limit, update timeers Make download rate limits work correctly in ngtcp2. Fix multi handling of rate limits to set a timer for when limits will update again. Without running the transfer on limit updates, protocols like h2/h3 may stall if the server does not send due to stream windows being too small. scorecard: measure download speedlimits When running scorecard with --limit-rate=n, show the reported download speed averages plus percentage deviation from the limit. Closes #20228
curl is a command-line tool for transferring data from or to a server using URLs. It supports these protocols: DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTMP, RTMPS, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET, TFTP, WS and WSS.
Learn how to use curl by reading the man page or everything curl.
Find out how to install curl by reading the INSTALL document.
libcurl is the library curl is using to do its job. It is readily available to be used by your software. Read the libcurl man page to learn how.
Open Source
curl is Open Source and is distributed under an MIT-like license.
Contact
Contact us on a suitable mailing list or use GitHub issues/ pull requests/ discussions.
All contributors to the project are listed in the THANKS document.
Commercial support
For commercial support, maybe private and dedicated help with your problems or applications using (lib)curl visit the support page.
Website
Visit the curl website for the latest news and downloads.
Source code
Download the latest source from the Git server:
git clone https://github.com/curl/curl
Security problems
Report suspected security problems via our HackerOne page and not in public.
Backers
Thank you to all our backers 🙏 Become a backer.
Sponsors
Support this project by becoming a sponsor.