doc/axel(1)

πŸ“¦
version 2.17.14 Β· 5 versions
, in alpine 3.22, alpine 3.23, alpine 3.24, arch rolling, debian trixie, opensuse-leap 16.0, ubuntu questing, ubuntu resolute, ubuntu stonking

🌸 axel(1) β€” the manual page, but make it cute 🌸

okay so bestie, welcome to the axel manual β€” doc/axel(1), the lightweight command line download accelerator. She's tiny, she's fast, she's literally the moment. Let's get into it πŸ’–


✨ NAME ✨

axel β€” light command line download accelerator πŸ¦‹


✨ SYNOPSIS ✨

axel [OPTIONS] url1 [url2] [url...]

✨ DESCRIPTION ✨

So here's the tea: Axel downloads a file from an FTP or HTTP server through multiple connections. Every single connection pulls its own lil slice of the file. Teamwork, but make it networking 🫢

And unlike most other programs out there? Axel writes all the data directly to the destination file. That means it saves you time at the very end, because it doesn't have to sit there concatenating all the downloaded parts together afterwards. No assembly required, periodt πŸ’…

Axel supports HTTP, HTTPS, FTP and FTPS protocols. Versatile queen πŸ‘‘


✨ OPTIONS ✨

One argument is required: the URL to the file you want to download. And when you're downloading from FTP, the filename may contain wildcards β€” the program will try to resolve the full filename for you. You can also throw in multiple mirror URLs pointing to an identical file, and the program will use all of those URLs for the download. More mirrors, more speed, iykyk πŸ”₯

⚠️ Please note: the program does not check whether the files are equal. It's trusting like that. Be careful.

Other options, bestie:

  • --max-speed=x, -s x β€” Set a speed in bytes per second and it'll try to keep your average speed around that. Super useful when you don't want the program to suck up literally all of your bandwidth 🌈
  • --num-connections=x, -n x β€” Specify an alternative number of connections.
  • --max-redirect=x β€” Specify an alternative number of redirections to follow when connecting to the server (default is 20).
  • --output=x, -o x β€” Downloaded data goes into a local file with the same name, unless you specify a different name with this option. You can specify a directory too, and the program will append the filename for you. So considerate πŸŽ€
  • --search[=x], -S[x] β€” Axel can do a search for mirrors using the filesearching.com search engine. This search will be done if you use this option. You can also specify how many different mirrors should be used for the download. Heads up though: the search for mirrors can be time-consuming, because the program tests every server's speed and checks whether the file's still available. She's thorough πŸ’€
  • --ipv6, -6 β€” Use the IPv6 protocol only when connecting to the host.
  • --ipv4, -4 β€” Use the IPv4 protocol only when connecting to the host.
  • --no-proxy, -N β€” Do not use any proxy server to download the file. Not possible when a transparent proxy is active somewhere, of course πŸ™ˆ
  • --insecure, -k β€” Do not verify the SSL certificate. Only use this if you are getting certificate errors and you are sure of the site's authenticity. Like, genuinely sure. No cap.
  • --no-clobber, -c β€” Skip download if a file with the same name already exists in the current folder and no state file is found.
  • --verbose, -v β€” Show more status messages. Use it more than once to see more details. Stack it, bestie πŸ“š
  • --quiet, -q β€” No output to stdout.
  • --alternate, -a β€” This shows an alternate progress indicator. A bar displays the progress and status of the different threads, along with current speed and an estimate for the remaining download time. It's giving dashboard energy ✨
  • --header=x, -H x β€” Add an additional HTTP header. This option should be in the form "Header: Value". See RFC 2616 section 4.2 and 14 for details on the format and standardized headers.
  • --user-agent=x, -U x β€” Set the HTTP user agent to use. Some websites serve different content based upon this parameter. The default value will include "Axel", its version and the platform.
  • --help, -h β€” A brief summary of all the options.
  • --timeout=x, -T x β€” Set I/O and connection timeout.
  • --version, -V β€” Get version information.

πŸ’€ NOTE πŸ’€

Long (double dash) options are supported only if your platform knows about the getopt_long call. If it does not (like *BSD), only the short options can be used. Sad but true, bestie 😭


✨ RETURN VALUE ✨

Here's the vibe check on exit codes:

  • 0 β€” the download was successful πŸŽ‰
  • 1 β€” something really went wrong πŸ’€
  • 2 β€” the download was interrupted 😭

If something else comes back, it must be a bug πŸ›


🌈 EXAMPLES 🌈

The trivial usage to download a file is similar to:

$ axel http://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-9.1.0-amd64-netinst.iso

$ axel ftp://ftp.nl.kernel.org/pub/linux/kernel/v2.2/linux-2.2.20.tar.bz2

This will use the Belgian, Dutch, English and German kernel.org mirrors to download a Linux 2.4.17 kernel image.

$ axel ftp://ftp.{be,nl,uk,de}.kernel.org/pub/linux/kernel/v2.4/linux-2.4.17.tar.bz2

This will do a search for the linux-2.4.17.tar.bz2 file on filesearching.com and it'll use the four (if possible) fastest mirrors for the download (possibly including ftp.kernel.org). Main character mirror-selection behaviour πŸ‘‘

$ axel -S4 ftp://ftp.kernel.org/pub/linux/kernel/v2.4/linux-2.4.17.tar.bz2

πŸŽ€ FILES πŸŽ€

  • /etc/axelrc β€” System-wide configuration file.
  • ~/.axelrc β€” Personal configuration file.

These files are not documented in a manpage, but the example file which comes with the program contains enough information. The position of the system-wide configuration file might be different. In source code this example file is at the doc/ directory. It's generally installed under /usr/share/doc/axel/examples/, or the equivalent for your system πŸ¦‹


Axel was originally written by Wilmer van der Gaast and other authors over time. Please, see the AUTHORS and CREDITS files. Give them their flowers πŸ’

The project homepage is <https://github.com/axel-download-accelerator/axel>


🫢 HELP THIS PROJECT 🫢

If you intent to help, please, read the CONTRIBUTING.md file. On Debian systems, this file will be available at /usr/share/doc/axel/ directory. Come join the group chat, we'd love to have you πŸ’œ


and that's the whole manual, bestie β€” no notes, she ate πŸ’… This page ships with axel-2.17.14, dated April 8, 2024, and it lives at doc/axel(1). Mwah, bye πŸ“πŸ§šβœ¨

πŸ“¦ where this page comes from