
Surfraw - Shell Users' Revolutionary Front Rage Against the Web Home Page: http://surfraw.alioth.debian.org ______ _ _ ______ _______ ______ _______ _ _ _ / _____)(_) (_)(_____ \ (_______)(_____ \ (_______)(_)(_)(_) ( (____ _ _ _____) ) _____ _____) ) _______ _ _ _ \____ \ | | | || __ / | ___) | __ / | ___ || || || | _____) )| |___| || | \ \ | | | | \ \ | | | || || || | (______/ \_____/ |_| |_||_| |_| |_||_| |_| \_____/ Surfraw - Shell Users' Revolutionary Front Rage Against the Web New: http://surfraw.alioth.debian.org Old: http://surfraw.sourceforge.net/ Oh Baybe I need some Deep Linking Let us go Surfin' in the raw! 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, babelfish, 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. Surfraw abstracts the browser away from input. Doing so lets it get on with what it's good at. Browsing. Interpretation of linguistic forms is handed back to the shell, which is what it, and human beings are good at. Combined with netscape-remote or incremental text browsers, such as links (http://artax.karlin.mff.cuni.cz/~mikulas/links/), w3m (http://www.w3m.org/), and screen(1) a Surfraw liberateur is capable of navigating speeds that leave GUI tainted idolaters agape with fear and wonder. Surfraw consists of a collection of elvi, each of which knows how to search a specific web site. To see the list of elvi type: surfraw -elvi Note that sr is an alias for surfraw, so that could equally be sr -elvi To search using an elvis use: sr elviname [options] search terms.. For example, to search google for information on Debian ports, using the "I'm feeling lucky" option: sr google -l debian ports Note that putting quotes round arguments works now, so you can do, for example: sr google foo "bar baz" bam and the quoting is passed on to the search engine. Adding the elvi to your path If you are a regular user of surfraw, you will probably get sick of typing sr or surfraw each time. You can regain the old behaviour of running the elvi directly by adding the elvi directory (usually /usr/lib/surfraw or /usr/local/lib/surfraw/) to your path, either manually or using surfraw-update-path(1). Config files Surfraw implements the XDG basedir spec (http://standards.freedesktop.org/basedir-spec/basedir-spec-0.6.html) Essentially this means global config will be in /etc/xdg/surfraw/ and local config will be in $HOME/.config/surfraw/. This can be modified by setting $XDG_CONFIG_DIRS and $XDG_CONFIG_HOME, see the spec for more details. If your system has a different sysconfdir set during configure, that will be used instead of /etc (for instance, /usr/local/etc). In the documentation below, only the default paths will be referred to. Local elvi Surfraw can use your own private elvi, store them in $HOME/.config/surfraw/elvi/. Local elvi will be listed separately at the end of 'surfraw -elvi'. Use existing elvi (e.g. google) as a template. If you think your elvi may be useful to others, consider submitting them to surfraw-devel@lists.alioth.debian.org. Bookmarks Surfraw now supports bookmarks. To add a bookmark, add it to to the global bookmark list in /etc/xdg/surfraw/bookmarks or to your personal bookmark list in $HOME/.config/surfraw/bookmarks The format of the bookmarks file is simple, each bookmark is on a separate line, with the bookmark and URL separated by whitespace, eg: ntk http://www.ntk.net/ To invoke a bookmark, use "surfraw bookmark" or "sr bookmark", and if an elvis of that name doesn't exist, it searches for a bookmark of that name instead. There are some example bookmarks in /etc/xdg/surfraw/bookmarks Installation Surfraw is installed with the standard ./configure; make; make install procedure. See INSTALL for more details. If you obtained surfraw direct from the git repository rather than a release tarball, run ./prebuild to generate the autotools build files *before* running ./configure. Note that the opensearch elvis depends on the perl libraries WWW::OpenSearch, HTML::Parser and LWP (libwww-perl). If you don't want to install opensearch, use ./configure --disable-opensearch. Surfraw supports the following options to ./configure: --with-text-browser=BROWSER Use BROWSER as text-mode browser --with-graphical-browser=BROWSER Use BROWSER as graphical-mode browser --with-elvidir=DIR Use DIR as location for storing elvi --disable-opensearch Disable OpenSearch support --disable-sr Disable installing sr alias By default, the text and graphical browsers are detected from a list of installed browsers at configure time. elvidir defaults to $(libdir)/surfraw (probably /usr/local/lib/surfraw). Examples $ surfraw google -results=100 RMS, GNU, which is sinner, which is sin? $ sr wikipedia surfraw $ sr austlii -method=phrase dog like $ /usr/lib/surfraw/rhyme -method=perfect Julian Options Global options are common to all Surfraw elvi (clients). You can get a list of the currently installed elvi by just typing `surfraw -elvi'. For example: $ surfraw -elvi GLOBAL ELVI: acronym -- Look for acronyms definitions (www.acronymfinder.com) alioth -- Search Alioth (alioth.debian.org) altavista -- Search the web using Altavista (www.altavista.com) amazon -- Search the amazon.com bookstore archpkg -- Search Arch Linux packages (www.archlinux.org) arxiv -- Search arXiv E-Print Archive for articles ask -- Question the web using Ask Jeeves (www.ask.com) aur -- Search aur.archlinux.org for PKGBUILDs austlii -- Search Australian Law docs (www.austlii.edu.au) bbcnews -- Search BBC News (news.bbc.co.uk) bing -- Search the web using Microsoft's Bing (www.bing.com) bookfinder -- Search for books using www.bookfinder.com bugmenot -- Bypass compulsory web registration with bugmenot.com cddb -- Search for cd track listings in CDDB (www.gracenote.com) cia -- Search CIA documents at www.cia.gov cite -- Search computer science papers (citeseerx.ist.psu.edu) cliki -- Search the common lisp wiki cnn -- Search on CNN (cnn.com) codesearch -- Search source code using Google Code Search (www.google.com/codesearch) comlaw -- Search Australian Law using Comlaw (www.comlaw.gov.au) ctan -- Search the Comprehensive TeX Archive Network (ctan.org) currency -- Convert currencies with the Universal Currency Converter (www.xe.net/ucc) cve -- Search for CAN assignments in CVE debbugs -- Search the debian BTS (bugs.debian.org) debcontents -- Search contents of debian/ubuntu packages (packages.debian.org/packages.ubuntu.com) deblists -- Search debian mailing lists (lists.debian.org/search.html) deblogs -- Show changelogs for a package in Debian main (changelogs.debian.net) debpackages -- Search debian/ubuntu packages (packages.debian.org/packages.ubuntu.com) debpkghome -- Visit the home page for a Debian package debpts -- Search the Debian Package Tracking System (packages.qa.debian.org) debsec -- Search the Debian Security Tracker for CVE ids or package names debvcsbrowse -- Browse the VCS repository for a Debian package debwiki -- Search the Debian Wikis (wiki.debian.org & women.debian.org/wiki) deja -- Search usenet using Google Groups (groups.google.com) discogs -- Search the Discogs database of music information (www.discogs.com) dmoz -- Search the Open Directory Project web directory (dmoz.org) duckduckgo -- Search the web using Duckduckgo (www.duckduckgo.com) ebay -- Search the Ebay auction site etym -- Look up word origins at www.etymonline.com excite -- Search on Excite (www.excite.com) fast -- Search the web using FAST Search (www.alltheweb.com) filesearching -- Search files on filesearching (www.filesearching.com) finkpkg -- Search Fink packages (pdb.finkproject.org) foldoc -- The Free On-Line Dictionary Of Computing (foldoc.org) freebsd -- Search FreeBSD related information (www.freebsd.org) freedb -- Search for cd track listings in FreeDB (www.freedb.org) freshmeat -- Search Freshmeat (www.freshmeat.net) fsfdir -- Search the FSF/UNESCO Free Software Directory (directory.fsf.org) gcache -- Search the web using Google cache (www.google.com) genbugs -- Search the Gentoo bug tracker (bugs.gentoo.org) genportage -- Search gentoo-portage.com for packages google -- Search the web using Google (www.google.com) gutenberg -- Search for books on Project Gutenberg (gutenberg.org) happypenguin -- Search the Linux Game Tome (www.happypenguin.org) imdb -- Search the Internet Movie Database (www.imdb.com) ixquick -- Search the web using ixquick (www.ixquick.com) jamendo -- Search Jamendo: free music with Creative Commons licenses (www.jamendo.com) javasun -- Search Java API docs (java.sun.com) l1sp -- Search lisp documentation lastfm -- Search last.fm leodict -- Search Leo's German <-> English dictionary (dict.leo.org) lsm -- Search the Linux Software Map macports -- Search macports packages (macports.org) mathworld -- Search Wolfram MathWorld mininova -- Search the mininova bittorent source. musicbrainz -- Search MusicBrainz (musicbrainz.org) netbsd -- Search NetBSD related information (www.netbsd.org) ntrs -- Search the NASA Technical Report Server openbsd -- Search OpenBSD related information (www.openbsd.org) opensearch -- Search an OpenSearch-enabled website pgpkeys -- Search the PGP key database piratebay -- Search thepiratebay.org for torrents port -- Look up a TCP/UDP port number on seifried.org/security/ports/ pubmed -- Search medical/molbio databases (www.ncbi.nlm.nih.gov) rae -- Busca en el diccionario de la Real Academia de la Lengua EspaƱola (Spanish Dictionary) rfc -- Search RFCs (internet standards documents) rhyme -- Search for rhymes et al using Lycos Rhyme (rhyme.lycos.com) rpmsearch -- Search for RPMs in various distros scholar -- Search Google Scholar (scholar.google.com) scicom -- Search Scientific Commons scpan -- Search the Comprehensive Perl Archive Network (search.cpan.org) scroogle -- Search Google anonymously via Scroogle (www.scroogle.org) slashdot -- Search stories on Slashdot (www.slashdot.org) slinuxdoc -- Search entries in LDP (www.linuxdoc.org) sourceforge -- Search SourceForge (www.sourceforge.net) springer -- Search Springer for Books and Articles stockquote -- Get a single stock quote (multiple providers) sunonesearch -- Search Sun One Search (onesearch.sun.com) thesaurus -- Look up word in Merriam-Webster's Thesaurus (www.m-w.com) translate -- Translate human languages (various providers) urban -- Search urbandictionary.com for a definition W -- Activate Surfraw defined web-browser w3css -- Validate a CSS URL with the w3c CSS validator (jigsaw.w3.org/css-validator) w3html -- Validate a web page URL with the w3c validator (validator.w3.org) w3link -- Check web page links with the w3c linkchecker (validator.w3.org/checklink) w3rdf -- Validate a RDF URL with the w3c RDF validator (validator.w3.org) wayback -- Search The Internet Archive's Wayback Machine for a URL (archive.org) webster -- Look up word in Merriam-Webster's Dictionary (www.m-w.com) wetandwild -- Real time weather information (many sources) wikipedia -- Search the free encyclopedia wikipedia woffle -- Search the web using Woffle (localhost:8080) yahoo -- Search Yahoo categories (www.yahoo.com) youtube -- Search YouTube (www.youtube.com) yubnub -- Use the social command-line for the web (yubnub.org) All elvi have useful low calorie help, for example: Usage: rhyme [options] [search words]... Description: Surfraw search for rhymes and other word correlations using Lycos Rhyme (rhyme.lycos.com) Example: $ rhyme Julian $ rhyme -method=rel surfer Results: Hurclean St. Julien. surfboarder, bather, natator, swimmer Local options: -method= Type of word correlation to search for prefect | Perfect rhyme syn | Synonyms hom | Homophones cons | Consonsant rhymes only rel | Semantically related words sub | Phrases spell | Similar spellings pic | Pictures shake | Match with Shakespeare archives def Find wordnet definition Default: perfect Environment: SURFRAW_rhyme_method Global options: -browser=EXECUTABLE Set browser Default: sensible-browser -elvi List Surfraw mechanisms for conquering evil -escape-url-args=yes|no Apply url escaping to arguments Default: yes Environment: SURFRAW_escape_url_args -g | -graphical Get some windowed sin Default: yes Environment: SURFRAW_graphical -help What you're reading now, dude -p | -print Just print search URL, don't pass to browser -o | -o=FILE Fetch URL and dump to stdout or FILE. -new[=yes|no] Start in a new window Default: no Environment: SURFRAW_new_window -t | -text Back to the yellow brick road -q | -quote Quote arguments with " characters Default: no Environment: SURFRAW_quote_args -version Display Surfraw version (2.2.7) -- End of options Copyright: Copyright (c) 2003-2010 The Surfraw-Devel Team <surfraw-devel@lists.alioth.debian.org> Copyright (c) 2000-2001 Julian Assange <proff@iq.org> Copyright (c) 2001 Australian Institute for Collaborative Research Copyright (c) 2000 Melbourne Institute for Advanced Study The system wide configuration file can usually be found in /etc/xdg/surfraw/conf (but see 'Config files' above). This can be overridden by setting the environment variable SURFRAW_global_conf. Each user can also specify their own overrides, usually in $HOME/.config/surfraw/conf (again, see 'Config files' above). This can be overridden by setting SURFRAW_conf, either in the environment or the global config file. e.g SURFRAW_graphical_remote=yes SURFRAW_graphical_browser=mozilla SURFRAW_text_browser=w3m SURFRAW_pgpkeys_sigs=on Read HACKING. Surfrawize the soul of your favourite internet wonder. Join the Shell Users' Revolutionary Front Against the WWW by submitting code. Reclaim heathen lands. Bear witness to the truth. Its love will set you free. Join us on surfraw-devel@lists.alioth.debian.org _________________________________________________________________ README originally by Julian Assange Updated by Ian Beckwith _________________________________________________________________ See NEWS, and ChangeLog for a summary of changes. _________________________________________________________________ $Id$ _________________________________________________________________