From Wikipedia, the free encyclopedia
Jump to: navigation, search
Developer(s) Julian Assange
Stable release 2.2.8 / Jul 2011
Operating system Unix-like
Type Internet
License Public domain

Surfraw (Shell Users' Revolutionary Front Rage Against the Web) is a free POSIX-compliant (i.e. meant for Linux, FreeBSD etc.) command-line shell program for interfacing with a number of web-based search engines. It was created in July 2000 and is licensed under the GNU General Public License and written in the Bourne shell language.

It uses what it calls "elvi" (a tribute to Elvis); elvi are interface widgets for specific engines and databases such as Google, AltaVista, Wikipedia, Dejanews, Freshmeat, research index, Slashdot, ArXiv, and a number of others. It allows options for configuration of using a shell browser (lynx, w3m) or a graphical browser (Firefox, Mozilla, Konqueror).

According to its creator Julian Assange: "Surfraw provides a fast unix command line interface to a variety of popular WWW search engines and other artifacts of power. It reclaims google, altavista, dejanews, freshmeat, research index, slashdot, and many others from the false-prophet, pox-infested heathen lands of html forms, placing these wonders where they belong; deep in unix heartland, as god-loving extensions to the shell."


To see the list of elvi, one can issue the command surfraw -elvi (or the shorter sr -elvi, as sr and surfraw are aliased to mean the same thing); to search using an elvi, use:

sr elvi-name [options] searchterms

For example, to search Google for information on "Debian ports", using the "I'm feeling lucky" option:

sr google -l Debian ports

Or, one could search Wikipedia for the "surfraw" article like this:

sr wikipedia surfraw

Surfraw's commands can be shortened even further to require only the name of the elvi (i.e. wikipedia surfraw) without the sr or surfraw prefixes; it does this by modifying the current shell's (e.g., bash's) startup files with the provided surfraw-update-path command.

External links[edit]