Commands.page Logo

How to Use aria2c with Specific TLS Version on Ubuntu

This guide explains how to configure the aria2c command-line utility to download files using a specific Transport Layer Security (TLS) version on Ubuntu. You will learn the necessary flags to enforce minimum and maximum TLS protocols, ensuring compatibility with servers that require specific security standards or legacy support.

Understanding TLS Flags in aria2c

aria2c provides specific command-line options to control the TLS protocol version used during HTTPS downloads. This is useful when dealing with servers that do not support the latest protocols or when enforcing strict security policies. The two primary flags you need are --min-tls and --max-tls.

Command Syntax

To specify a TLS version, append the flags to your standard download command. The basic syntax looks like this:

aria2c --min-tls=VERSION --max-tls=VERSION "URL"

You can use either flag independently or together. Setting both to the same version forces aria2c to use only that specific protocol.

Available TLS Versions

The following values are supported for the TLS version flags:

Most modern servers require TLSv1.2 or higher. Older legacy systems might require TLSv1.0 or TLSv1.1, though these are generally considered insecure.

Practical Examples

To download a file forcing the use of TLS version 1.2 only, run the following command:

aria2c --min-tls=TLSv1.2 --max-tls=TLSv1.2 https://example.com/file.zip

If you want to allow TLS version 1.2 up to 1.3, you can set the range like this:

aria2c --min-tls=TLSv1.2 --max-tls=TLSv1.3 https://example.com/file.zip

For scenarios where you must connect to an older server requiring TLSv1.0, use:

aria2c --min-tls=TLSv1.0 --max-tls=TLSv1.0 https://legacy-example.com/file.zip

Verifying Your Installation

Ensure you have aria2 installed on your Ubuntu system before running these commands. You can install it using the apt package manager if it is not already present:

sudo apt update
sudo apt install aria2

By utilizing these flags, you maintain control over the security protocol used during your downloads, allowing for flexibility across different server environments.