{"id":29757175,"url":"https://github.com/flameborn/kiramoji","last_synced_at":"2025-07-26T17:14:20.713Z","repository":{"id":49470892,"uuid":"99008990","full_name":"Flameborn/Kiramoji","owner":"Flameborn","description":"Kiramoji is a modified version of the popular anonymous message board: Kareha.","archived":false,"fork":false,"pushed_at":"2024-01-14T22:42:19.000Z","size":425,"stargazers_count":28,"open_issues_count":1,"forks_count":4,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-05-23T11:29:51.468Z","etag":null,"topics":["2chan","anonymous","cgi","kareha","perl","textboard"],"latest_commit_sha":null,"homepage":"","language":"Perl","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Flameborn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-08-01T14:16:19.000Z","updated_at":"2025-02-26T13:26:37.000Z","dependencies_parsed_at":"2022-09-10T14:21:44.363Z","dependency_job_id":null,"html_url":"https://github.com/Flameborn/Kiramoji","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/Flameborn/Kiramoji","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Flameborn%2FKiramoji","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Flameborn%2FKiramoji/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Flameborn%2FKiramoji/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Flameborn%2FKiramoji/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Flameborn","download_url":"https://codeload.github.com/Flameborn/Kiramoji/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Flameborn%2FKiramoji/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267198711,"owners_count":24051559,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-26T02:00:08.937Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["2chan","anonymous","cgi","kareha","perl","textboard"],"created_at":"2025-07-26T17:14:17.259Z","updated_at":"2025-07-26T17:14:20.707Z","avatar_url":"https://github.com/Flameborn.png","language":"Perl","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Kiramoji\n\nKiramoji is a modified version of Kareha. Kareha is an anonymous message board, popular in Japan. No registration is required to post.\n\nAnonymous 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.\n\nKiramoji can operate in two modes, as an image board or a text board.\n\nKareha itself is an incredibly impressive achievement, many features are pushing Perl's boundaries, mostly using core dependencies and not a single C extension.\n\n## About this version\n\nThis is a modified version of The original [Kareha](https://wakaba.c3.cx/s/web/wakaba_kareha), written by Dag Ågren/WAHa.06x36 in Perl. Later, it was further modified by [hotaru2k3](https://github.com/hotaru2k3), fixing WebKit/related issues, as well as adding some minor changes.\n\nThis 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.\n\nI am by no means a Perl expert, so pull requests and issues are more than welcome!\n\nThis is the version that runs on our [KiraMoji page](https://kiramoji.ga), feel free to stop by and say hi!\n\nThere exists an older [PSGI version here](https://github.com/marlencrabapple/kareha-psgi) based on 3.1.4.\n\nSimilarly to Kareha's license, this mod is released into the public domain.\n\n## Changes in this version\n\n- Added Spanish template (thanks to [Guilevi](https://github.com/guilevi))\n- Templates are modified to have some [ARIA](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA) attributes, edit fields in particular, as well as some links are properly labelled for screen readers.\n- If the board operates in paged mode, page navigation controls are displayed at the bottom of the page for text boards.\n- param-related bugs have been fixed, so there are no CGI warnings anymore.\n- Added a dice roller for the link field. The syntax is: size d NumberOfDice +/-modifier (optional) a/d (ascending/descending sorting, optional). (for example 6d5+100d will roll 5 6-sided die, add 100 and sort the result in descending order)\n- Switched the encoding to UTF-8. This means that messages, templates and the config file are expected to be encoded using UTF-8.\n- Swapped out the *SillyName* generator to an adjective/noun-based one, based on https://github.polettix.it/ETOOBUSY/2020/01/28/generate-name/\n- Added a *protocol* option which can be changed in *wakautils.pl*, used when generating page links and feeds.\n- A more up-to-date spam file, taken from the official Kiramoji instance.\n- Atom support\n- Properly URL decode unicode characters when previewing post.\n- Added swatch/internet time format when displaying dates.\n\n## Known issues\n\n- The Japanese template does not have the ARIA fixes nor pagination, as I unfortunately do not speak Japanese. Pull requests are welcome!\n\n## Changes in hotaru2k3!s fork\n\nThis is a modified version of Kareha. some bugs that can cause xhtml errors have been fixed, and a few minor features have been added.\n\n## Installation\n\n### Requirements\n\nFirst and foremost, you will need a webserver. Apache is a good choice, or [Caddy](https://caddyserver.com) if you prefer something more modern and awesome.\n\n#### Caddy 1\n\nWhen you download/build Caddy, you will need the [http.cgi](https://caddyserver.com/docs/http.cgi) middleware. Add it in the plugins section.\n\n#### Caddy 2\n\nWhen building Caddy 2 via [xcaddy](https://github.com/caddyserver/xcaddy), you can use https://github.com/aksdb/caddy-cgi instead. See examples on the same Github page.\n\n#### Kiramoji\n\nKiramoji 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.\n\n_WARNING_: Your version of Perl must be 5.24 or newer.\n\nIn case your server does not come with Perl by default, you can install it via your package manager, or [perlbrew](https://github.com/gugod/App-perlbrew). Refer to its documentation for help, usually _man packageManagerName_ will do the trick.\n\n### Setting up Kiramoji\n\n1. git clone https://github.com/Flameborn/Kiramoji\n2. Copy everything to your cgi-bin directory.\n3. Make sure _kiramoji.pl_ and _admin.pl_ has execute permission (+x).\n4. Make sure that the main _Kiramoji_ directory and the _res_ directory are writable (+w).\n5. Copy everything from one of the _mode_ directories, either _message_ or _image_, depending on what kind of board you wish to have.\n6. Modify _config.pl_, in particular uncomment and change _ADMIN_PASS__ and _SECRET_.\n7. 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.\n8. Open _YourDomain.com/kiramoji.pl_ to generate the index page.\n\nEnjoy!\n\n## FAQ\n\n### How do I run multiple boards?\n\nYou 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.\n\n### What are tripcodes and Capcodes and how do I use them?\n\nTripcodes are special hashes of a poster, they are generally used for authenticity. You can use them in the _name_ field when posting. For example:\n\n_YourName#password_ (less secure)\n\nOr:\n\n_YourName##password_ (more secure, based on the SECRET you've changed in the config file.)\n\nCapcodes are defined in _config.pl_, and they are used to replace shown tripcodes with arbitrary text. For example: _!!S5RPiYbB_ could be replaced with _Admin_.\n\n### What is sage and how do I use it?\n\nSage 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.\n\n### My board's title contains accented characters and it does not display correctly. Why?\n\nKiramoji is now using UTF-8. Please make sure that your configuration file _config.pl_ is encoded as UTF-8.\n\n### My template has accented characters and it does not display correctly. Why?\n\nKiramoji 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.\n\n### How do I switch to a new template?\n\nYou need to edit __kiramoji.pl_ and change the line:\n\n_BEGIN { require 'templates.pl'; }_\n\nto reflect the new templates filename.\n\nAn 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.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflameborn%2Fkiramoji","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflameborn%2Fkiramoji","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflameborn%2Fkiramoji/lists"}