Bring in some doc updates from master

This commit is contained in:
Bryan Ashby 2018-04-29 09:07:29 -06:00
commit ddff36dba2
10 changed files with 139 additions and 43 deletions

View File

@ -8,8 +8,8 @@ ENiGMA½ is a modern BBS software with a nostalgic flair!
## Features Available Now ## 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) * 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"!) * 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](docs/mods.md) * **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/mci.md) for lightbars, toggles, input areas, and so on plus many other other bells and whistles * [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 * 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 * [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 * [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
@ -17,10 +17,10 @@ ENiGMA½ is a modern BBS software with a nostalgic flair!
* Renegade style pipe color codes * Renegade style pipe color codes
* [SQLite](http://sqlite.org/) storage of users, message areas, and so on * [SQLite](http://sqlite.org/) storage of users, message areas, and so on
* Strong [PBKDF2](https://en.wikipedia.org/wiki/PBKDF2) backed password encryption * Strong [PBKDF2](https://en.wikipedia.org/wiki/PBKDF2) backed password encryption
* [Door support](docs/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! * [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 * [Bunyan](https://github.com/trentm/node-bunyan) logging
* [Message networks](docs/msg_networks.md) with FidoNet Type Network (FTN) + BinkleyTerm Style Outbound (BSO) message import/export * [Message networks](docs/messageareas/message-networks.md) with FidoNet Type Network (FTN) + BinkleyTerm Style Outbound (BSO) message import/export. Messages Bases can also be set to read-only viewable using a built in Gopher server!
* [Gazelle](https://github.com/WhatCD/Gazelle) inspirted File Bases including fast fully indexed full text search (FTS), #tags, and HTTP(S) temporary download URLs using a built in [web server](docs/web_server.md). Legacy X/Y/Z modem also supported! * [Gazelle](https://github.com/WhatCD/Gazelle) inspirted 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! * 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, and so on

View File

@ -4,8 +4,8 @@
- [Docker]({{ site.baseurl }}{% link installation/docker.md %}) - [Docker]({{ site.baseurl }}{% link installation/docker.md %})
- [Manual installation]({{ site.baseurl }}{% link installation/manual.md %}) - [Manual installation]({{ site.baseurl }}{% link installation/manual.md %})
- [OS / Hardware Specific]({{ site.baseurl }}{% link installation/os-hardware.md %}) - [OS / Hardware Specific]({{ site.baseurl }}{% link installation/os-hardware.md %})
- Raspberry Pi - [Raspberry Pi]({{ site.baseurl }}{% link installation/rpi.md %})
- Windows - [Windows]({{ site.baseurl }}{% link installation/windows.md %})
- [Your Network Setup]({{ site.baseurl }}{% link installation/network.md %}) - [Your Network Setup]({{ site.baseurl }}{% link installation/network.md %})
- [Testing Your Installation]({{ site.baseurl }}{% link installation/testing.md %}) - [Testing Your Installation]({{ site.baseurl }}{% link installation/testing.md %})
- [Production Installation]({{ site.baseurl }}{% link installation/production.md %}) - [Production Installation]({{ site.baseurl }}{% link installation/production.md %})

View File

@ -26,5 +26,4 @@ email: {
} }
} }
} }
}
``` ```

View File

@ -2,31 +2,10 @@
layout: page layout: page
title: OS & Hardware Specific Information title: OS & Hardware Specific Information
--- ---
## Raspberry Pi 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.
All Raspberry Pi models work great with ENiGMA½! Keep in mind compiling the dependencies with | Method | Notes |
`npm install` will take some time and *may* appear to hang. It's still working - just be patient and let it |----------------------------------------|---------------------------------------------------------------------------------------------|
complete. | [Raspberry Pi](rpi) | All Raspberry Pi models work great with ENiGMA½! |
| [Windows](windows) | Compatible with all Windows Operating Systems |
### Basic Instructions
1. Download [Raspbian Stretch Lite](https://www.raspberrypi.org/downloads/raspbian/). Follow the instructions
on the [Raspbian site](https://www.raspberrypi.org/documentation/installation/installing-images/README.md) regarding how
to get it written to an SD card.
2. Run `sudo raspi-config`, then:
1. Set your timezone (option 4, option I2)
2. Enable SSH (option 5, option P2)
3. Expand the filesystem to use the entire SD card (option 7, option A1)
3. Update & upgrade all packages: `apt-get update && apt-get upgrade`
4. Install required packages: `sudo apt install lrzsz p7zip-full`
5. Follow the [installation instructions](/installation) to install ENiGMA½.
6. Profit!
## Windows
Needs more info, please submit a PR!

27
docs/installation/rpi.md Normal file
View File

@ -0,0 +1,27 @@
---
layout: page
title: Raspberry Pi
---
All Raspberry Pi models work great with ENiGMA½! Keep in mind compiling the dependencies with
`npm install` will take some time and *may* appear to hang. It's still working - just be patient and let it
complete.
### Basic Instructions
1. Download [Raspbian Stretch Lite](https://www.raspberrypi.org/downloads/raspbian/). Follow the instructions
on the [Raspbian site](https://www.raspberrypi.org/documentation/installation/installing-images/README.md) regarding how
to get it written to an SD card.
2. Run `sudo raspi-config`, then:
1. Set your timezone (option 4, option I2)
2. Enable SSH (option 5, option P2)
3. Expand the filesystem to use the entire SD card (option 7, option A1)
3. Update & upgrade all packages: `apt-get update && apt-get upgrade`
4. Install required packages: `sudo apt install lrzsz p7zip-full`
5. Follow the [installation instructions](/installation) to install ENiGMA½.
6. Profit!

View File

@ -0,0 +1,69 @@
---
layout: page
title: Windows Full Install
---
ENiGMA½ will run on both 32bit and 64bit Windows. If you want to run 16bit doors natively then you should use a 32bit Windows.
### Basic Instructions
1. Download and Install [Node.JS](https://nodejs.org/en/download/).
1. Upgrade NPM : At this time node comes with NPM 5.6 preinstalled. To upgrade to a newer version now or in the future on windows follow this method. `*Run PowerShell as Administrator`
`*Initial Install`
```Powershell
Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force
npm install -g npm-windows-upgrade
```
`*Upgrade`
```Powershell
npm-windows-upgrade
```
Note: Do not run `npm i -g npm`. Instead use `npm-windows-upgrade` to update npm going forward.
Also if you run the NodeJS installer, it will replace the node version.
2. Install [windows-build-tools for npm](https://www.npmjs.com/package/windows-build-tools)
`*This will also install python 2.7`
```Powershell
npm install --global --production windows-build-tools
```
2. Install [7zip](https://www.7-zip.org/download.html).
*Add 7zip to your path so `7z` can be called from the console
1. Right click `This PC` and Select `Properties`
2. Go to the `Advanced` Tab and click on `Enviromental Varibles`
3. Select `Path` under `System Varibles` and click `Edit`
4. Click `New` and paste the path to 7zip
5. Close your console window and reopen. You can type `7z` to make sure it's working.
3. Install [Git](https://git-scm.com/downloads) and optionally [TortoiseGit](https://tortoisegit.org/download/).
4. Clone ENiGMA½ - browse to the directory you want and run
```Powershell
git clone "https://github.com/NuSkooler/enigma-bbs.git"
```
Optionally use the TortoiseGit by right clicking the directory and selecting `Git Clone`.
5. Install ENiGMA½.
1. In the enigma directory run
```Powershell
npm install
```
2. Generate your initial configuration: `Follow the prompts!`
```Powershell
node .\oputil.js config new
```
3. Edit your configuration files in `enigma-bbs\config` with [Notepad++](https://notepad-plus-plus.org/download/) or [Visual Studio Code](https://code.visualstudio.com/Download)
4. Run ENiGMA½
```Powershell
node .\main.js
```
6. Look at [Production Installation](/installation/production) for maintaining ENiGMA½ when you are ready to go live.

View File

@ -35,7 +35,7 @@ Each entry's key name is referenced elsewhere in `config.hjson` for FTN oriented
## Message Areas ## Message Areas
The `areas` section describes a mapping of local **area tags** configured in your `messageConferences` (see The `areas` section describes a mapping of local **area tags** configured in your `messageConferences` (see
[Configuring a Message Area][/messageareas/configuring-a-message-area]) to a message network (described [Configuring a Message Area](configuring-a-message-area.md)) to a message network (described
above), a FTN specific area tag, and remote uplink address(s). above), a FTN specific area tag, and remote uplink address(s).
This section can be thought of similar to the *AREAS.BBS* file used by other BBS packages. This section can be thought of similar to the *AREAS.BBS* file used by other BBS packages.

View File

@ -16,9 +16,10 @@ You then need to enable the SSH server in your `config.hjson`:
{ {
loginServers: { loginServers: {
ssh: { ssh: {
enabled: true enabled: true
port: 8889 port: 8889
privateKeyPass: YOUR_PK_PASS privateKeyPem: /path/to/ssh_private_key.pem
privateKeyPass: YOUR_PK_PASS
} }
} }
} }

View File

@ -2,3 +2,24 @@
layout: page layout: page
title: Telnet Server title: Telnet Server
--- ---
Telnet is enabled by default on port `8888` in `config.hjson`:
```hjson
{
loginServers: {
telnet: {
enabled: true
port: 8888
}
}
}
```
### Telnet Server Options
| Option | Description
|---------------------|--------------------------------------------------------------------------------------|
| `firstMenu` | First menu a telnet connected user is presented with
| `enabled` | Enable/disable telnet server
| `port` | Configure a custom port for the telnet server

View File

@ -21,7 +21,7 @@ There are a few things out of scope of this document:
## Setup ## Setup
1. Enable the websocket in ENiGMA, by adding `webSocket` configuration to the `loginServers` block (create it if you 1. Enable the websocket in ENiGMA, by adding `webSocket` configuration to the `loginServers` block in `config.hjson` (create it if you
don't already have it defined). don't already have it defined).
````hjson ````hjson