ENiGMA½ is a modern BBS software with a nostalgic flair!
Features
Below are just some of the features ENiGMA½ supports out of the box:
- Multi platform — Anywhere modern Node.js runs likely works (known to work under Linux, FreeBSD, OpenBSD, macOS and Windows)
- Unlimited multi node support
- Highly customizable via HJSON based configuration, menus, and themes in addition to JavaScript based mods
- SQLite storage of users, message areas, etc.
- Strong PBKDF2 backed password encryption.
- Support for 2-Factor Authentication with One-Time-Passwords
- Structured Bunyan logging!
- Telnet, SSH, and both secure and non-secure WebSocket access built in! Additional servers are easy to implement
- Built-in web server with HTTP(S) support — powers temporary download URLs, file browsing, and more
- CP437 and UTF-8 output with wide character support — CJK, Hangul, fullwidth forms, and similar scripts display and edit correctly
- SyncTERM style font support. Display PC/DOS and Amiga style artwork as it should be! In general, ANSI-BBS / cterm.txt / bansi.txt are followed for expected BBS behavior.
- Baud emulation. View ANSI like the block gods intended.
- Full SAUCE support.
- Renegade style pipe color codes.
- MCI support for lightbars, toggles, input areas, and so on plus many other bells and whistles
- Message networks with FidoNet Type Network (FTN) + BinkleyTerm Style Outbound (BSO) message import/export, and MRC (Multi-Relay Chat)
- Native BinkP/1.1 mailer — built-in inbound listener and outbound caller for FTN networks. No external
binkdrequired; outbound mail ships immediately on export ("crashmail"), and a configurable pull cycle keeps echo mail flowing in from quiet hubs. - Internet mail — send and receive email directly from the BBS private message system via IMAP/SMTP. See Internet Mail
- ActivityPub / Fediverse (experimental) — federated messaging with WebFinger, NodeInfo2, actor profiles, and common ActivityPub object types; PNG avatars with auto-generated defaults
- Message bases exposed via Gopher and NNTP content servers
- Gazelle (🪦) inspired File Bases including fast fully indexed full text search (FTS), #tags, and legacy X/Y/Z modem support
- Upload processor supporting FILE_ID.DIZ and NFO extraction, year estimation, and more!
- Door support including common dropfile formats for legacy DOS doors. Built in BBSLink, DoorParty, and Exodus!
- Native x86/DOS door emulation via v86 — run classic DOS BBS doors (LORD, PimpWars, TradeWars, etc.) directly inside ENiGMA½ with zero external dependencies. No QEMU, DOSBox, or DOSEMU required. Includes
oputil fatfor managing FreeDOS disk images andoputil v86for an interactive browser-based DOS desktop. See Local Doors — v86. - Z-Machine interactive fiction — run Infocom classics (Zork, Colossal Cave, and hundreds more from the IF Archive) natively in Node.js. No external emulator required. Supports Z-Machine versions 3, 4, 5, and 8. See Z-Machine Door.
- Full Screen Editor (FSE) with ANSI art support, real-time cursor/mode indicators, inline find/search (
Ctrl-F), file upload to body, and a fully modernized view engine - A remote accessible Waiting For Caller (WFC)!
- Expandable achievement system — BBSing gamified!
...and much much more. Please check out the issue tracker and feel free to request features (or contribute!) features!
Documentation
Browse the docs online. Be sure to checkout the /docs/ folder as well for the latest and greatest documentation.
Installation
On most *nix systems simply run the following from your terminal:
curl -o- https://raw.githubusercontent.com/NuSkooler/enigma-bbs/master/misc/install.sh | bashPlease see Installation Methods for Windows, Docker, and so on...
Donating
If you feel the urge to donate, you can do so here
Support
- See Discussions and the issue tracker
- Discussion on a ENiGMA BBS! (see Boards below)
- Discord: https://discord.gg/ghx8Vxex
FSX_ENGon fsxNet available on many fine boards- Email: bryan -at- l33t.codes
- Facebook ENiGMA½ group
Terminal Clients
ENiGMA has been tested with many terminals. However, the following are suggested for BBSing:
Some Boards
- 💀 Xibalba - ENiGMA WHQ 💀 (ssh://xibalba.l33t.codes:44511 or telnet://xibalba.l33t.codes:44510)
- Undercurrents: (ssh://undercurrents.io)
Special Thanks
(in no particular order)
- Dave Stephens aka RiPuk for the awesome ENiGMA website and KICK ASS documentation, code contributions, etc.
- Daniel Mecklenburg Jr. for the awesome VTX terminal and general coding talk
- M. Brutman, author of mTCP (Interwebs for DOS!)
- M. Griffin, author of Enthral BBS, Oblivion/2 XRM and EtherTerm!
- Caphood, supreme SysOp of BLACK ƒlag BBS. May he rest in peace 🪦
- Luciano Ayres of Blocktronics, creator of the "Mystery Skulls" default ENiGMA½ theme!
- Sudndeath for Xibalba ANSI work!
- Jack Phlash for kick ass ENiGMA½ and Xibalba ASCII (Check out IMPURE60!!)
- Avon of Agency BBS and fsxNet for putting up with my experiments to his system and for FSX_ENG!
- Maskreet of Throwback BBS hosting DoorParty!
- Apam of Magicka
- nail/blocktronics for the sickmade Xibalba logo!
- Whazzit/blocktronics for the amazing Mayan ANSI pieces scattered about Xibalba BBS!
- Smooth/fUEL for lots of dope art. Why not snag a T-Shirt?
- Al's Geek Lab for the installation video and of course the Back to the BBS - Part one: The return to being online documentary!
- Alpha for the FTN-style configuration guide!
- Huge shout out to cognitivegears for the various fixes, improvements, and removing the need for cursor position reports providing a much better terminal experience!
- MeaTLoTioN for the MRC contributions!
...and so many others! This project would be nothing without the BBS and art scene communities!
License
Released under BSD 2-clause. See LICENSE.TXT
