1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395
|
Surfraw - Shell Users' Revolutionary Front Rage Against the Web
Home Page: https://gitlab.com/surfraw/Surfraw
______ _ _ ______ _______ ______ _______ _ _ _
/ _____)(_) (_)(_____ \ (_______)(_____ \ (_______)(_)(_)(_)
( (____ _ _ _____) ) _____ _____) ) _______ _ _ _
\____ \ | | | || __ / | ___) | __ / | ___ || || || |
_____) )| |___| || | \ \ | | | | \ \ | | | || || || |
(______/ \_____/ |_| |_||_| |_| |_||_| |_| \_____/
Surfraw - Shell Users' Revolutionary Front Rage Against the Web
New: https://gitlab.com/surfraw/Surfraw
Old: http://surfraw.alioth.debian.org
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
CUSTOM SEARCH
Several elvi use a search engine with site: and inurl: keywords.
The search engine used can be customized by setting
the environment variable SURFRAW_customsearch_provider
or using the command-line argument -customsearch=
Currently google and duckduckgo are supported
Examples:
SURFRAW_customsearch_provider=duckduckgo sr mysqldoc -v=5.5 select
sr pgdoc -customsearch=google -v=9.1 select
The default is to use duckduckgo.
Currently affected elvi:
mdn mysqldoc netbsd openbsd pgdoc slinuxdoc
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:
W -- Activate Surfraw defined web-browser
acronym -- Look for acronyms definitions (www.acronymfinder.com)
ads -- Search SAO/NASA Astrophysics Data System
alioth -- Search Alioth (alioth.debian.org)
amazon -- Search the amazon.com bookstore
archpkg -- Search Arch Linux Packages (www.archlinux.org/packages/)
archwiki -- Search the Arch Linux Wiki
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
bugzilla -- Search for bugs on Bugzilla bugtrackers
cia -- Search CIA documents at www.cia.gov
cisco -- Search Cisco documentation (www.cisco.com)
cite -- Search computer science papers (citeseerx.ist.psu.edu)
cliki -- Search the common lisp wiki
cnn -- Search on CNN (cnn.com)
comlaw -- Search Australian Law using Comlaw (www.comlaw.gov.au)
commandlinefu -- Search on www.commandlinefu.com
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)
debcodesearch -- Search debian source code
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)
<<<<<<< HEAD
dmoz -- Search the Open Directory Project web directory (dmoz.org)
duckduckgo -- Securely search the web using duckduckgo (duckduckgo.com)
=======
duckduckgo -- Securely search the web using duckduckgo (www.duckduckgo.com)
>>>>>>> kyle/https-elvi
ebay -- Search the Ebay auction site
etym -- Look up word origins at www.etymonline.com
excite -- Search on Excite (www.excite.com)
f5 -- Search F5 related information (www.f5.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
github -- Search GitHub (https://github.com)
gmane -- Search mailing list with gmane (gmane.org)
google -- Search the web using Google (www.google.com)
gutenberg -- Search for books on Project Gutenberg (gutenberg.org)
imdb -- Search the Internet Movie Database (www.imdb.com)
ixquick -- Search the web using ixquick [HTTPS] (www.ixquick.com)
jamendo -- Search Jamendo: free music with Creative Commons licenses (www.jamendo.com)
javasun -- Search Java API docs (java.sun.com)
jquery -- Search the jQuery documentation (api.jquery.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
mdn -- Search the mozilla developer network (developer.mozilla.org)
mininova -- Search the mininova bittorent source.
musicbrainz -- Search MusicBrainz (musicbrainz.org)
mysqldoc -- Search mysql documentation (dev.mysql.com)
netbsd -- Search NetBSD related information (www.netbsd.org)
nlab -- Search the nLab wiki (http://ncatlab.org)
ntrs -- Search the NASA Technical Report Server
openbsd -- Search OpenBSD related information (www.openbsd.org)
oraclesearch -- Search an OpenSearch-enabled website
pgdoc -- Search postgres documentation (www.pgdoc.com)
pgpkeys -- Search the PGP key database
phpdoc -- Search php documentation (php.net)
pin -- Search Pinboard bookmarks (http://pinboard.in)
piratebay -- Search The Pirate Bay (http://thepiratebay.org)
priberam -- Look up word in Priberam online dictionary (www.priberam.pt/dlpo)
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)
scholar -- Search Google Scholar (scholar.google.com)
scpan -- Search the Comprehensive Perl Archive Network (search.cpan.org)
searx -- Search using searx metasearch engine instances (searx.me)
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
stack -- Search Stack Overflow
stockquote -- Get a single stock quote (multiple providers)
thesaurus -- Look up word in Merriam-Webster's Thesaurus (www.m-w.com)
translate -- Translate human languages
urban -- Search urbandictionary.com for a definition
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)
wikipedia -- Search the free encyclopedia wikipedia
wiktionary -- Search the free multilingual dictionary (wiktionary.org)
woffle -- Search the web using Woffle (localhost:8080)
wolfram -- Ask questions of the computational knowledge engine
worldwidescience -- Search for science with www.worldwidescience.org
yahoo -- Search Yahoo categories (www.yahoo.com)
yandex -- Search the web using Yandex (yandex.ru)
youtube -- Search YouTube (www.youtube.com)
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
-lh | -local-help Just show elvi-specific help, not the global options
-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-2018 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
If you just want to see the elvi-specific help, use
elvi -lh or -local-help.
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
INTEGRATION
There is a browser plugin for Pentadactyl (a vimperator fork) at
http://code.google.com/p/dactyl/issues/detail?id=320
For details, see:
http://lists.alioth.debian.org/pipermail/surfraw-devel/2011-April/000916.html
Code to integrate with uzbl is in
examples/uzbl_load_url_from_surfraw
RADICALIZATION
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.
_________________________________________________________________
|