Skip to content
This repository


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

An attempt at recreating ATBBS in a language far superior to that of the original.

branch: master

Fetching latest commit…


Cannot retrieve the latest commit at this time

Octocat-spinner-32 JavaScript
Octocat-spinner-32 css
Octocat-spinner-32 inc
Octocat-spinner-32 .gitignore
Octocat-spinner-32 ads.txt
Octocat-spinner-32 example.htaccess
Octocat-spinner-32 example.lighttpd.conf
Octocat-spinner-32 example.nginx.conf


  1. Configure your webserver properly. Example configurations are included. Remember to get Perl scripts to execute properly.

  2. Edit inc/ to fit your needs.

  3. ????

  4. PROFIT!

Shared hosting

KimmoBBS is designed to run on shared hosting. Being a Perl script, you might think that this makes little sense, because "no shared hosts support Perl". This is wrong - Perl is widely used for CGI scripts and CGI is supported by every "good" shared host out there (your $2/month Unlimited Cpanel Fantastico crap does not fit this bill). Examples of "good" webhosts would be Dreamhost and NearlyFreeSpeech. These have all the modules required by KimmoBBS, and should run it fairly well.

Dreamhost even supports FastCGI, apparently:


What's this?


How do I use this?

You don't. The code is not quite ready for actual use.

Developer notes

Issues and solutions

  • CGI::Fast is listed as a core module in Perl. However, it apparently depends on FCGI which is not a core module, and neither were included on my Debian Squeeze server. When trying to install it through CPAN, I was given a syntax error, although I was later able to install it (did they push a faulty module to the repos and fix it later?).

    This isn't a good thing, and certainly not what I expect from a core module, so I'm just gonna stick with evaling "require CGI::Fast" and making it completely optional. Of course, using FastCGI is recommended for performance reasons.

  • Text::Xslate escapes everything by default. In Template::Toolkit syntax, this is equivalent to using [% FILTER html %]. Now, that's all well and good, because it prevents XSS and other bad things from happening. However, AFAIK there is no way to disable the filter, which works in both Text::Xslate and Template::Toolkit. We need to do this in order to use the markup code.

    The solution? Disable escaping and add over 9000 ``FILTER html'' directives to the templates. That sucks, and certainly opens for a ton of security holes through carelessness.

  • CGI::Session is a piece of shit.

Something went wrong with that request. Please try again.