Search

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

Availability

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.

Links

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 <fmarier@gmail.com>
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 trent@example.com.

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 <fmarier@gmail.com>
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

Availability

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 http://www.kame.net/. 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 http://www.sixxs.net/misc/coolstuff/ 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:

Debian-administration.org 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

file: classify unknown files on the console

June 29th, 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!

Somebody just sent you a mail with attachments that don’t have usable file extensions so you don’t really know how to handle them. Audio file? PDF? What is it? The same problem might occur after a file recovery, on web pages with upload features, etc.

While you can try to give the file an extension and open it with a software you think might be suitable, the better way is to let your computer find out what is all about. As a GNU/Linux user you probably already think “There is surely a command line tool for this”. Of course there is: the file by Ian Darwin.

It often gets automatically installed by dependencies. In any case, aptitude install file will help you. file depends on libmagic which provides patterns for the so called “magic number” detection.

Let’s assume we have the following directory with unknown files:

$ ls -l
total 2152
-rw-r--r-- 1 ccm ccm    4118 2008-03-30 06:32 unknown.0
-rw-r--r-- 1 ccm ccm   10220 2008-05-06 02:23 unknown.1
-rw-r--r-- 1 ccm ccm   12693 2008-05-06 02:23 unknown.2
-rw-r--r-- 1 ccm ccm   25933 2007-10-26 07:41 unknown.3
-rw-r--r-- 1 ccm ccm    2121 2007-10-26 07:41 unknown.4
-rw-r--r-- 1 ccm ccm     185 2007-10-14 20:14 unknown.5
-rw-r--r-- 1 ccm ccm 1189011 2008-05-17 22:37 unknown.6
-rw-r--r-- 1 ccm ccm  824163 2008-02-02 05:02 unknown.7
-rw-r--r-- 1 ccm ccm   82367 2007-09-20 06:18 unknown.8
-rw-r--r-- 1 ccm ccm    8872 2006-04-24 12:43 unknown.9

Now we want to know what’s inside those black boxes. Therefore we just call file * on the console:

$ file *
unknown.0: XML
unknown.1: ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), not stripped
unknown.2: ASCII C program text
unknown.3: PDF document, version 1.4
unknown.4: LaTeX 2e document text
unknown.5: perl script text executable
unknown.6: gzip compressed data, from Unix, last modified: Wed Oct  8 16:27:09 2003
unknown.7: Ogg data, Vorbis audio, stereo, 44100 Hz, ~192003 bps, created by: Xiph.Org libVorbis I (1.0)
unknown.8: PNG image data, 492 x 417, 8-bit/color RGBA, non-interlaced
unknown.9: HTML document text

Hey, that’s all. Pretty impressive, isn’t it? file does even not only distinguishes binaries and text files, it even tries to guess what programming language a text file is written in. And the magic is not that much magic: for example, in case of the ZSH script it just sees a shebang pointing to the zsh in the first line of the file, a PDF file typically starts with “%PDF” and so on. It’s all about patterns.

file provides you with some command line options that make it’s usage even more helpful. The most interesting is -i as it prints out MIME-types instead of verbose file types. If you are a web developer and want to know the exact MIME-type for a file download, this can save you a lot of time:

$ file -i *
unknown.0: text/xml
unknown.1: application/x-object, not stripped
unknown.2: text/x-c; charset=us-ascii
unknown.3: application/pdf
unknown.4: text/x-tex
unknown.5: application/x-perl
unknown.6: application/x-gzip
unknown.7: application/ogg
unknown.8: image/png
unknown.9: text/html

Great, isn’t it? The Apache web server also uses libmagic for this purpose. With file you just use a wrapper for the same task.

file is available in Debian and Ubuntu for a long time.

Posted in Debian, Ubuntu | 8 Comments »

« Previous Entries Next Entries »