Vibeleaderboard
Index / tool
Visit curl.se
Category
Developer Tools
Rank

Previous survey · No. 755 ·

Pricing
Open Source
Type
TOOL
Builder
curl
GitHub
515 stars
Latest release
v2026.08.30
Date

About

Simple wrapper around curl from the curl project itself for easily downloading files with sensible defaults.

What it does

Give wcurl one or more URLs and it constructs a curl command with redirects, retries, HTTPS fallback, output naming, timestamps, and safer file handling already configured. It can run several downloads concurrently, derive readable filenames, accept extra curl flags, or print the command without executing it.

Why it's ranked here

The value is narrow but convincing. Common downloads become short commands while retaining access to curl’s broader option set. Version-aware behavior avoids requesting unsupported parallel and no-clobber features. The tested filename safeguards, dry-run mode, and conservative overwrite policy make it more than a disposable convenience script.

What's good

Defaults address practical failure points: HTTP errors fail visibly, redirects work, retries absorb transient problems, and existing files remain protected when curl supports that feature. Multiple URLs can run concurrently. Filename decoding excludes slashes, backslashes, colons, and control characters, reducing path traversal risk while preserving readable names.

Tradeoffs

Behavior depends on the installed curl version. Older releases lose parallel downloads and overwrite protection, while multiple URLs with a custom output name require newer curl. Advanced transfers still demand curl knowledge because extra flags pass through directly, and resuming requires carefully ordered options that permit overwriting the destination.

How to use it well

Use it for interactive shell work, scripts, and repeatable batches where the job is simply fetching files with predictable names and cautious defaults. Check the dry-run output before unusual transfers. Pass occasional curl flags through, but switch to curl itself when option ordering, protocol behavior, or transfer logic becomes central. It is not an application library.

Technical notes+

The wcurl executable is a POSIX shell script requiring curl 7.46.0 or newer. exec_curl() inspects the installed curl version, conditionally adds --parallel, --parallel-max-host 5, and --no-clobber, then uses exec rather than eval. percent_decode() preserves encoded control characters, /, \, and :, while get_url_filename() strips query strings and fragments before choosing an output name. tests/tests.sh uses shunit2 and primarily checks generated commands through --dry-run. .github/workflows/test.yml runs tests on Debian, Fedora, and macOS, plus shellcheck, checkbashisms, shfmt, spelling checks, workflow analysis, and REUSE validation. wcurl.md is the manpage source, with generated output in wcurl.1.

Observed

License
curl license
Primary language
POSIX shell
Interface
Command-line executable
Installation surface
Single downloadable executable script, with a separately installable manpage
Runtime requirement
curl 7.46.0 or newer
Tested platforms
Debian, Fedora, and macOS in continuous integration
Test framework
shunit2

Read from README.md, wcurl, AUTHORS, LICENSE, wcurl.1, wcurl.md, REUSE.toml, CHANGELOG.md, tests/tests.sh, LICENSES/curl.txt, .github/dependabot.yml, .github/workflows/test.yml, .github/workflows/requirements.txt.

What it can do

  • Download files from URLs

    URL of file to downloadDownloaded file saved to local filesystem

  • Download files with progress indication

    URL of file to downloadDownloaded file with visual progress feedback

  • Resume interrupted downloads

    Partially downloaded file and original URLCompleted file download from interruption point

  • Download multiple files concurrently

    Multiple URLsMultiple downloaded files

  • Download files with automatic retry on failure

    URL of file to downloadDownloaded file after handling connection failures

Tags

curldownloadclishellwrapper

Tech Stack

RoffShell

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.