cURL-ing GitHub Release Artifacts

The following content was published on my omg.lol Weblog on April 16th, 2025.

I've spent a bunch of time recently in proxmox weaving in and out of fresh VMs. Unfortunately, my editor of choice is Helix , which doesn't have the privilege of shipping with Debian and needs to be installed manually. This has resulted in the unprecedented event of memorizing what a couple of the cURL flags actually do, so I figured I'd pass that knowledge on.

Want to get a file from GitHub? Here's what you do:

Go to the Releases page for the project you want to download

Right-click on the artifact that you wish to get, and copy the link

Go to your terminal, and run the following command pasting the URL as required:

curl -OL "<paste your url here>"

The two mysterious flags are important. I'm in enough strange places on the internet that I've started referring to them as the Office Lady flags. Here's what they do:

-O: Instruct cURL to write the response to a file, preserving its original name. If you wanted to give your file a custom name, you could use -o <some filename>, but in most cases with GitHub artifacts, you probably want the original file name.

-L: Instruct cURL to follow 3XX-level redirects. In my experience, GitHub artifacts always redirect, so this flag will keep cURL along for the ride until the file is resolved.

And that's all you need to know! At least, that's all I've needed to know so far. You can check the man page for cURL should my hubris befall you.

Oh, and if that artifact you installed was a .deb? apt install ./<your deb filename here>, with emphasis on the ./ and maybe a bit of sudo, depending on who you're running the command as. Good luck!