NOTE: This project has been replaced by quickget-rs, which is a part of my quickemu-rs project.
Quickget-rs uses configurations containing information about distros, including URLs and checksums, which are generated daily in a CI/CD pipeline.
This leads to significantly faster performance, as well as less of a requirement for maintenance. All features from this project, other than the generation of configurations for bash quickemu, will be re-implemented in quickget-rs.
This is a re-implementation of Quickget from the Quickemu project (https://github.com/quickemu-project/quickemu) in Rust.
This branch focuses on replicating the behaviour of the original bash script as effectively as possible.
Performance will be prioritized. For example, checksums will be fetched during, rather than before, the file download, which can save a significant amount of time depending on connection. Releases & Editions are also fetched from within the same function in the case that they're dynamic, which means that it's possible that only one request needs to be made. After all, almost all of the time waiting is caused by requests to web servers.
It is very much WIP. The majority of features are not implemented, and there are many major bugs.
Downloads, checksum verification, and config file creation are all implemented.
This program by itself is capable of being compiled and run on nearly any system. However, the VMs it creates rely on Quickemu to be of any use, which is only available for Unix-like systems such as GNU/Linux.
However, the download-iso
parameter is entirely usable on any system.
- Install the Rust language. Many distros package it, but the recommended method is to use the Rustup script.
- Clone the repository:
git clone https://github.com/lj3954/qg-rust
- Build the project using
cargo build
- The compiled binary will be located within the "target" folder.