dra
dra copied to clipboard
A command line tool to download release assets from GitHub
DRA - Download Release Assets from GitHub
A command line tool to download release assets from GitHub.
Why should I use dra? • Installation • Usage • License

Why should I use dra?
You can do everything dra does with the official GitHub cli.
dra helps you download release assets more easily:
- no authentication for public repository (you cannot use
ghwithout authentication) - Built-in generation of pattern to select an asset to download
(with
ghyou need to provide glob pattern that you need to create manually).
Installation
Recommended
Download from the latest release.
Debian-based distributions
Download the latest .deb package from the release page and
install it via:
sudo dpkg -i dra_x.y.z_amd64.deb # adapt version number
From AUR
Arch Linux users can install dra from the AUR using an AUR helper. For example:
paru -S dra
From source
git clone https://github.com/devmatteini/dra && cd dra
make release
./target/release/dra --version
Usage
In order to download assets from private repositories (and avoid rate limit issues) export an environment variable GITHUB_TOKEN=<token>.
Follow the official guide to create
a personal access token.
The minimum set of scopes needed is: Full control of private repositories .
Interactive
Select and download an asset from a repository
$ dra download devmatteini/dra-tests
Select and download an asset to custom path
$ dra download --output /tmp/dra-example devmatteini/dra-tests
Select and download an asset from a specific release
$ dra download --tag 0.1.1 devmatteini/dra-tests
Install assets
Download and install an asset (on both interactive and non-interactive modes)
$ dra download --install devmatteini/dra-tests
Supported assets that can be installed are:
- Debian packages (
.deb) - Tar archive with executable (
.tar.[gz|bz2|xz]) - Zip file with executable (
.zip)
Non-Interactive
This mode is useful to be used in automated scripts.
First you need to generate an untagged asset name:
$ dra untag devmatteini/dra-tests
helloworld_{tag}.tar.gz
Copy the output and run:
$ dra download --select "helloworld_{tag}.tar.gz" devmatteini/dra-tests
This last command can be used in automated scripts without human interaction.
Shell completion
Generate shell completion
$ dra completion bash > dra-completion
$ source dra-completion
See all supported shell with dra completion -h
For more information on args/flags/options/commands run:
$ dra --help
$ dra <command> --help
Contributing
Take a look at the CONTRIBUTING.md guide.
License
dra is made available under the terms of the MIT License.
See the LICENSE file for license details.