______ _ _ ______ _______ ______ _______ _ _ _
/ _____)(_) (_)(_____ \ (_______)(_____ \ (_______)(_)(_)(_)
( (____ _ _ _____) ) _____ _____) ) _______ _ _ _
\____ \ | | | || __ / | ___) | __ / | ___ || || || |
_____) )| |___| || | \ \ | | | | \ \ | | | || || || |
(______/ \_____/ |_| |_||_| |_| |_||_| |_| \_____/
You might have heard the allegations about search giants recording your data or tracking it. And you might have heard about Julian Assange. Would it be surprising to know that Assange wrote a cmdline perl based tool to search Google (and many other web services) at lightning speed… a tool sans the tracking? I guess not.
Such a tool exists, written in 2000. It’s Surfraw.
Each supported search engine or database (like Google, Wikipedia, Slashdot etc.) is called an elvi in Surflaw, apparently as a tribute to Elvis (Ref: Wikipedia).
- Search tons of websites in addition to Google. To get the full list
$ surfraw -elvi
- Supports bookmarks
- Supports bash completion (elvi names, options, arguments) using
- Use Google Translate, images, news, mps, video etc.
- Supports safe search filter
- Works best with text-based browsers like links, lynx, w3m
To install Surfraw on Ubuntu, run:
$ sudo apt-get install surfraw surfraw-extra
The user-specific configuration file is ~/.surfraw.conf. The syntax is simple – defyn is used for boolean configuration variables, def for all others. Example configuration:
def SURFRAW_text_browser /usr/bin/lynx
defyn SURFRAW_graphical yes
def SURFRAW_graphical_browser firefox
def SURFRAW_results 10
def SURFRAW_lang uk
Surfraw has many options, many of them specific to the elvi (search service). If you do not want to type surfraw all the time, sue the alias sr.
- The general syntax
sr elviname [options] search terms..
- Search Google with multiple terms and limit results to 100
$ sr google -results=100 foo "bar baz" bam
- Search Wikipedia
$ sr wikipedia surfraw
- Search a phrase
$ sr austlii -method=phrase dog like
- Get a rhyming word
$ surfraw rhyme Julian
- Search a RFC about mime
$ sr rfc s/mime
- Translate a word
$ sr translate logiciel
Webpage: Surfraw (with love, from Julian Assange)