Rasputin is a simple cgi page that generate random search terms for Google to look up. It does this at random intervals and with random amounts of quoting. Rasputin is released under the GPL, not that I imagine it'd be of much interest for anyone to rip off. For why we wrote this and why you might want to use it see the FAQ
To use Rasputin, just open the CGI in your usual web browser and ignore it. To stop Rasputin close the relevant window/tab. To be more careful make sure to start any Google searches from the search box on Rasputin, this makes the referrer value of genuine searches match Rasputin's salting.
The core function of Rasputin requires only a web server capable of serving CGI pages written in perl. No special modules are required, and all of the configuration is within the CGI page. By default it expects everything to be in the same directory. So to install just dump the irasputin.cgi into a suitable directory along with the word files and you should be good to go.
By default Rasputin expects to find 6 word files in the same directory as the CGI
script. These should all be called words.#, where # is a number from 0
to 5. To use more of less word files change the number picked for $Wrnd
in irasputin.cgi. Any word or phrase list can be used as long as there is a
single word/phrase to each line. To make some of the searches more topical and thus
seem more "human" the final word file, words.6
is generated from the
days news according to the BBC news site. This is done by running the script
current.sh
as a scheduled task. It should be easy to customise to
use your favourite news site.
As Rasputin is a fairly simple script everything is configured via a few environment variables as follows:
$WrdFiles
- the location of the word files these must be readable
by the web server. They must have a numeric extension starting at 0.$SearchURL
- The base url for the search engine to use, the search
term is appended to this.$UrlList
- If you run Rasputin on several servers define the file
containing the list of them here, and Rasputin will cycle randomly between them.
This disguises any referrer pattern. By default this isn't used.$srchLog
- If you want to log the search terms for amusement or
tuning purposes define the location of the search log here, it must be writable
by the web server.Other customisations are available by editing some of the random values generated, or otherwise editing the code.
The optional script current.sh
depends on curl
and
tail
, and should be run as a scheduled task. To make some of the
searches contain phrases relevant to current happenings, current.sh generates a file
based on the days news as reported by the BBC. This file contains word pairs rather
than individual words, this gives a chance of getting names and key terms relevant
to the days news. The file is truncated at 3000 lines, as that roughly matches a
weeks worth of BBC news. The only configuration needed is to specify the full path
to the words file to be populated by setting the variable File
This file is optional, and merely displays the last 20 search terms Rasputin has
used. It won't display real searches and is just for amusement's sake, though it
might conceivably be of help with tuning the search terms to better match your real
usage. As may be guessed by the name this file requires server side
includes
to be enabled on the web server, though it could easily be
re-implemented as a CGI. The web page calls the script: log.sh
which
parses the last 20 lines of the log file and removes the % escaped characters and
places each term within li
tags. Logging must be enabled within
irasputin.cgi
and the variable: srchLog
must point to
the file used by irasputin.cgi
for logging.