aria2: high speed command line download utility

July 16th, 2008 edited by Tincho

Bonus article this week, submitted by Anthony Bryan and Tatsuhiro Tsujikawa.

If you’re a frequent downloader and comfortable on the command line, then you need to try out aria2. aria2 is a cross platform download utility, similar to graphical download managers except that it uses less system resources.

aria2 has a number of invaluable features such as download resuming, BitTorrent and Metalink support, segmented downloading, downloading a single file from one or multiple servers (including integrated BitTorrent and HTTP/FTP transfers), downloading many files at the same time, automatic error recovery/repair (BitTorrent and Metalink downloads only), etc.

aria2 is a command line application, but don’t let that scare you off. You can use aria2fe, a graphical front end, if that makes you more comfortable.

Keep in mind that aria2 is more for heavy downloading, and if you want a webspider then wget would be a better choice.

How to use it

The easiest way to invoke aria2 is by typing aria2c URL/fileName

$ aria2c http://host/image.iso

The URL can be either a regular URL to a file, a URL to a .torrent file, or a URL to a .metalink file. For BitTorrent and Metalink downloads, there are extra options available such as throttling upload speed, only downloading selected files, changing listening ports, and seed time and ratio. To pause a download, press Ctrl-C. You can resume the transfer by running aria2c with the same argument in the same directory.

Downloading identical files from multiple sources

aria2 supports multiple URLs for the same file. You can specify them on the command line (space separated) and aria2 will download from multiple URLs at the same time.

$ aria2c http://host/image.iso http://mirror/image.iso

This command will split the download between multiple servers. aria2 can even download the same file from BitTorrent and FTP/HTTP at the same time, while the data downloaded from FTP/HTTP is uploaded to the BitTorrent swarm.

Repairing damaged downloads

aria2 can repair downloads with errors by using the information in .torrent or .metalink files.

$ aria2c -M test.metalink --check-integrity=true

The -M option specifies a local file called test.metalink to get the information to repair the download.

Parameterized URLs

You can specify set of parts. The following command will download part of the same file from 3 servers, don’t forget to escape the parameter to avoid shell expansion.

$ aria2c -P 'http://{host1,host2,host3}/file.iso'

You can specify numeric sequence using []. This command will download image000.png through image100.png from the same server.

$ aria2c -Z -P 'http://host/image[000-100].png’

The -Z option is required if the all URIs don’t point to the same file, such as the above example.

Other options

aria2 has a lot more options, you can for instance use:

  • -T filename.torrent to specify a local .torrent file.
  • -M filename.metalink to specify a local .metalink file.
  • -i textfile will download all the URLs listed in a textfile.
  • -s for example -s2 will download a file using 2 connections.
  • -j for example -j5 will download 5 files concurrently.

aria2 has many other options. To read the man page, type:

$ man aria2c


aria2 is available on most Linux distributions. Official Debian and Ubuntu package are available:

  • Debian: stable, testing and unstable
  • Ubuntu: feisty, gutsy, and hardy.

Community & developers

aria2 is actively maintained and developed by Tatsuhiro Tsujikawa. Bug reports, feature requests, and forums are found on SourceForge.


Posted in Debian, Ubuntu | 16 Comments »

email-reminder: Never forget a birthday or an anniversary again!

July 13th, 2008 edited by Tincho

Article submitted by François Marier. Guess what? We still need you to submit good articles about software you like!

Email-Reminder is a simple tool to define events for which you want to receive a reminder by email. These reminders (sent out daily by a small cronjob) can be either on the day of the event and/or a few days beforehand.

Events can be:

  • birthdays
  • anniversaries
  • weekly, monthly and yearly events

Sample Reminders

Here is an example of what you get in your inbox for an upcoming birthday:

From: Email-Reminder
Date: Tue, 12 May 2007 04:00:22 -0400 (EDT)
To: Francois Marier <>
Subject: Trent Reznor’s birthday

Hi Francois,

I just want to remind you that Trent Reznor is
turning 42 in 5 days.

You can reach Trent Reznor at

Have a good day!

Sent by Email-Reminder

And here is one on the day of an anniversary:

From: Email-Reminder
Date: Tue, 29 Jul 1996 04:00:11 -0400 (EDT)
To: Francois Marier <>
Subject: 15th anniversary of Prince Charles and Lady Diana

Hi Francois,

I just want to remind you that the 15th anniversary
(Crystal) of Prince Charles and Lady Diana is today.

Have a good day!

Sent by Email-Reminder

Event Definition

Events for each user are defined in an XML file (~/email-reminders) in that user’s home directory, click here to see a sample file. You don’t actually have to define each event by hand in the XML file though. Email-Reminder comes with a simple GTK user interface:

email-reminder GUI 1 email-reminder GUI 2


Email-Reminder has been in Debian since Sarge and in Ubuntu since Dapper. It is licensed under the GPL.

More Information

You can find out more about Email-Reminder by visiting its homepage and subscribing to its news feed.

If you want to get involved, see the roadmap and feel free to contribute some patches!

Posted in Debian, Ubuntu | 6 Comments »

aiccu: add IPv6 connectivity to your machine

July 6th, 2008 edited by Alexey Beshenov

Article submitted by Caspar Clemens Mierau. Guess what? We still need you to submit good articles about software you like!

It’s time: no reason should prevent you from adding IPv6 connectivity to your machine. Of course it’s still an issue, as most ISPs don’t provide native IPv6. So in most cases the easiest way for you is to set up a tunnel to an IPv6 broker. There are currently several free brokers. I’ll show a simple way of getting IPv6 connectivity with the aiccu and SixXS.

Apply for an account

First you have to apply for an account on SixXS. Please note: as a kind of ISP, Sixxs really need valid information from you. You may give them a link to your Xing or LinkedIn profile.

Your application will be checked and (probably) approved. Wait for the mail. After that go to the SixXS website, request a new tunnel, and pick an entry point near you. This step also needs to be approved. Wait for the mail (it takes up to a day).

Set up aiccu

Now let’s get it running. Install the package aiccu (apt-get install aiccu). During installation you will be asked, which broker you are using. SixXS is already preconfigured, so choose it and input your account information. If everything is fine, aiccu will check SixXS and ask for your tunnel information.

Open a terminal and run ifconfig sixxs—it should show a new network interface with an IPv6 address. Now let’s check IPv6. Open Firefox and go to If the turtle logo is moving, your are using IPv6, if it does not, you don’t.

The SixXS credit system

You should understand the SixXS credit system. It’s used to limit users in repeating bad actions and to make sure they maintain their tunnels. For example if a static tunnel is down it will cost you some credits, thus you better keep it up. One could see the credit system as a bank, you got a credit limit and you can’t go over it and buy everything you want, but when you earn credits because your tunnel is up you can do a lot with it.

Security issues

Note that all your IPv6 traffic will be directed through the broker, so you have to take care of the security.

IPv6 content

Check for interesting IPv6 content: high traffic news servers, the IPv6 freenode server and so on. Always keep in mind, that not every application is ready for IPv6 and many applications need to be configured for IPv6. With Debian/Ubuntu you should be able to use at least Firefox, Thunderbird, Pan, and Irssi.

aiccu is available in Debian since Etch, and in Ubuntu since Feisty

Happy networking!

Posted in Debian, Ubuntu | 9 Comments »

Debian- administration .org on rinetd

July 2nd, 2008 edited by Tincho

Unusual non-article ahead: has a nice article about rinetd entitled “Easily forwarding arbitrary TCP connections with rinetd”, go and check it, it is an interesting package I didn’t know about!

Posted in Debian, Ubuntu | Comments Off