Introduction ------------------------------------------------------------ Fuchsschwanz is a cross-platform ICB server written in Python. It's the first ICB server supporting TLS, UTF-8, IPv6 & avatars out of the box. Running Fuchsschwanz ------------------------------------------------------------ You need at least Python 3.7 to start the server. It requires a data directory and a configuration file. $ python3 icbd/icbd.py --config=./config.json \ --data-dir=$(pwd)/data The data directory contains help files, news and the message of the day (which can be an executable!). The easiest way to start Fuchsschwanz is to start the run.sh script. This will also generate a self-signed certificate for TLS (this requires openssl). $ AUTO_RESPAWN=1 ./run.sh # activate failure recovery Running for the first time an administrative user will be created. You should note down the password. Configuration ------------------------------------------------------------ Please find below a list with the most important settings. server ------ hostname: hostname of your server bindings -------- Array containing network bindings (TCP and TLS over TCP). "bindings": [ "tcp://localhost" ] timeouts -------- connection: defines after what period of time (seconds) the peer TCP connection should be considered unreachable ping: a ping message is sent at this regular interval (seconds) if no activity from a client connection is detected timeBetweenMessages: minimum allowed seconds between two client messages idleBoot: default idle-boot setting for new created groups idleMod: default idle-mod setting for new created groups database -------- filename: filename of the internal SQLite database Avatar support ------------------------------------------------------------ To enable avatar support Pillow and python-aalib are required: $ python3 -m pip install pillow python-aalib Windows issues ------------------------------------------------------------ By default Fuchsschwanz uses a Unix domain socket for inter-process communication. This doesn't work on Windows for obvious reasons. Use a TCP connection instead: "server": { "hostname": "localhost", "ipc": { "binding": "tcp://localhost:7328" } } Downloads ------------------------------------------------------------ (BIN) fuchsschwanz-master.zip (IMG) logo.png WWW ------------------------------------------------------------ (HTM) Fuchsschwanz server (HTM) Github (HTM) Official ICB website