diff --git a/README.md b/README.md index 4137ae0d..2d312d7d 100644 --- a/README.md +++ b/README.md @@ -26,11 +26,18 @@ ENiGMA½ is a modern BBS software with a nostalgic flair! * ANSI support in the Full Screen Editor (FSE), file descriptions, etc. * A built in achievement system. BBSing gamified! + ...and much much more. Please check out [the issue tracker](https://github.com/NuSkooler/enigma-bbs/issues) and feel free to request features (or contribute!) features! + ## Documentation [Browse the docs online](https://nuskooler.github.io/enigma-bbs/). Be sure to checkout the [/docs/](/docs/) folder as well for the latest and greatest documentation. -## In the Works -Many more features are in the pipeline. Checkout the [the issue tracker](https://github.com/NuSkooler/enigma-bbs/issues) and feel free to request features (or contribute!) features. +## 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 | bash +``` + +Please see [Installation Methods](https://nuskooler.github.io/enigma-bbs/installation/installation-methods.html) for Windows, Docker, and so on... ## Known Issues As of now this is considered **beta** code! Please **expect bugs** :bug: -- and when you find them, log issues and/or submit pull requests. With that said, the code is actually quite stable and is used by a number of boards. @@ -60,14 +67,6 @@ ENiGMA has been tested with many terminals. However, the following are suggested * [PlaneT Afr0](https://planetafr0.org/): (**ssh://planetafr0.org:8889**) * [Goblin Studio](https://goblin.strangled.net): (**ssh://goblin.strangled.net:8889**) -## Installation -On *nix type systems: -``` -curl -o- https://raw.githubusercontent.com/NuSkooler/enigma-bbs/master/misc/install.sh | bash -``` - -Please see [Installation Methods](https://nuskooler.github.io/enigma-bbs/installation/installation-methods.html) for Windows, Docker, and so on... - ## Special Thanks * [Dave Stephens aka RiPuk](https://github.com/davestephens) for the awesome [ENiGMA website](https://enigma-bbs.github.io/) and [KICK ASS documentation](https://nuskooler.github.io/enigma-bbs/), code contributions, etc. * [Daniel Mecklenburg Jr.](https://github.com/codewar65) for the awesome VTX terminal and general coding talk @@ -84,6 +83,8 @@ Please see [Installation Methods](https://nuskooler.github.io/enigma-bbs/install * [Whazzit/blocktronics](http://blocktronics.org/tag/whazzit/) for the amazing Mayan ANSI pieces scattered about Xibalba BBS! * [Smooth](https://16colo.rs/tags/artist/smooth)/[fUEL](https://fuel.wtf/) for lots of dope art. Why not [snag a T-Shirt](https://www.redbubble.com/people/araknet/works/39126831-enigma-1-2-software-logo-design-by-smooth-of-fuel?p=t-shirt)? +...and so many others! This project would be nothing without the BBS and artscene communities! + ## License Released under the [BSD 2-clause](https://opensource.org/licenses/BSD-2-Clause) license: diff --git a/art/themes/luciano_blocktronics/MMENU.ANS b/art/themes/luciano_blocktronics/MMENU.ANS index 9db39ca9..28792570 100644 Binary files a/art/themes/luciano_blocktronics/MMENU.ANS and b/art/themes/luciano_blocktronics/MMENU.ANS differ diff --git a/docs/index.md b/docs/index.md index edeab5a6..1f5eba1d 100644 --- a/docs/index.md +++ b/docs/index.md @@ -10,18 +10,21 @@ ENiGMA½ is a modern BBS software with a nostalgic flair! ## Features Available Now * Multi platform: Anywhere [Node.js](https://nodejs.org/) runs likely works (known to work under Linux, FreeBSD, OpenBSD, OS X and Windows) * Unlimited multi node support (for all those BBS "callers"!) - * **Highly** customizable via [HJSON](http://hjson.org/) based configuration, menus, and themes in addition to JavaScript based [mods](modding/) - * [MCI support](art/mci.md) for lightbars, toggles, input areas, and so on plus many other other bells and whistles + * **Highly** customizable via [HJSON](http://hjson.org/) based configuration, menus, and themes in addition to JavaScript based [mods](docs/modding/existing-mods.md) + * [MCI support](docs/art/mci.md) for lightbars, toggles, input areas, and so on plus many other other bells and whistles * Telnet, **SSH**, and both secure and non-secure [WebSocket](https://en.wikipedia.org/wiki/WebSocket) access built in! Additional servers are easy to implement * [CP437](http://www.ascii-codes.com/) and UTF-8 output - * [SyncTerm](http://syncterm.bbsdev.net/) style font and baud emulation support. Display PC/DOS and Amiga style artwork as it's intended! In general, ANSI-BBS / [cterm.txt](http://cvs.synchro.net/cgi-bin/viewcvs.cgi/*checkout*/src/conio/cterm.txt?content-type=text%2Fplain&revision=HEAD) / [bansi.txt](http://www.bbsdocumentary.com/library/PROGRAMS/GRAPHICS/ANSI/bansi.txt) are followed for expected BBS behavior - * Full [SAUCE](http://www.acid.org/info/sauce/sauce.htm) support - * Renegade style pipe color codes - * [SQLite](http://sqlite.org/) storage of users, message areas, and so on - * Strong [PBKDF2](https://en.wikipedia.org/wiki/PBKDF2) backed password encryption - * [Door support](modding/local-doors.md) including common dropfile formats for legacy DOS doors. Built in [BBSLink](http://bbslink.net/), [DoorParty](http://forums.throwbackbbs.com/), [Exodus](https://oddnetwork.org/exodus/) and [CombatNet](http://combatnet.us/) support! - * [Bunyan](https://github.com/trentm/node-bunyan) logging - * [Message networks](messageareas/message_networks.md) with FidoNet Type Network (FTN) + BinkleyTerm Style Outbound (BSO) message import/export - * [Gazelle](https://github.com/WhatCD/Gazelle) inspired File Bases including fast fully indexed full text search (FTS), #tags, and HTTP(S) temporary download URLs using a built in [web server](servers/web-server.md). Legacy X/Y/Z modem also supported! + * [SyncTERM](http://syncterm.bbsdev.net/) style font and baud emulation support. Display PC/DOS and Amiga style artwork as it's intended! In general, ANSI-BBS / [cterm.txt](http://cvs.synchro.net/cgi-bin/viewcvs.cgi/*checkout*/src/conio/cterm.txt?content-type=text%2Fplain&revision=HEAD) / [bansi.txt](http://www.bbsdocumentary.com/library/PROGRAMS/GRAPHICS/ANSI/bansi.txt) are followed for expected BBS behavior. + * Full [SAUCE](http://www.acid.org/info/sauce/sauce.htm) support. + * Renegade style [pipe color codes](/docs/configuration/colour-codes.md). + * [SQLite](http://sqlite.org/) storage of users, message areas, etc. + * Strong [PBKDF2](https://en.wikipedia.org/wiki/PBKDF2) backed password encryption. + * Support for 2-Factor Authentication with One-Time-Passwords + * [Door support](docs/modding/door-servers.md) including common dropfile formats for legacy DOS doors. Built in [BBSLink](http://bbslink.net/), [DoorParty](http://forums.throwbackbbs.com/), [Exodus](https://oddnetwork.org/exodus/) and [CombatNet](http://combatnet.us/) support! + * [Bunyan](https://github.com/trentm/node-bunyan) logging! + * [Message networks](docs/messageareas/message-networks.md) with FidoNet Type Network (FTN) + BinkleyTerm Style Outbound (BSO) message import/export. Messages Bases can also be exposed via [Gopher](docs/servers/gopher.md), or [NNTP](docs/servers/nntp.md)! + * [Gazelle](https://github.com/WhatCD/Gazelle) inspired File Bases including fast fully indexed full text search (FTS), #tags, and HTTP(S) temporary download URLs using a built in [web server](docs/servers/web-server.md). Legacy X/Y/Z modem also supported! * Upload processor supporting [FILE_ID.DIZ](https://en.wikipedia.org/wiki/FILE_ID.DIZ) and [NFO](https://en.wikipedia.org/wiki/.nfo) extraction, year estimation, and more! - * ANSI support in the Full Screen Editor (FSE), file descriptions, and so on + * ANSI support in the Full Screen Editor (FSE), file descriptions, etc. + * A built in achievement system. BBSing gamified! + diff --git a/docs/installation/docker.md b/docs/installation/docker.md index 82e03e5c..4071a018 100644 --- a/docs/installation/docker.md +++ b/docs/installation/docker.md @@ -2,20 +2,21 @@ layout: page title: Docker --- -**You'll need Docker installed before going any further. How to do so are out of scope of these docs, but you can find full instructions +**You'll need Docker installed before going any further. How to do so are out of scope of these docs, but you can find full instructions for every operating system on the [Docker website](https://docs.docker.com/engine/installation/).** ## Quick Start - -Download and run the ENiGMA½ BBS image: +Download and run the ENiGMA½ BBS image: docker run -d \ -p 8888:8888 \ davestephens/enigma-bbs:latest -As no config has been supplied the container will use a basic one so that it starts successfully. Note that as no persistence -directory has been supplied, once the container stops any changes made will be lost! +:information_source: This is a **very basic** example! As no config has been supplied the container will use a basic one so that it starts successfully. Note that as no persistence directory has been supplied, once the container stops any changes made will be lost! -## Customised Docker Setup +:information_source: [Volumes](https://docs.docker.com/storage/volumes/) may be used for things such as your configuration and database path. +## Customized Docker Setup TBC using Docker Compose + +:pencil: This area is looking for contributors! diff --git a/docs/installation/install-script.md b/docs/installation/install-script.md index 2f92db79..56da80cf 100644 --- a/docs/installation/install-script.md +++ b/docs/installation/install-script.md @@ -9,10 +9,10 @@ Under most Linux/UNIX like environments (Linux, BSD, OS X, ...) new users can s curl -o- https://raw.githubusercontent.com/NuSkooler/enigma-bbs/master/misc/install.sh | bash ``` -You may review the [installation script](https://raw.githubusercontent.com/NuSkooler/enigma-bbs/master/misc/install.sh) -on GitHub before running it. +:information_source: You may wish to review the [installation script](https://raw.githubusercontent.com/NuSkooler/enigma-bbs/master/misc/install.sh) +on GitHub before running it! -The script will install nvm, Node.js 6 and grab the latest ENiGMA BBS from GitHub. It will also guide you through creating a basic configuration file, and recommend some packages to install. +The script will install `nvm`, Node.js and grab the latest ENiGMA BBS from GitHub. It will also guide you through creating a basic configuration file, and recommend some packages to install. After installing, see [Updating](/docs/admin/updating.md). diff --git a/docs/installation/installation-methods.md b/docs/installation/installation-methods.md index 5d751ea0..65f4fc48 100644 --- a/docs/installation/installation-methods.md +++ b/docs/installation/installation-methods.md @@ -3,14 +3,16 @@ layout: page title: Installation Methods --- ## Installation Methods -There are multiple ways of installing ENiGMA BBS, depending on your level of experience and desire to do -things manually versus have it automated for you. +There are multiple ways of installing ENiGMA BBS, depending on your level of experience and desire to do things manually versus have it automated for you. | Method | Operating System Compatibility | Notes | |--------|--------------------------------|-------| | [Installation Script](install-script.md) | Linux, BSD, OSX | Quick and easy installation under most Linux/UNIX like environments (Linux, BSD, OS X, ...) | | [Docker Images](docker.md) | Linux, BSD, OSX, Windows | Easy upgrades, compatible with all operating systems, no dependencies to install | -| [Manual](manual.md) | Linux, Windows (probably others but untested! | If you like doing things manually, or are running Windows | +| [Manual](manual.md) | Linux, Windows, BSD (And others; YMMV!) | If you like doing things manually, or are running Windows | + +## Community HOWTO's +Check [this awesome video on installation and basic configuration](https://youtu.be/WnN-ucVi3ZU)! ## Keeping Up To Date After installing, you'll want to [keep your system updated](/docs/admin/updating.md). \ No newline at end of file diff --git a/docs/installation/manual.md b/docs/installation/manual.md index 0965a870..efa4b307 100644 --- a/docs/installation/manual.md +++ b/docs/installation/manual.md @@ -6,17 +6,16 @@ For Linux environments it's recommended you run the [install script](install-scr do things manually, read on... ## Prerequisites -* [Node.js](https://nodejs.org/) version **v10.x LTS or higher** (Note that 8.x LTS *probably* works but is unsupported). - * :information_source: It is **highly** recommended to use [nvm](https://github.com/creationix/nvm) to manage your - Node.js installation if you're on a Linux/Unix environment. +* [Node.js](https://nodejs.org/) version **v12.x LTS or higher** (Note that 8.x LTS *probably* works but is unsupported). + * :information_source: It is **highly** recommended to use [Node Version Manager (NVM)](https://github.com/creationix/nvm) to manage your Node.js installation if you're on a Linux/Unix environment. -* [Python](https://www.python.org/downloads/) 2.7.x for compiling Node.js packages with native extensions. +* [Python](https://www.python.org/downloads/) for compiling Node.js packages with native extensions via `node-gyp`. * A compiler such as Clang or GCC for Linux/UNIX systems or a recent copy of Visual Studio ([Visual Studio Express](https://www.visualstudio.com/en-us/products/visual-studio-express-vs.aspx) editions are OK) for Windows users. Note that you **should only need the Visual C++ component**. -* [git](https://git-scm.com/downloads) to check out the ENiGMA source code. +* [Git](https://git-scm.com/downloads) to check out the ENiGMA source code. ## Node.js ### With NVM @@ -29,9 +28,9 @@ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | Next, install Node.js with NVM: ```bash -nvm install 10 -nvm use 10 -nvm alias default 10 +nvm install 12 +nvm use 12 +nvm alias default 12 ``` If the above steps completed without errors, you should now have `nvm`, `node`, and `npm` installed and in your environment. @@ -64,6 +63,8 @@ ENiGMA BBS makes use of a few packages for archive and legacy protocol support. | exiftool | [ExifTool](https://www.sno.phy.queensu.ca/~phil/exiftool/) | libimage-exiftool-perl | perl-Image-ExifTool | Unknown | xdms | Unpack/view Amiga DMS | [xdms](http://manpages.ubuntu.com/manpages/trusty/man1/xdms.1.html) | xdms | Unknown +:information_source: Please see also [Archivers](/docs/configuration/archivers.md) and [File Transfer Protocols](/docs/configuration/file-transfer-protocols.md) for additional recommended binaries and configuration. + ## Config Files You'll need a basic configuration to get started. The main system configuration is handled via `config/config.hjson`. This is an [HJSON](http://hjson.org/) file (compiliant JSON is also OK). See [Configuration](../configuration/) for more information.