akari-bbs is an in-development lightweight messageboard system written in C!
You can see a running instance of akari-bbs: here!
Latest working build is master branch. Commits in this branch may be squashed in the future.
Like a traditional Futaba-like messageboard system, no registration is required to participate.
Users can post anonymously, or they can maintain a persistent identity with a tripcode.
A tripcode is a static DES hash appended to your name. Just enter a # and a password after your name.
Akari#example
becomes Akari !KtW6XcghiY
Tripcodes can be considered a passive form of "user registration".
Each board may host a limited number of active threads at once.
Replying to a thread bumps it to the front page, sinking all other threads by 1. A hard limit on bumping ensures that long and stale threads cannot be bumped back to the front page. Threads at the bottom of the index are slowly pruned off the board as new threads are created. Pruned threads are archived for a limited time before being deleted.
This algorithm ensures high content turnover and ensures that all discussion is ephemeral in nature.
- Anonymous posting
- Registration-free identity persistence is available.
- Tripcodes (DES crypt(3) a.k.a Futaba-style)
- Chronological order threaded discussion
- Self-contained discussion boards for different topics
- Aggressive content turnover algorithm
- Blockquotes and post quoting
- Formatting markup for spoilers and code blocks
- UTF-8 aware input sanitation
- User flooding deterrance
This project is in alpha state and is not feature complete. Functionality may change at any time.
- lighttpd
- sqlite3
- libcrypt (POSIX)
- libsqlite3
- Install
lighttpd
,sqlite3
, andlibsqlite3-dev
. - Configure lighttpd by editing
/etc/lighttpd/lighttpd.conf
to include the contents ofserver.conf
.
- On a default installation, you can just
cat server.conf >> /etc/lighttpd/lighttpd.conf
as root.
- Copy repo to your designated
server.document-root
location.
- Default location is
/var/www
.
- Build project with
make release
. - Initialize database and give
www-data
write permission by running./init.sh
as root. - Enable and start Lighttpd using
service
orsystemctl
, depending on your distro. - Confirm that everything is working by visiting
localhost
in your browser.
- If posting doesn't work, it means
www-data
is not the owner of the database file.
Copyright (C) 2016 microsounds <https://github.com/microsounds>
akari-bbs is free software, released under the terms of the GNU General Public License v3 or later.
See include/global.h
for full copyright or LICENSE
for license information.