You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Go to file
JustAnotherArchivist cddce9230e
Merge pull request #548 from JustAnotherArchivist/generalise-docs
1 month ago
bot Add !reason alias for !explain and --reason for --explain 2 years ago
cogs Load igsets and UAs into CouchDB on cogs start 2 years ago
config Introduce Cucumber for integration testing. 9 years ago
dashboard Overhaul the documentation to remove all references of the ArchiveTeam instance 2 months ago
db Merge pull request #546 from Pokechu22/patch-3 2 months ago
doc Overhaul the documentation to remove all references of the ArchiveTeam instance 2 months ago
lib Notify IRC channel on pipeline changes 3 years ago
ops Add a hacky script for clearing a job's cookie jar 2 years ago
pipeline Fix compatibility with PyYAML 6.0 (mandatory `Loader`) 11 months ago
plumbing Add some error handling 4 years ago
spec Remove PhantomJS support 4 years ago
test Remove RSYNC_URL environment variable for pipeline 3 years ago
uploader Fix syntax warnings in uploader 2 years ago
viewer Add link to archivelab WARC viewer 7 years ago
.gitignore tests+travis: Add db/ JSON validation 6 years ago
.gitmodules redis-lua is no longer required. 9 years ago
.travis.yml Fix URL for Python 3.5 tests 2 years ago
Gemfile Fix webmachine-sprockets dependency 3 years ago
Gemfile.lock Fix webmachine-sprockets dependency 3 years ago
INSTALL.backend New dashboard WebSocket server 4 years ago
INSTALL.pipeline Overhaul the documentation to remove all references of the ArchiveTeam instance 2 months ago
LICENSE Relicense as MIT. 9 years ago
README Updated grab-site repo URL in README 4 years ago
README.pipeline-recovery Add readme file for how to save off as much data as possible if a 2 years ago
Rakefile Remove pointless features. 8 years ago


1. ArchiveBot

Coders, I have a question.
Or, a request, etc.
I spent some time with xmc discussing something we could
do to make things easier around here.
What we came up with is a trigger for a bot, which can
be triggered by people with ops.
You tell it a website. It crawls it. WARC. Uploads it to Boom.
I can supply machine as needed.
Obviously there's some sanitation issues, and it is root
all the way down or nothing.
I think that would help a lot for smaller sites
Sites where it's 100 pages or 1000 pages even, pretty
And just being able to go "bot, get a sanity dump"

2. More info

ArchiveBot has two major backend components: the control node, which
runs the IRC interface and bookkeeping programs, and the crawlers, which
do all the Web crawling. ArchiveBot users communicate with ArchiveBot
by issuing commands in an IRC channel.

User's guide:
Control node installation guide: INSTALL.backend
Crawler installation guide: INSTALL.pipeline

3. Local use

ArchiveBot was originally written as a set of separate programs for
deployment on a server. This means it has a poor distribution story.
However, Ivan Kozik (@ivan) has taken the ArchiveBot pipeline,
dashboard, ignores, and control system and created a package intended for
personal use. You can find it at

4. License

Copyright 2013 David Yip; made available under the MIT license. See
LICENSE for details.

5. Acknowledgments

Thanks to Alard (@alard), who added WARC generation and Lua scripting to
GNU Wget. Wget+lua was the first web crawler used by ArchiveBot.

Thanks to Christopher Foo (@chfoo) for wpull, ArchiveBot's current web

Thanks to Ivan Kozik (@ivan) for maintaining ignore patterns and
tracking down performance problems at scale.

Other thanks go to the following projects:

* Celluloid
* Cinch
* CouchDB
* Ember.js
* Redis
* Seesaw

6. Special thanks

Dragonette, Barnaby Bright, Vienna Teng, NONONO.

The memory hole of the Web has gone too far.
Don't look down, never look away; ArchiveBot's like the wind.