Inside Wayback Machine, the internet’s time capsule
thehustle.co
thehustle.co
ps those statues of internet saints occupying the old benches of the former church/current IA hq are neat and kinda disturbing.
SGML can be used as swiss army knife to perform all kinds of difficult HTML parsing, manipulation, and preservation tasks since it is using classic DTD grammars for your HTML flavor at hand, rather than having a particular HTML grammar hardcoded. For example, see our HTML 5.1 DTD at [1] (which can be used with any SGML software freely anyway).
In today's dark age of the web, we're loosing content daily as classic web sites are shutting down.
AOPIC looks to me like it's roughly the same as Yahoo's iterative pagerank algorithm, but I didn't look at it that carefully.
https://github.com/oduwsdl/ipwb
#!/bin/sh
cd ${HOME}/data/archive
user_agent="Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/533.20.25 (KHTML, like Gecko) Version/5.0.4 Safari/533.20.27"
domain="${1}"
wget \
--mirror \
--page-requisites \
--restrict-file-names=nocontrol \
--timeout 60 \
--tries 5 \
--wait 1 \
--waitretry 5 \
--warc-cdx \
--warc-file="${domain}" \
--warc-header "operator: Wayback Mesh" \
-U "${user_agent}" \
-e robots=off \
"http://${domain}"
ipwb index "${domain}.warc" > "${domain}.ipfs.cdxj"If you run your own, make sure you turn on "Download images"
That's one of the major points why archive.is/wayback is popular; you get the exact same page as you get in the browser. Perfectly for archival.
Disclaimer - It's a project of mine, specifically written for my interests, and is very much not production ready.
It does have a full blown spider in it, which supports distributed fetching and stuff via another project [1].
It does both rewritten archiving (basically overwriting the page style) and raw archiving.
I also have a bunch of miscellaneous stuff like a custom python interface for chromium so I can handle jerberscript shitshows (cloudflare "protection" [2], reCaptcha [3], etc...). People seem really dead-set on ruining the internet.
I keep meaning to implement WARC proxying to feed into the IA as a parallel output stream for the spider, but it's a lot of work and I have too many projects already.
1: https://github.com/fake-name/AutoTriever 2: https://github.com/fake-name/ChromeController 3: https://github.com/fake-name/WebRequest
Bookmark Archiver: https://github.com/pirate/bookmark-archiver
It's modeled on the internet archive except it uses Chrome Headless in addition to wget so you get snapshots of the page after JS executes too.