| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
PGet is a high performance, concurrent file downloader built in Go. It is designed to speed up and optimize file downloads from cloud storage services such as Amazon S3 and Google Cloud Storage.
The primary advantage of PGet is its ability to download files in parallel using multiple threads. By dividing the file into chunks and downloading multiple chunks simultaneously, PGet significantly reduces the total download time for large files.
If the downloaded file is a tar archive, PGet can automatically extract the contents of the archive in memory, thus removing the need for an additional extraction step.
The efficiency of PGet's tar extraction lies in its approach to handling data. Instead of writing the downloaded tar file to disk and then reading it back into memory for extraction, PGet conducts the extraction directly from the in-memory download buffer. This method avoids unnecessary memory copies and disk I/O, leading to an increase in performance, especially when dealing with large tar files. This makes PGet not just a parallel downloader, but also an efficient file extractor, providing a streamlined solution for fetching and unpacking files.
Note
This project is not related to Code-Hex/pget. The two projects share the same name and similar goals, but are completely different codebases with different capabilities.
You can download and install the latest release of PGet directly from GitHub by running the following commands in a terminal:
sudo curl -o /usr/local/bin/pget -L "https://github.com/replicate/pget/releases/latest/download/pget_$(uname -s)_$(uname -m)"
sudo chmod +x /usr/local/bin/pgetIf you're using macOS, you can install PGet with Homebrew:
brew tap replicate/tap
brew install replicate/tap/pgetOr you can build from source and install it with these commands (requires Go 1.19 or later):
make
sudo make installThis builds a static binary that can work inside containers.
pget <url> <dest> [-c concurrency] [-x]
pget https://storage.googleapis.com/replicant-misc/sd15.tar ./sd15 -x
This command will download Stable Diffusion 1.5 weights to the path ./sd15 with high concurrency. After the file is downloaded, it will be automatically extracted.
pget multifile <manifest-file>
Read the manifest file from a path on disk:
pget multifile /path/to/manifest.txt
Read the manifest file from STDIN:
pget multifile - < manifest.txt
Pipe to multifile form from another command:
cat manifest.txt | pget multifile -
An example manifest.txt file might look like this:
https://example.com/image1.jpg /local/path/to/image1.jpg
https://example.com/document.pdf /local/path/to/document.pdf
https://example.com/music.mp3 /local/path/to/music.mp3PGet includes some error handling:
| Back | FazBrowse Home | New Git URL |