{"repo":"cavaliergopher/grab","free":true,"listed":false,"github":"https://github.com/cavaliergopher/grab","clone":"git clone https://github.com/cavaliergopher/grab.git","description":"A download manager package for Go","language":"Go","stars":1480,"topics":["golang","download-manager"],"license":"BSD-3-Clause","category":"analytics","readme_excerpt":"grab Downloading the internet, one goroutine at a time! To use the package in your own program: $ go get github.com/cavaliergopher/grab/v3 To install the grab command line downloader: $ go install github.com/cavaliergopher/grab/v3/cmd/grab@latest Grab is a Go package for downloading files from the internet with the following rad features: Monitor download progress concurrently Auto-resume incomplete downloads Guess filename from content header or URL path Safely cancel downloads using context.Context Validate downloads using checksums Download batches of files concurrently Apply rate limiters Requires Go v1.23+ Example The following example downloads a PDF copy of the free eBook, \"An Introduction to Programming in Go\" into the current working directory. The following, more complete example allows for more granular control and periodically prints the download progress until it is complete. The second time you run the example, it will auto-resume the previous download and exit sooner. Design trade-offs The primary use case for Grab is to concurrently downloading thousands of large files from remote file repositories where the remote files are immutable. Examples include operating system package repositories or ISO libraries. Grab aims to provide robust, sane defaults. These are usually determined using the HTTP specifications, or by mimicking the behavior of common web clients like cURL, wget and common web browsers. Grab aims to be stateless. The only state that exists is the ","default_branch":null,"files":null,"tree":[],"storefront":"/r/cavaliergopher","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/cavaliergopher/grab/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}