mirror of
https://github.com/NuSkooler/enigma-bbs.git
synced 2025-07-24 03:30:40 +02:00
Merge pull request #142 from NuSkooler/0.0.8-alpha
0.0.8 alpha RELEASE to master
This commit is contained in:
commit
c27482dad3
194 changed files with 4515 additions and 1495 deletions
|
@ -24,6 +24,7 @@
|
|||
"error",
|
||||
"always"
|
||||
],
|
||||
"comma-dangle": 0
|
||||
"comma-dangle": 0,
|
||||
"no-trailing-spaces" :"warn"
|
||||
}
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
# ENiGMA½ BBS Software
|
||||
|
||||

|
||||

|
||||
|
||||
ENiGMA½ is a modern BBS software with a nostalgic flair!
|
||||
|
||||
|
@ -8,7 +8,7 @@ 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
|
||||
* **Highly** customizable via [HJSON](http://hjson.org/) based configuration, menus, and themes in addition to JavaScript based [mods](docs/mods.md)
|
||||
* [MCI support](docs/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
|
||||
|
@ -17,7 +17,7 @@ ENiGMA½ is a modern BBS software with a nostalgic flair!
|
|||
* 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](docs/doors.md) including common dropfile formats for legacy DOS doors. Built in [BBSLink](http://bbslink.net/), [DoorParty](http://forums.throwbackbbs.com/), and [Exodus](https://oddnetwork.org/exodus/) support!
|
||||
* [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!
|
||||
* [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
|
||||
* [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!
|
||||
|
|
155
UPGRADE.md
155
UPGRADE.md
|
@ -1,65 +1,90 @@
|
|||
# Introduction
|
||||
This document covers basic upgrade notes for major ENiGMA½ version updates.
|
||||
|
||||
|
||||
# Before Upgrading
|
||||
* Always back up your system!
|
||||
* At least back up the `db` directory and your `menu.hjson` (or renamed equivalent)
|
||||
|
||||
|
||||
# General Notes
|
||||
Upgrades often come with changes to the default `menu.hjson`. It is wise to
|
||||
use a *different* file name for your BBS's version of this file and point to
|
||||
it via `config.hjson`. For example:
|
||||
|
||||
```hjson
|
||||
general: {
|
||||
menuFile: my_bbs.hjson
|
||||
}
|
||||
```
|
||||
|
||||
After updating code, use a program such as DiffMerge to merge in updates to
|
||||
`my_bbs.hjson` from the shipping `menu.hjson`.
|
||||
|
||||
|
||||
# Upgrading the Code
|
||||
Upgrading from GitHub is easy:
|
||||
|
||||
```bash
|
||||
cd /path/to/enigma-bbs
|
||||
git pull
|
||||
rm -rf npm_modules # do this any time you update Node.js itself
|
||||
npm install
|
||||
```
|
||||
|
||||
|
||||
# Problems
|
||||
Report your issue on Xibalba BBS, hop in #enigma-bbs on Freenet and chat, or
|
||||
[file a issue on GitHub](https://github.com/NuSkooler/enigma-bbs/issues).
|
||||
|
||||
|
||||
# 0.0.1-alpha to 0.0.4-alpha
|
||||
## Node.js 6.x+ LTS is now **required**
|
||||
You will need to upgrade Node.js to [6.x+](https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V6.md). If using [nvm](https://github.com/creationix/nvm) (you should be!) the process will go something like this:
|
||||
```bash
|
||||
nvm install 6
|
||||
nvm alias default 6
|
||||
```
|
||||
|
||||
### ES6
|
||||
Newly written code will use ES6 and a lot of code has started the migration process. Of note is the `MenuModule` class. If you have created a mod that inherits from `MenuModule`, you will need to upgrade your class to ES6.
|
||||
|
||||
## Manual Database Upgrade
|
||||
A few upgrades need to be made to your SQLite databases:
|
||||
|
||||
```bash
|
||||
rm db/file.sqltie3 # safe to delete this time as it was not used previously
|
||||
sqlite3 db/message.sqlite
|
||||
sqlite> INSERT INTO message_fts(message_fts) VALUES('rebuild');
|
||||
```
|
||||
|
||||
## Archiver Changes
|
||||
If you have overridden or made additions to archivers in your `config.hjson` you will need to update them. See [Archive Configuration](docs/archive.md) and `core/config.js`
|
||||
|
||||
## File Base Configuration
|
||||
As 0.0.4-alpha contains file bases, you'll want to create a suitable configuration if you wish to use the feature. See [File Base Configuration](docs/file_base.md).
|
||||
# Introduction
|
||||
This document covers basic upgrade notes for major ENiGMA½ version updates.
|
||||
|
||||
|
||||
# Before Upgrading
|
||||
* Always back up your system!
|
||||
* At least back up the `db` directory and your `menu.hjson` (or renamed equivalent)
|
||||
|
||||
|
||||
# General Notes
|
||||
Upgrades often come with changes to the default `menu.hjson`. It is wise to
|
||||
use a *different* file name for your BBS's version of this file and point to
|
||||
it via `config.hjson`. For example:
|
||||
|
||||
```hjson
|
||||
general: {
|
||||
menuFile: my_bbs.hjson
|
||||
}
|
||||
```
|
||||
|
||||
After updating code, use a program such as DiffMerge to merge in updates to
|
||||
`my_bbs.hjson` from the shipping `menu.hjson`.
|
||||
|
||||
|
||||
# Upgrading the Code
|
||||
Upgrading from GitHub is easy:
|
||||
|
||||
```bash
|
||||
cd /path/to/enigma-bbs
|
||||
git pull
|
||||
rm -rf npm_modules # do this any time you update Node.js itself
|
||||
npm install
|
||||
```
|
||||
|
||||
|
||||
# Problems
|
||||
Report your issue on Xibalba BBS, hop in #enigma-bbs on Freenet and chat, or
|
||||
[file a issue on GitHub](https://github.com/NuSkooler/enigma-bbs/issues).
|
||||
|
||||
# 0.0.7-alpha to 0.0.8-alpha
|
||||
ENiGMA 0.0.8-alpha comes with some structure changes:
|
||||
* Configuration files are defaulted to `./config`. Related, the `--config` option now points to a configuration **directory**
|
||||
* `./mods/art` has been moved to `./art/general`
|
||||
* `./mods` is now reserved for actual user addon modules
|
||||
* Themes have been moved from `./mods/themes` to `./art/themes`
|
||||
|
||||
With the change to the `./mods` directory, `@systemModule` is now implied for `module` declarations in `menu.hjson`. To use a user module in `./mods` you must specify `@userModule`!
|
||||
|
||||
With the above changes, you'll need to to at least:
|
||||
* Move your `~/.config/enigma-bbs/config.hjson` to `./config/config.hjson` or utlize the `--config` option.
|
||||
* Move your `prompt.hjson` and `menu.hjson` (e.g. `myboardname.hjson`) to `./config`
|
||||
* Move any non-theme art files, and theme directories to their appropriate locations mentioned above
|
||||
* Move any module directories such as `message_post_evt` to `./mods/`
|
||||
* Move any certificates, pub/private keys, etc. from `./misc` to `./config`
|
||||
* Specify user modules as `@userModule:my_module_name`
|
||||
|
||||
# 0.0.6-alpha to 0.0.7-alpha
|
||||
No issues
|
||||
|
||||
# 0.0.5-alpha to 0.0.6-alpha
|
||||
No issues
|
||||
|
||||
# 0.0.4-alpha to 0.0.5-alpha
|
||||
No issues
|
||||
|
||||
# 0.0.1-alpha to 0.0.4-alpha
|
||||
## Node.js 6.x+ LTS is now **required**
|
||||
You will need to upgrade Node.js to [6.x+](https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V6.md). If using [nvm](https://github.com/creationix/nvm) (you should be!) the process will go something like this:
|
||||
```bash
|
||||
nvm install 6
|
||||
nvm alias default 6
|
||||
```
|
||||
|
||||
### ES6
|
||||
Newly written code will use ES6 and a lot of code has started the migration process. Of note is the `MenuModule` class. If you have created a mod that inherits from `MenuModule`, you will need to upgrade your class to ES6.
|
||||
|
||||
## Manual Database Upgrade
|
||||
A few upgrades need to be made to your SQLite databases:
|
||||
|
||||
```bash
|
||||
rm db/file.sqltie3 # safe to delete this time as it was not used previously
|
||||
sqlite3 db/message.sqlite
|
||||
sqlite> INSERT INTO message_fts(message_fts) VALUES('rebuild');
|
||||
```
|
||||
|
||||
## Archiver Changes
|
||||
If you have overridden or made additions to archivers in your `config.hjson` you will need to update them. See [Archive Configuration](docs/archive.md) and `core/config.js`
|
||||
|
||||
## File Base Configuration
|
||||
As 0.0.4-alpha contains file bases, you'll want to create a suitable configuration if you wish to use the feature. See [File Base Configuration](docs/file_base.md).
|
||||
|
|
26
WHATSNEW.md
Normal file
26
WHATSNEW.md
Normal file
|
@ -0,0 +1,26 @@
|
|||
# Whats New
|
||||
This document attempts to track **major** changes and additions in ENiGMA½. For details, see GitHub.
|
||||
|
||||
## 0.0.8-alpha
|
||||
* [Mystic BBS style](http://wiki.mysticbbs.com/doku.php?id=displaycodes) extended pipe color codes. These allow for example, to set "iCE" background colors.
|
||||
* File descriptions (FILE_ID.DIZ, etc.) now support Renegade |## pipe, PCBoard, and other less common color codes found commonly in BBS era scene releases.
|
||||
* New menu stack flags: `noHistory` now works as expected, and a new addition of `popParent`. See the default `menu.hjson` for usage.
|
||||
* File structure changes making ENiGMA½ much easier to maintain and run in Docker. Thanks to RiPuk ([Dave Stephens](https://github.com/davestephens))! See [UPGRADE.md](UPGRADE.md) for details.
|
||||
* Switch to pure JS [xxhash](https://github.com/mscdex/node-xxhash) instead of farmhash. Too many issues on ARM and other less popular CPUs with farmhash ([Dave Stephens](https://github.com/davestephens))
|
||||
* Native [CombatNet](http://combatnet.us/) support! ([Dave Stephens](https://github.com/davestephens))
|
||||
* Fix various issues with legacy DOS Telnet terminals. Note that some may still have issues with extensive CPR usage by ENiGMA½ that will be addressed in a future release.
|
||||
* Added web (http://, https://) based download manager including batch downloads. Clickable links if using [VTXClient](https://github.com/codewar65/VTX_ClientServer)!
|
||||
* General VTX hyperlink support for web links
|
||||
* DEL vs Backspace key differences in FSE
|
||||
* Correly parse oddball `INTL`, `TOPT`, `FMPT`, `Via`, etc. FTN kludge lines
|
||||
* NetMail support! You can now send and receive NetMail. To send a NetMail address a external user using `Name <address>` format from your personal email menu. For example, `Foo Bar <123:123/123>`. The system also detects other formats such asa `Name @ address` (`Foo Bar@123:123/123`)
|
||||
* `oputil.js`: Added `mb areafix` command to quickly send AreaFix messages from the command line. You can manually send them from personal mail as well.
|
||||
* `oputil.js fb rm|remove|del|delete` functionality to remove file base entries
|
||||
* Users can now (re)set File and Message base pointers
|
||||
* Add `--update` option to `oputil.js fb scan`
|
||||
* Fix @watch path support for event scheduler including FTN, e.g. when looking for a `toss!.now` file produced by Binkd.
|
||||
|
||||
...LOTS more!
|
||||
|
||||
## Pre 0.0.8-alpha
|
||||
See GitHub
|
Binary file not shown.
Binary file not shown.
BIN
art/themes/luciano_blocktronics/FWDLMGR.ANS
Normal file
BIN
art/themes/luciano_blocktronics/FWDLMGR.ANS
Normal file
Binary file not shown.
BIN
art/themes/luciano_blocktronics/MSGMNU.ANS
Normal file
BIN
art/themes/luciano_blocktronics/MSGMNU.ANS
Normal file
Binary file not shown.
BIN
art/themes/luciano_blocktronics/SETFNSDATE.ANS
Normal file
BIN
art/themes/luciano_blocktronics/SETFNSDATE.ANS
Normal file
Binary file not shown.
BIN
art/themes/luciano_blocktronics/SETMNSDATE.ANS
Normal file
BIN
art/themes/luciano_blocktronics/SETMNSDATE.ANS
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue