The text in this article is outdated!

What is described was true before moving to this new server. Please wait for an updated description. Disregard whatever is written below.

You can have your own OTT mirror now!

If you want to run your own copy of the ЯOЯЯIM TTO, you can, because I made it available. Follow these instructions to download and setup your own ЯOЯЯIM TTO.

This is about version <= 1.6.

Read this

To have the mirror rendered correctly after migration from version pre-1.5 the bots should re-read the whole thread. When some posts are archived before and some after the page will have HTML errors.

I reccomend keeping a copy of the data archived by version 1.4 before moving to this one,


The mirror depends on some things:


This and earlier versions can also be downloaded from svn://bicyclesonthemoon.info/ottmirror. Use "e" for read-only access.
If you want the source as it is exactly now, it's available at http://1190.bicyclesonthemoon.info/ott/src/. (It's updated immediately and may contain errors).

Preparing the enviroment

Go to where you downloaded the source. Open re.awk. At hte top of the file there are some paths defined. You'll have to change some of these. They have to be double-escaped. The directories should not end with a "/".

Setting up the server

You have to set up server so that some URLs will link to some CGI programs.

That's how I did it in apache2:

Alias /ott/log /eizm/log/ottmirror
<Directory "/eizm/log/ottmirror">
 Options Indexes
 Order allow,deny
 Allow from all

ScriptAlias /ott/view /eizm/pro/ottmirror/view
ScriptAlias /ott/mview /eizm/pro/ottmirror/mview
ScriptAlias /ott/update /eizm/pro/ottmirror/update
ScriptAlias /ott/index /eizm/pro/ottmirror/index
ScriptAlias /ott/post /eizm/pro/ottmirror/post
ScriptAlias /ott/posted /eizm/pro/ottmirror/posted
ScriptAlias /ott/redirect /eizm/pro/ottmirror/redirect
ScriptAlias /ott/mpview /eizm/pro/ottmirror/mpview
ScriptAliasMatch ^/ott/?$ /eizm/pro/ottmirror/index

Commandline parameters for bot2

bot2 (bothasar_t) is the thread archiving bot.

Commandline parameters for bot3

bot3 (bothasar_p) is the post bot.

Scheduling the bots

The bots won't run on themselves. They need something that will start them at regular time intervals. I will share my crontab configuration.

20,50 * * * * /eizm/pro/ottmirror/bot2 -i2 -r -o1 -m5 -w9 -v5 -d -a
This bot runs every 30 minutes and updates the pages with new posts.

26 23 * * * /eizm/pro/ottmirror/bot2 -i3 -r -o5 -m10 -p2 -w9 -v5 -d -a -b
This bots runs every day and reloads the pages with new posts and 4 previous pages except the two last pages. Because there could be a delurker or someone could make edits which we don't want to miss.

23 * * * * /eizm/pro/ottmirror/bot2 -i1 -o0 -m3 -p2 -w9 -v5 -d -a -b
This bot runs every hour and goes slowly through the whole thread except the two latest pages. Because there can be temporal edits. (like the 1300 and 1800 repositories).

While the thread being catched up for the first time I'd recommend running only one copy of the bot at a faster rate than this.

7,27,47 * * * * /eizm/pro/ottmirror/bot3 -w15
This bot runs every 20 minutes and looks for new posts to be sent to the thread.

0 0 * * 1 /bin/mv /eizm/log/ottmirror/bot2.log.1 /eizm/log/ottmirror/bot2.log.1.lastweek
0 0 * * 1 /bin/mv /eizm/log/ottmirror/bot2.log.2 /eizm/log/ottmirror/bot2.log.2.lastweek
0 0 * * 1 /bin/mv /eizm/log/ottmirror/bot2.log.3 /eizm/log/ottmirror/bot2.log.3.lastweek
0 0 * * 1 /bin/mv /eizm/log/ottmirror/bot3.log /eizm/log/ottmirror/bot3.log.lastweek

This moves the log files once in a week. Otherwise they would grow to infinity.


Copyright, license, etc.

The code (in pro.zip) is written by me, Balthasar Szczepański and is released under the AGPL 3 license since version 1.1.
Version.1.0 doesn't have any license defined.

The resources in ott.zip contain HTML, CSS, Javascript and images from phpBB which is released under the GPL 2 license.


If you managed to do everything described here you should have your own ЯOЯЯIM TTO. Now wait for it until it catches the whole thread.

(Unless I forgot about something important here. Let me know if I did)