Flameborn / Kiramoji

Kiramoji is a modified version of the popular anonymous message board: Kareha.
25 stars 3 forks source link
2chan anonymous cgi kareha perl textboard

Kiramoji

Kiramoji is a modified version of Kareha. Kareha is an anonymous message board, popular in Japan. No registration is required to post.

Anonymous message boards tend to put more emphasis on posted content, freeing the message authors from limitations and negative experiences typically present when using other messaging platforms. Should you wish to, you can, however, use the nickname everyone knows you by.

Kiramoji can operate in two modes, as an image board or a text board.

Kareha itself is an incredibly impressive achievement, many features are pushing Perl's boundaries, mostly using core dependencies and not a single C extension.

About this version

This is a modified version of The original Kareha, written by Dag Ågren/WAHa.06x36 in Perl. Later, it was further modified by hotaru2k3, fixing WebKit/related issues, as well as adding some minor changes.

This fork is based on the above mentioned modified version, with a few changes added here and there and it is probably the most recent and maintained version out there.

I am by no means a Perl expert, so pull requests and issues are more than welcome!

This is the version that runs on our KiraMoji page, feel free to stop by and say hi!

There exists an older PSGI version here based on 3.1.4.

Similarly to Kareha's license, this mod is released into the public domain.

Changes in this version

Known issues

Changes in hotaru2k3!s fork

This is a modified version of Kareha. some bugs that can cause xhtml errors have been fixed, and a few minor features have been added.

Installation

Requirements

First and foremost, you will need a webserver. Apache is a good choice, or Caddy if you prefer something more modern and awesome.

Caddy 1

When you download/build Caddy, you will need the http.cgi middleware. Add it in the plugins section.

Caddy 2

When building Caddy 2 via xcaddy, you can use https://github.com/aksdb/caddy-cgi instead. See examples on the same Github page.

Kiramoji

Kiramoji does not require much, it should work on most distributions out of the box. The only exceptions are Perl's CGI and utf8::all modules. You can use a package manager, such as cpan or cpanminus to install them.

WARNING: Your version of Perl must be 5.24 or newer.

In case your server does not come with Perl by default, you can install it via your package manager, or perlbrew. Refer to its documentation for help, usually man packageManagerName will do the trick.

Setting up Kiramoji

  1. git clone https://github.com/Flameborn/Kiramoji
  2. Copy everything to your cgi-bin directory.
  3. Make sure kiramoji.pl and admin.pl has execute permission (+x).
  4. Make sure that the main Kiramoji directory and the res directory are writable (+w).
  5. Copy everything from one of the mode directories, either message or image, depending on what kind of board you wish to have.
  6. Modify config.pl, in particular uncomment and change _ADMIN_PASS__ and SECRET.
  7. If your web server uses https and it does not redirect to it from http by default, edit wakautils.pl and change the $protocol variable to https. This is for generated links only, it does not add TLS support.
  8. Open YourDomain.com/kiramoji.pl to generate the index page.

Enjoy!

FAQ

How do I run multiple boards?

You can install Kiramoji in multiple directories (see the installation steps above), or you can symlink the files. The Lndir command is quite useful to do this.

What are tripcodes and Capcodes and how do I use them?

Tripcodes are special hashes of a poster, they are generally used for authenticity. You can use them in the name field when posting. For example:

YourName#password (less secure)

Or:

YourName##password (more secure, based on the SECRET you've changed in the config file.)

Capcodes are defined in config.pl, and they are used to replace shown tripcodes with arbitrary text. For example: !!S5RPiYbB could be replaced with Admin.

What is sage and how do I use it?

Sage is a way to post without bumping a thread, i.e. moving it to the top of the list. You can post using sage by entering sage in the Link field.

My board's title contains accented characters and it does not display correctly. Why?

Kiramoji is now using UTF-8. Please make sure that your configuration file config.pl is encoded as UTF-8.

My template has accented characters and it does not display correctly. Why?

Kiramoji is now using UTF-8. Please make sure that your template file templates.pl for your language (e.g. JP) is encoded as UTF-8.

How do I switch to a new template?

You need to edit _kiramoji.pl and change the line:

BEGIN { require 'templates.pl'; }

to reflect the new templates filename.

An alternative method is to rename whatever templates file you wish to have to templates.pl. Make sure you have a backup version of the old templates.pl file, in case you wish to switch back to the original.