MCPSERV.CLUB
ENiGMA½ BBS

ENiGMA½ BBS

Self-Hosted

Modern, nostalgic bulletin board for the 21st century

Active(86)
602stars
0views
Updated 29 days ago
ENiGMA½ BBS screenshot 1
1 / 2

Overview

Discover what makes ENiGMA½ BBS powerful

ENiGMA½ BBS is a full‑featured, self‑hosted bulletin board system that blends nostalgic terminal aesthetics with modern web‑centric capabilities. At its core, the application exposes a multi‑protocol interface—Telnet, SSH, and WebSocket—allowing callers to connect from classic BBS clients or modern browsers. The architecture is intentionally lightweight, written entirely in **Node.js** (v14+), and leverages a single SQLite database for persistence. This makes the codebase straightforward to audit, extend, and ship as a single binary or Docker image.

Runtime

Configuration

Database

Logging

Overview

ENiGMA½ BBS is a full‑featured, self‑hosted bulletin board system that blends nostalgic terminal aesthetics with modern web‑centric capabilities. At its core, the application exposes a multi‑protocol interface—Telnet, SSH, and WebSocket—allowing callers to connect from classic BBS clients or modern browsers. The architecture is intentionally lightweight, written entirely in Node.js (v14+), and leverages a single SQLite database for persistence. This makes the codebase straightforward to audit, extend, and ship as a single binary or Docker image.

Architecture & Technical Stack

  • Runtime: Node.js with an event‑driven, non‑blocking I/O model.
  • Configuration: HJSON files provide a human‑readable yet machine‑parsable format, enabling dynamic reloading of menus, themes, and system options.
  • Database: SQLite is used for all relational data—users, message areas, file bases, and logs—ensuring zero‑configuration deployments.
  • Logging: Structured Bunyan logs enable seamless integration with log aggregation services.
  • Security: Passwords are stored using PBKDF2, and the platform supports optional 2FA via TOTP.
  • Extensibility: A modular “mods” system exposes a JavaScript API, allowing developers to hook into user events, message routing, and custom content servers.

Core Capabilities

  • Protocol Support: Native Telnet/SSH servers with optional TLS, plus WebSocket and HTTP(S) interfaces.
  • MCI & ANSI Rendering: Full support for MCI scripts, CP437/UTF‑8 output, and Syncterm‑style font emulation.
  • Content Servers: Built‑in Web, Gopher, and NNTP servers expose message bases and file areas.
  • Message Networking: FTN/BSO import/export, FidoNet‑style networking, and message routing to external BBSes.
  • File Base Engine: Inspired by Gazelle, it offers full‑text search (FTS), tagging, and HTTP(S) temporary download URLs.
  • Door Integration: Supports legacy DOS door binaries via dropfile formats, with built‑in BBSLink, DoorParty, and Exodus compatibility.
  • Achievements & Gamification: A pluggable achievement system encourages user engagement and can be extended via mods.
  • API & Webhooks: Exposes RESTful endpoints for external systems and supports event‑based webhooks for real‑time integrations.

Deployment & Infrastructure

ENiGMA½ is designed to run on any platform that supports Node.js: Linux, FreeBSD, OpenBSD, macOS, and Windows. A single Docker image encapsulates the runtime, SQLite database, and all binaries, simplifying CI/CD pipelines. For larger deployments, multiple nodes can be orchestrated behind a load balancer; the SQLite database can be swapped for PostgreSQL with minimal code changes thanks to the abstraction layer. The application is CPU‑bound rather than memory‑intensive, making it suitable for Raspberry Pi or low‑cost VPS instances.

Integration & Extensibility

The modding framework exposes hooks such as onUserLogin, onMessageSend, and onFileUpload. Developers can write pure JavaScript modules that are loaded at runtime, enabling rapid feature development without touching the core code. The built‑in plugin registry also supports external npm packages, and community mods are documented in the official docs. Additionally, the REST API allows integration with external authentication providers (OAuth, LDAP) and monitoring tools.

Use Cases

  • Retro‑Gaming Communities: Provide a classic BBS experience with modern web access for cross‑platform play.
  • Educational Platforms: Offer terminal‑based learning modules with secure SSH access for coding exercises.
  • Internal Knowledge Bases: Host an internal message board that supports FTP‑style file sharing and structured announcements.
  • Event Ticketing: Leverage the achievement system to reward participants in community events or hackathons.

Advantages

  • Zero‑Configuration: SQLite and HJSON mean no external services or complex setup.
  • High Performance: Node.js event loop handles thousands of concurrent Telnet/SSH sessions with minimal overhead.
  • Extensible: The JavaScript modding API allows developers to add features in seconds.
  • Open Source & MIT‑Licensed: No licensing costs and full control over the codebase.
  • Cross‑Platform: Runs identically on Linux, Windows, and macOS, easing development and deployment.

ENiGMA½ BBS delivers a robust, extensible bulletin board experience that marries the charm of classic terminal interfaces with the flexibility demanded by modern developers.

Open SourceReady to get started?

Join the community and start self-hosting ENiGMA½ BBS today

Weekly Views

Loading...
Support Us

Featured Project

$30/month

Get maximum visibility with featured placement and special badges

Repository Health

Loading health data...

Information

Category
apis-services
License
BSD-2-CLAUSE
Stars
602
Technical Specs
Pricing
Open Source
Database
SQLite
Docker
Community
Supported OS
LinuxWindowsmacOSBSDDocker
Author
NuSkooler
NuSkooler
Last Updated
29 days ago