Custom Tripcode Identifiers in Kareha Imageboard

The entire premise of the PirateBox project is anonymity, but there may come a time when a 'unique identifier' is required. An example of this is if you wish to make an forum anouncement and have everyone see that you are the administrator. Another is if you have a close-knit anonymous community and need to verify each other's forum identity to prevent imersonators and userpers. This system is used by many online imageboards to give users an “anonymous ID”. In Kareha, we can go a step further, and best of all, this can easily be achieved with a small amount of code-slinging.


The imageboard has a built-in function known as a 'tripcode'. This is is a method of unputting a 'passphrase' after your chosen username. In the name field of the board, type your username, a hash (#), then your secret passphrase. This passphrase will be used to generate your tripcode which will be shown in the post for all to see. For example:

Typing Curly#banana turns into Curly!5RRtZawAKg, Moe#puppies turns into Moe!TwoDwkW3bI and Larry#stooge turns into Larry!phq3pga55Y.

You can read more about tripcodes here and here.

Configuration File

All the following takes place in the /opt/PirateBox/board/, specifically line 11:

#use constant CAPPED_TRIPS => ('!!example1'=>' capcode','!!example2'=>' <em>cap</em>');


In these files, anything with a hash (#) at the start of a line is ignored by the system. To enable this function, we need to remove it, so that

#use constant CAPPED_TRIPS => ('!!example1'=>' capcode','!!example2'=>' <em>cap</em>');

reads like

use constant CAPPED_TRIPS => ('!!example1'=>' capcode','!!example2'=>' <em>cap</em>');

Next comes the syntax of the custom tripcode. This is what tells the system what to turn a speific tripcode into. The code itself contains the examples '!!example1'⇒' capcode', where !!example1 is the normal tripcode, and 'capcode' is what you want to be shown in the post instead of the tripcode itself.

First, you need to find out the tripcode for the passphrase you wish to use. This can be as simple as making a post in the forum and copying what appears. Another method is to go here. All passphrases start with a hash (#) and tripcodes start with an exclamation (!). Let's stick with the passphrase #banana.

We can see that the tripcode generated from #banana is !5RRtZawAKg, and we want to show that this belongs to an administrator. So we can change the code to read:

use constant CAPPED_TRIPS => ('!5RRtZawAKg'=>' ADMIN','!!example2'=>' <em>cap</em>');

Now when Bob makes a post, he types Curly#banana, but in the board, Curly ADMIN is shown instead! You can use standard HTML text formatting to make this truly unique, like <b>for bold text</b>, <i>for itallics</i> even <u>underlined</u>. You can go here for more HTML Text Formats.

You can also enter more than one unique identifier in this way, you just have to make sure that each entry is seperated by a comma. Take note of the space before the word “ADMIN” to put a space between the username and the capcode. Using the Three Stooges example, we can see the code as:

use constant CAPPED_TRIPS => ('!5RRtZawAKg'=>' <b>ADMIN 1</b>','!TwoDwkW3bI'=>' <i>ADMIN 2</i>','!phq3pga55Y'=>' <u>ADMIN 3</u>');

Curly ADMIN 1
Larry ADMIN 3

As many of these entries can be added as you wish, each with their own HTML format, effectively giving regular board posters their own special ID.