This repository has been archived on 2024-04-08. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
2017-04-14 14:42:14 +10:00
ansis_default More work on menusystem 2017-04-12 22:34:08 +10:00
config_default Fix bbs.ini 2017-04-13 09:49:29 +10:00
deps wrong color 2017-03-31 10:44:24 +10:00
hashmap Added IP whitelist/blacklisting for telnet only 2016-12-11 14:42:28 +10:00
inih Initial Commit 2016-03-22 11:48:59 +10:00
menus_default Add missing menu entry 2017-04-12 23:07:16 +10:00
scripts_examples More work on menusystem 2017-04-12 22:34:08 +10:00
utils Fix crash in fileapprove 2017-04-06 21:20:11 +10:00
www Stylesheet tinkering 2017-04-01 16:45:05 +10:00
.gitignore added to gitignore 2017-03-23 16:39:06 +10:00
bbs_list.c Add Sqlite_Busy_Timeout 2017-03-22 11:51:04 +10:00
bbs.c More work on menusystem 2017-04-12 22:34:08 +10:00
bbs.h Remove menu key from doors.ini 2017-04-12 22:37:21 +10:00
bluewave.c Move MSG_* defines to JAM_* defines to build on OSX 2017-03-16 17:50:06 +10:00
bluewave.h Added EXPERIMENTAL bluewave support 2016-12-06 17:06:28 +10:00
chat_system.c Show the infoline on chat when first started 2017-03-20 13:40:01 +10:00
doors.c More work on menusystem 2017-04-12 22:34:08 +10:00
email.c Add Sqlite_Busy_Timeout 2017-03-22 11:51:04 +10:00
file_id.diz Update for 0.6alpha 2017-03-23 16:26:02 +10:00
files.c More work on menusystem 2017-04-12 22:34:08 +10:00
LICENSE.txt Added License & FILE_ID.DIZ 2016-04-09 18:22:55 +10:00
lua_glue.c Attempt to make doors, chat and files work with ssh 2016-08-07 13:45:52 +10:00
magicka.strings Added home to rest of the strings 2016-12-10 20:12:41 +10:00
mail_menu.c Check realnames and alias when determining who a message is for 2017-04-14 14:42:14 +10:00
main_menu.c More work on menusystem 2017-04-12 22:34:08 +10:00
main.c Remove menu key from doors.ini 2017-04-12 22:37:21 +10:00
Makefile.freebsd More work on menusystem 2017-04-12 22:34:08 +10:00
Makefile.freebsd.WWW More work on menusystem 2017-04-12 22:34:08 +10:00
Makefile.linux More work on menusystem 2017-04-12 22:34:08 +10:00
Makefile.linux.WWW More work on menusystem 2017-04-12 22:34:08 +10:00
Makefile.netbsd More work on menusystem 2017-04-12 22:34:08 +10:00
Makefile.netbsd.WWW More work on menusystem 2017-04-12 22:34:08 +10:00
Makefile.osx More work on menusystem 2017-04-12 22:34:08 +10:00
Makefile.osx.WWW More work on menusystem 2017-04-12 22:34:08 +10:00
menus.c Add missing function 2017-04-12 23:04:35 +10:00
README.md Check realnames and alias when determining who a message is for 2017-04-14 14:42:14 +10:00
settings.c Big update for uploading with external protocols. May or may not work with SSH,tested with lrzsz 2016-12-10 17:55:47 +10:00
strings.c Move Strings into a String file so they can be customized 2016-08-14 19:56:15 +10:00
users.c Add number support to usernames 2017-04-05 12:38:21 +10:00
www_email.c make textareas hard wrap 2017-04-02 19:35:43 +10:00
www_last10.c add css for last 10 2016-08-21 15:06:59 +10:00
www_msgs.c Check realnames and alias when determining who a message is for 2017-04-14 14:42:14 +10:00
www.c FreeBSD fixes 2017-03-17 19:50:37 +10:00

MagickaBBS

Build Status

Linux/FreeBSD bulletin board system (Should also work on NetBSD and OpenBSD, if it doesn't it's a bug)

As I lost the code to my initial BBS flea, I've decided to start over from scratch and this time I'm using git hub so I dont lose it again!

Magicka is meant to be a modern (haha) BBS system, using modern technologies, like Sqlite3, IRC, long filenames (gasp!) etc while still retaining the classic BBS feel. ANSI & Telnet, and good old ZModem.

If you want to install Magicka BBS, follow these steps.

  1. Ensure you have git, c compiler, libsqlite3-dev, libreadline-dev, libssl-dev, libssh-dev libncurses5-dev and gnu make

    sudo apt-get install build-essential libsqlite3-dev libreadline-dev git libssl-dev libssh-dev libncurses5-dev

    should work on debian and debian derivatives.

  2. Clone the repo git clone https://github.com/MagickaBBS/MagickaBBS

  3. Build the BBS (You may have to adjust the Makefile for your system)

    make -f Makefile.linux (Linux) gmake -f Makefile.freebsd (FreeBSD) make -f Makefile.osx (macOS) gmake -f Makefile.netbsd (NetBSD)

  4. Make a directory for logs.

    mkdir logs

  5. Copy the config-default directory to a config directory.

    cp -r config_default config

  6. Edit the config files and update essential information, like system paths and BBS name etc

  7. Copy the ansi-default directory to the one specified in your system path

    eg.

    cp -r ansi_default ansis

  8. If you are going to run SSH, you will need to create keys. To do this

    mkdir keys

    ssh-keygen -f keys/ssh_host_rsa_key -N '' -t rsa

    ssh-keygen -f keys/ssh_host_dsa_key -N '' -t dsa

  9. Run Magicka BBS on a port over 1024 (Below require root, and we're not ready for that).

    ./magicka config/bbs.ini

  10. Your BBS is now running on the port you specified in the config.ini, log in and create yourself an account! (By default there is only one security level, you can add more, but you will need to use an SQLite Manager to modify users.sq3 and set security levels, as there is no user editor yet.

For information on how to configure your BBS, check the wiki https://github.com/MagickaBBS/MagickaBBS/wiki

About the webserver

Magicka now includes a built in webserver based on libmicrohttpd. It is not built by default, if you'd like to build it you will need a recent version of libmicrohttpd (raspbian doesn't have a recent enough version, and you will need to build it from source). Once you have these prerequisites, you can build magicka with make -f Makefile.linux.WWW or make -f Makefile.freebsd.WWW be sure to do this from a clean source tree.

The webserver will use templates in the www/ folder to create internal webpages on the fly, anything in www/static/ is served up as is.