OpenSource-Hub
E

ENiGMA½ BBS

642 stars·System Optimization·SHA-256 checksum verified

ENiGMA½ is a modern BBS software that runs on Node.js and brings back the classic bulletin board experience. It supports multiple platforms, unlimited nodes, Telnet/SSH/WebSocket access, FidoNet message networking, native DOS door emulation, and ActivityPub federation. Highly customizable via HJSON and JavaScript mods, with built-in file bases and full-text search.

Smart Download

Visit Project Homepage

No installer available yet — head to the source repository

A modern BBS server software with a nostalgic touch

Core Features

  • Cross‑platform: works on Linux, FreeBSD, macOS, Windows
  • Multi‑protocol: Telnet, SSH, WebSocket (secure & insecure) built-in
  • Highly customizable via HJSON config files, themes, and JavaScript mods
  • Native DOS door emulation (v86) – run LORD, TradeWars without external emulators
  • Message networking: FidoNet FTN with BinkP mailer, Multi-Relay Chat (MRC)

What It Can't Do

  • Configuration can be complex; read the official docs thoroughly
  • DOS door emulation uses v86 – memory‑intensive and not all DOS programs work perfectly
  • ActivityPub support is experimental and may lack full documentation or stability

Use Cases

  • Setting up a retro BBS for community discussions, file sharing, and online games
  • Hosting classic DOS doors (LORD, TradeWars 2002) with native emulation
  • Joining the FidoNet network as a hub or leaf node for exchanging messages

Detailed Introduction

ENiGMA½ 是一个运行在 Node.js 上的现代 BBS(电子公告栏系统)服务端,支持多平台(Linux、FreeBSD、macOS、Windows)。它提供了 Telnet/SSH/WebSocket 接入、文件传输、FidoNet 消息网络、内置 BinkP 邮件收发、活动Pub 实验性支持,以及原生 DOS 门仿真(无需额外虚拟机)。通过 HJSON 配置和 JavaScript 模块实现高度自定义,并内置 SQLite 数据库、双因素认证等特性。适合搭建复古风格的在线社区、游戏门站或文件分享系统。

Troubleshooting & FAQ (2)

How-to
How can I store the SSH host key password in a separate file instead of plaintext in config.hjson for Enigma BBS?

Use the resolver syntax @file:/path/to/file for the password value in your config.hjson. For example: password: @file:/run/secrets/ssh_key_pass. This reads the password from the specified file. Alternatively, you can use an environment variable. This feature was added in PR #694.

GitHub Issue #692
Troubleshooting
How to fix text ghosting artifacts in terminal list view when scrolling?

In VerticalMenuView.prototype.redraw, change the old item erasure loop from 'this.oldDimens.height - 2' to 'this.oldDimens.height - 1' to clear the bottom row. After drawing items, add a loop to fill the area below the last item with spaces:
for (let i = startBlankRelativeRow; i < totalHeight; i++) {
const row = this.position.row + i;
this.client.term.write(ansi.goto(row, this.position.col) + this.getSGR() + ' '.repeat(this.dimens.width));
}
Full context in core/vertical_menu_view.js (issue #630).

GitHub Issue #630

Tags

BBSNode.js复古计算通信软件自托管

Getting Started

1

Download installer

Click the button above to download the installer for your system

2

Install the software

Double-click the downloaded installer and follow the prompts

3

On Linux/macOS, run: curl -o- https://raw.githubusercontent.com/NuSkooler/enigma-bbs/master/misc/install.sh | bash

4

Follow the prompts to complete installation and default configuration

5

Launch the server and connect with any Telnet client (e.g., SyncTERM) to localhost:23

Install Guide
  1. On Linux/macOS, run: curl -o- https://raw.githubusercontent.com/NuSkooler/enigma-bbs/master/misc/install.sh | bash
  2. Follow the prompts to complete installation and default configuration
  3. Launch the server and connect with any Telnet client (e.g., SyncTERM) to localhost:23
File Integrity

Checksum not available

This project has not published a SHA-256 checksum on its GitHub Release page

SHA256 Checksum

No checksum available

Download directly from GitHub Releases and verify file integrity yourself

All SHA-256 checksums on this platform are extracted from the project's official GitHub Release page, without any modification. You can independently verify them on the GitHub Releases page.

Open Source Transparency

View GitHub Source
Environment Guide

Uninstall Info

Delete the installation directory (typically ~/.enigma-bbs or /opt/enigma-bbs) and remove any data files. Back up configuration and user data before deletion.

No Extra Dependencies

Ready to use after download. No additional runtime required.

Project Info
LicenseBSD-2-Clause
Last Updated2026-06-26 03:00:15
GitHub RepositoryOfficial Website

Having issues? Check the FAQ below

2 FAQs

Similar Projects