https://github.com/pkgforge/soar-dl
⚡Lightening-Fast, feature-rich, Universal Downloader 📥 for GitHub, GitLab, OCI & More [Maintainer=@QaidVoid]
https://github.com/pkgforge/soar-dl
aria2 download download-manager downloader downloadmanager fast forge github-releases gitlab http oci prebuilt-binaries rust scraper
Last synced: about 2 months ago
JSON representation
⚡Lightening-Fast, feature-rich, Universal Downloader 📥 for GitHub, GitLab, OCI & More [Maintainer=@QaidVoid]
- Host: GitHub
- URL: https://github.com/pkgforge/soar-dl
- Owner: pkgforge
- License: mit
- Created: 2024-12-03T14:28:00.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-06-29T11:31:24.000Z (3 months ago)
- Last Synced: 2025-07-23T17:05:17.249Z (2 months ago)
- Topics: aria2, download, download-manager, downloader, downloadmanager, fast, forge, github-releases, gitlab, http, oci, prebuilt-binaries, rust, scraper
- Language: Rust
- Homepage:
- Size: 143 KB
- Stars: 24
- Watchers: 2
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# soar-dl
A lightning-fast, feature-rich release download manager with support for GitHub, GitLab and OCI package downloads
# Installation
```sh
cargo install soar-dl -F binary
```# Usage
## Examples
> [!note]
> Any filter or output path you specify applies to all the assets.```sh
# Download from github, using specific tag
soar-dl --github "pkgforge/soar@nightly"# Download from gitlab
soar-dl --gitlab "inkscape/inkscape"# Download using gitlab project id
soar-dl --github "18817634"# Download ghcr image or blob
# Note: when using ghcr image, the custom path is always treated as a directory
soar-dl --ghcr "ghcr.io/pkgforge/pkgcache/86box/appimage/official/stable/86box:v4.2.1-x86_64-linux"
soar-dl --ghcr "ghcr.io/pkgforge/pkgcache/86box/appimage/official/stable/86box@sha256:28e166a2253f058bfe380bd856cd056b3ca9d8544fc82193f017bb7fdc39b749"# Direct download
soar-dl "https://github.com/pkgforge/soar/releases/download/nightly/soar-nightly-x86_64-linux"# Filter assets
soar-dl --github "pkgforge/soar" --regex ".*x86_64" --exclude "tar,b3sum"
soar-dl --github "pkgforge/soar" --match "x86_64,tar" --exclude "b3sum"# Specify output path. Trailing / means it's a directory
soar-dl --github "pkgforge/soar" --gitlab "18817634" --output "final/"# Don't do this. The last download will replace the existing file
# Only use file in output path if you're downloading single file.
soar-dl --github "pkgforge/soar" --gitlab "18817634" --output "final"# Extract archives automatically (only `tar.gz`, `tar.xz`, `tar.zstd`, `tar.bz2`, and `zip` are supported)
soar-dl "https://github.com/pkgforge/soar/releases/download/v0.5.14/soar-x86_64-linux.tar.gz" --extract --extract-dir extracted# Stream response to stdout
# If you like to pipe the response to other commands, also use quiet mode `-q` to silence other outputs
soar-dl "https://github.com/pkgforge/soar/releases/download/v0.5.14/soar-x86_64-linux.tar.gz" -o-
```## Command Line Options
```
Usage: soar-dl [OPTIONS] [LINKS]...Arguments:
[LINKS]... Links to filesOptions:
--github Github project
--gitlab Gitlab project
--ghcr GHCR image or blob
-r, --regex Regex to select the asset
-g, --glob Glob to select the asset
-m, --match Check if the asset contains given string
-e, --exclude Check if the asset contains given string
-y, --yes Skip all prompts and use first
-o, --output Output file path
-c, --concurrency GHCR concurrency
--ghcr-api GHCR API to use
--exact-case Whether to use exact case matching for keywords
--extract Extract supported archive automatically
--extract-dir Directory where to extract the archive
-q, --quiet Quiet mode
--proxy Set proxy
-H, --header Set request headers
-A, --user-agent Set user agent
--skip-existing Skip existing download with same file
--force-overwrite Overwrite existing download with same file
-h, --help Print help
-V, --version Print version
```