Newbies What Next ? News Forums Calendar


News Sections
General News (3987/0)
Reviews (637/0)
Press Releases (465/0)
Distributions (197/0)
Software (915/0)
Hardware (537/0)
Security (192/0)
Tutorials (356/0)
Off Topic (181/0)

User Functions


Don't have an account yet? Sign up as a New User

There are no upcoming events

Pick of the Bunch: Console Internet Applications

by Frazer Kline

I would be the first to concede that Linux users will never be satisfied being denied access to a desktop environment. Linux users have a choice of many different desktop environments, all with their own different styles and strengths. Which desktop environment is best invokes strong feelings. Personally, I have no strong feelings for or against any of the environments available. This is predominately because I still spend a lot of my time either using the Linux console, or, when in X, I end up at a terminal emulator, mostly Terminator.

A console application is computer software which is able to be used via a text-only computer interface, the command line interface, or a text-based interface included within a graphical user interface operating system, such as a terminal emulator (such as GNOME Terminal or the aforementioned Terminator). Whereas a graphical user interface application generally involves using the mouse and keyboard (or touch control), with a console application the primary (and often only) input method is the keyboard. Many console applications are command line tools, but there is a wealth of software that has a text-based user interface making use of ncurses, a library which allow programmers to write text-based user interfaces.

Console based applications are light on system resources (very useful on low specified machines), can be faster and more efficient than their graphical counterparts, they do not stop working when X Windows is restarted, and are great for scripting purposes. When designed well, console applications offer a surprisingly powerful way of using a computer effectively. The applications are leaner, faster, easier to maintain, and remove the need to have installed a whole gamut of libraries.

You might ask if the internet lends itself well to console based applications. After all, Linux is blessed with some truly awesome graphical internet applications. Surely the web is rather mundane without a graphical web browser such as Firefox or Chrome? Sometimes. Nevertheless, I still find console applications to be conducive to the internet. I just love the simplicity of console applications and utilities. It does not matter what machine I am using, as the same software works with no fuss. For example, all of the software featured here works seamlessly on computers with low-spec CPU and RAM, such as the Raspberry Pi.

There are so many great console based internet applications that it would be impossible for a single article to cover them all. Instead, I have compiled this roundup of 9 console applications that I am always using. Why? Because they are, in many situations, superior replacements for their GUI equivalents. Here is a roundup of the 9 console applications that I use frequently.


Surfraw in action

The first tool is perhaps one of the least well known of the applications in this article. Surfraw (Shell Users' Revolutionary Front Rage Against the Web) provides a command line interface to a variety of popular Web search engines and sites, including Google, Wikipedia, Ebay, GitHub, lastfm, Slashdot, SourceForge, Project Guntenberg, Internet Movie Database, CPAN, dictionaries, weather, currency conversion, and many others.

Surfraw consists of a collection of shell scripts, called elvi, each of which searches a specific web site. It allows options for configuration of using a console browser (such as Elinks, w3m) or a graphical browser (such as Firefox, Konqueror).

Surfraw makes it really fast to find the information you are seeking. It is in essence a a console version of the custom search bars you can have in modern graphic browsers. It abstracts the browser from input.

Features include:

  • Over 100 different elvi
  • Bookmark support
  • Abstracts the browser away from input
  • Write your own Elvi


mutt in action

Mutt is a small but very powerful text based program for reading electronic mail, including support color terminals, MIME, and a threaded sorting mode.

Mutt supports most mail formats (notably both mbox and Maildir) and protocols (POP3, IMAP, etc). It also includes MIME support, notably full PGP/GPG and S/MIME integration.

Mutt is a pure Mail User Agent (MUA) and cannot send e-mail in isolation. To do this, it needs to communicate with a Mail Transfer Agent (MTA) using, for example, the common Unix sendmail interface. More recently, SMTP support has been added. It also relies on external tools for composing and filtering messages. Additionally, in latest Mutt versions you can use smtp_url config vars to send your mail directly from Mutt.

Features include:

  • Colour support
  • Message threading
  • MIME support (including RFC2047 support for encoded headers)
  • PGP/MIME (RFC2015)
  • Various features to support mailing lists, including list-reply
  • Active development community
  • POP3 support
  • IMAP support
  • Full control of message headers when composing
  • Support for multiple mailbox formats (mbox, MMDF, MH, maildir)
  • Highly customizable, including keybindings and macros
  • Change configuration automatically based on recipients, current folder, etc.
  • Searches using regular expressions, including an internal pattern matching language
  • Delivery Status Notification (DSN) support
  • Postpone message composition indefinitely for later recall
  • Easily include attachments when composing, even from the command line
  • Ability to specify alternate addresses for recognition of mail forwarded from other accounts, with ability to set the From: headers on replies/etc. accordingly
  • Multiple message tagging
  • Reply to or forward multiple messages at once
  • .mailrc style configuration files
  • Translation into at least 20 languages
  • Small and efficient
  • Website:
  • Developer: Michael R Elkins and others
  • License: GNU GPL v2
  • Version Number: 1.5.23


ELinks in action

ELinks is an advanced and well-established feature-rich text mode web (HTTP/FTP/..) browser. ELinks can render both frames and tables, it is highly customizable and can be extended via Lua or Guile scripts.

Initially, ELinks was a development version of Links (Lynx-like text web browser), with more liberal features policy and development style. Its purpose was to provide an alternative to Links, and to test and tune various new features, but still provide good rock-solid releases inside stable branches.

ELinks, on the contrary, aims to provide a full-featured web browser, superior to both Lynx and w3m and with the power (but not slowness and memory usage) of Firefox, Konqueror and similar browsers.

Features include:

  • Support for lots of protocols (local files, finger, http, https, ftp, smb, ipv4, ipv6)
  • Compressed and background (non-blocking) downloads, and download resuming
  • Authentication (HTTP authentication, Proxy authentication)
  • Persistent cookies
  • Cute menus and dialogs
  • Tabbed browsing
  • Good looking menus and dialogs, and key-binding manager
  • HTML tables and HTML frames
  • History browsing and typeahead searches
  • Forms history and completion, and history in commonly used input dialogs
  • Support for browser scripting (Perl, Ruby, Lua, Guile)
  • Colors
  • Support for Cascading Style Sheets (CSS)
  • Some support for ECMAScript
  • Background (non-blocking) downloads
  • Editing of text boxes in an external text editor
  • Mouse support
  • Internationalized domain names
  • Website:
  • Developer: Petr Baudis, Jonas Fonseca
  • License: GNU GPL v2
  • Version Number: 0.11.7


NcFTP in action

NcFTP is a console based user interface File Transfer Protocol (FTP) client program.

The purpose of NcFTP is to provide a powerful and flexible interface. It is intended to replace the stock ftp program that comes with the system.

NcFTP has a wealth of valuable performance and usage features. The program was designed with an emphasis on usability, and it does as much as it can for you automatically so you can do what you expect to do with a file transfer program, which is transfer files between two interconnected systems.

  • Progress meters
  • Filename completion
  • Command-line editing
  • Background processing
  • Auto-resume downloads
  • Cached directory listing
  • Bookmarking
  • Host redialing
  • Download entire directory trees
  • Host redialing
  • Useful additional utility programs (ncftpget, ncftpput and ncftpbatch)
  • Website:
  • Developer: NcFTP Software Inc.
  • License: Clarified Artistic License
  • Version Number: 3.2.5


curl in action

The cURL project produces two products: The first is libcurl, a free and easy-to-use client-side URL transfer library, supporting DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, TELNET and TFTP. The second product is curl, a command line tool for getting or sending files using URL syntax.

curl features include:

  • Config file support
  • Multiple URLs in a single command line
  • Range "globbing" support: [0-13], {one, two, three}
  • Multiple file upload on a single command line
  • Custom maximum transfer rate
  • Redirectable stderr
  • Metalink support

libcurl features include:

  • Full URL syntax with no length limit
  • Custom maximum download time
  • Custom least download speed acceptable
  • Custom output result after completion
  • Guesses protocol from host name unless specified
  • Uses .netrc
  • Progress bar with time statistics while downloading
  • "Standard" proxy environment variables support
  • Selectable network interface for outgoing traffic
  • IPv6 support
  • Persistent connections
  • socks5 support
  • Supports user name and password in proxy environment variables
  • Operations through proxy "tunnel" (using CONNECT)
  • Support for large files (>2GB and >4GB) during upload and download
  • Replaceable memory functions (malloc, free, realloc, etc)
  • Asynchronous name resolving
  • Both a push and a pull style interface
  • International domain names
  • Website:
  • Developer: Daniel Stenberg
  • License: MIT/X based license
  • Version Number: 7.43.0


Wget in action

Wget is open source software that retrieves content from web servers. Its name is derived from World Wide Web and get. It supports HTTP, HTTPS, and FTP protocols, as well as retrieval through HTTP proxies.

Wget can follow links in HTML pages and create local versions of remote web sites, fully recreating the directory structure of the original site. This is known as "recursive downloading."

Wget has been designed for robustness over slow or unstable network connections.

Features include:

  • Resume aborted downloads, using REST and RANGE
  • Use filename wild cards and recursively mirror directories
  • NLS-based message files for many different languages
  • Optionally converts absolute links in downloaded documents to relative, so that downloaded documents may link to each other locally
  • Runs on most UNIX-like operating systems as well as Microsoft Windows
  • Supports HTTP proxies
  • Supports HTTP cookies
  • Supports persistent HTTP connections
  • Unattended / background operation
  • Uses local file timestamps to determine whether documents need to be re-downloaded when mirroring
  • Website:
  • Developer: Hrvoje Niksic, Gordon Matzigkeit, Junio Hamano, Dan Harkless, and many others
  • License: GNU GPL v3
  • Version Number: 1.16.3


Newsbeuter in action

BitlBee is a IRC gateway program for Jabber, ICQ, AIM, Windows Live Messenger, Yahoo, and Google Talk.

This software acts as a IRC server, creates a IRC "channel" with all your contacts and allows you to talk to them as if they were normal IRC users. It is also possible combine BitlBee with web browser IRC clients such as cgi-irc.

Features include:

  • Supports the following protocols:
  • Windows Live Messenger (formerly known as MSN)
  • Yahoo! Messenger
  • AIM
  • ICQ
  • XMPP (Google Talk, Jabber)
  • Multiple channels
  • Contact groups
  • Groupchats using the MSN and Yahoo! networks
  • nick_format
  • libpurple
  • File transfers
  • Themes/Skins
  • Plugin system
  • Message Logging
  • Offline messaging
  • Unicode
  • Website:
  • Developer: BitlBee team
  • License: GNU GPL v2
  • Version Number: 3.4.1


Newsbeuter in action

Newsbeuter is an innovative RSS feed reader for the text console.

Newsbeuter supports OPML import/exports, HTML rendering, podcast (podbeuter), offline reading, searching and storing articles to the filesystem, and many more features.

Its user interface is coherent, easy to use, and might look common to users of mutt and slrn.

Newsbeuter caches the article that it downloads. This means that when you start newsbeuter again and reload a feed, the old articles can still be read even if they aren't in the current RSS feeds anymore.

The name Newsbeuter is a pun on the German word "Wildbeuter", which means "hunter-gatherer".

Features include:

  • Subscribe to RSS 0.9x, 1.0, 2.0 and Atom feeds
  • Podcast support
  • Configure keyboard shortcuts
  • Search through all downloaded articles
  • Categorize and query subscriptions with a flexible tag system
  • Integrate any data source through a flexible filter and plugin system
  • Automatically remove unwanted articles through a "killfile"
  • Define "meta feeds" using a powerful query language
  • Synchronize newsbeuter with a account
  • Import and exporting your subscriptions with the widely used OPML format
  • Freely define newsbeuter's look'n'feel through free color configurability and format strings
  • Colour customization
  • Handles multiple character sets and languages
  • Use external URL viewer
  • Tiny Tiny RSS support
  • Internationalization support
  • Website:
  • Developer: Andreas Krennmair and contributors
  • License: MIT/X Consortium License
  • Version Number: 2.9


Irsii in action

Irssi is a terminal based IRC clients. It also supports SILC and ICB protocols via plugins. Being a fullscreen, termcap based client, with many features, Irssi is easily extensible through scripts and modules.

Unlike some text mode IRC clients, Irssi is not based on the ircII code, and was written from scratch.

The software is written in the C programming language and in normal operation uses a text-mode user interface.

Features include:

  • Autologging - will log channes, queries and special windows
  • Modular Formatting and themes
  • Configurable keybindings - allows users to modify the default keybindings and create your own so you can customize your client
  • Paste detection - tries to detect when you are pasting large amounts of text, by looking at the speed that characters are entered
  • Perl scripting
  • Irssi-proxy - plugin which allows to bind a port to each IRC server you are connected to
  • Transparent upgrading
  • Recode support
  • Website:
  • Developer: Timo Sirainen
  • License: GNU GPL
  • Version Number: 0.8.17

Last Updated Sunday, July 26 2015 @ 12:28 PM EDT

We have written a range of guides highlighting excellent free books for popular programming languages. Check out the following guides: C, C++, C#, Java, JavaScript, CoffeeScript, HTML, Python, Ruby, Perl, Haskell, PHP, Lisp, R, Prolog, Scala, Scheme, Forth, SQL, Node.js (new), Fortran (new), Erlang (new), Pascal (new), and Ada (new).

Group Tests
100 Essential Apps
All Group Tests

Top Free Software
5 Office Suites
3 Lean Desktops
7 Document Processors
4 Distraction Free Tools
9 Project Management
4 Business Solutions
9 Groupware Apps
14 File Managers
10 Databases
21 Backup Tools
21 Productivity Tools
5 Note Taking Apps
9 Terminal Emulators
21 Financial Tools
5 Bitcoin Clients
21 Text Editors
21 Video Emulators
21 Home Emulators
42 Graphics Apps
6 CAD Apps
42 Scientific Apps
10 Web Browsers
42 Email Apps
12 Instant Messaging
10 IRC Clients
7 Twitter Clients
12 News Aggregators
11 VoIP Apps
42 Best Games
9 Steam Games
42 Audio Apps
5 Music Streaming
42 Video Apps
5 YouTube Tools
80 Security Apps
9 System Monitoring
8 Geometry Apps
Free Console Apps
14 Multimedia
4 Audio Grabbers
9 Internet Apps
3 HTTP Clients
5 File Managers
8 Compilers
9 IDEs
9 Debuggers
7 Revision Control Apps
6 Doc Generators
Free Web Software
21 Web CMS
14 Wiki Engines
8 Blog Apps
6 eCommerce Apps
5 Human Resource Apps
10 ERP
10 CRM
6 Data Warehouse Apps
8 Business Intelligence
6 Point-of-Sale

Other Articles
Migrating from Windows
Back up your data
20 Free Linux Books
24 Beginner Books
12 Shell Scripting Books

Older Stories
Saturday 05/16
  • 9 First Steps with Ubuntu 15.04 (0)
  • Excellent Console Log File Analyzers (0)

  • Monday 05/04
  • 100 Essential Free Apps (0)

  • Saturday 04/25
  • What are good command line HTTP clients? (0)

  • Sunday 04/12
  • First Peek at XBian on the Raspberry Pi 2 (0)

  • Saturday 04/04
  • First Look at OSMC RC on the Raspberry Pi 2 (0)

  • Sunday 03/29
  • First Steps with OpenELEC on the Raspberry Pi 2 (0)
  • Ubuntu MATE 15.04 for Raspberry Pi 2 (0)

  • Monday 03/16
  • MIPS Creator CI20 v Raspberry Pi 2 (0)
  • Raspberry Pi 2: Raspbian (ARMv6) v Linaro (ARMv7) (0)

  • Vote

    What Linux distribution do you run on your main computer?

    995 votes | 3 comments

    Built with GeekLog and phpBB
    Comments to the webmaster are welcome
    Copyright 2009 - All rights reserved