From 8e8016d0fd45b5430c984c44dbdac89a6099d830 Mon Sep 17 00:00:00 2001 From: Bryan Ashby Date: Sun, 22 Nov 2020 13:53:47 -0700 Subject: [PATCH] Hopefully fix all links on doc site --- WHATSNEW.md | 8 ++++---- docs/admin/administration.md | 2 +- docs/admin/oputil.md | 2 +- docs/admin/updating.md | 2 +- docs/art/general.md | 4 ++-- docs/configuration/acs.md | 4 ++-- docs/configuration/config-files.md | 4 ++-- docs/configuration/config-hjson.md | 4 ++-- docs/configuration/external-binaries.md | 2 +- docs/configuration/hjson.md | 2 +- docs/configuration/menu-hjson.md | 14 +++++++------- docs/configuration/security.md | 12 ++++++------ docs/filebase/acs.md | 4 ++-- docs/filebase/first-file-area.md | 8 ++++---- docs/filebase/tic-support.md | 2 +- docs/index.md | 2 +- docs/installation/install-script.md | 4 ++-- docs/installation/installation-methods.md | 2 +- docs/messageareas/configuring-a-message-area.md | 10 +++++----- docs/messageareas/ftn.md | 2 +- docs/messageareas/qwk.md | 2 +- docs/misc/user-interrupt.md | 2 +- docs/modding/node-msg.md | 2 +- docs/modding/telnet-bridge.md | 2 +- docs/modding/top-x.md | 2 +- docs/modding/user-2fa-otp-config.md | 2 +- 26 files changed, 53 insertions(+), 53 deletions(-) diff --git a/WHATSNEW.md b/WHATSNEW.md index c5071ef7..8d80ea2b 100644 --- a/WHATSNEW.md +++ b/WHATSNEW.md @@ -20,8 +20,8 @@ This document attempts to track **major** changes and additions in ENiGMA½. For + `oputil.js user rename USERNAME NEWNAME` + `my_messages.js` module (defaulted to "m" at the message menu) to list public messages addressed to the currently logged in user. Takes into account their username and `real_name` property. + SSH Public Key Authentication has been added. The system uses a OpenSSH style public key set on the `ssh_public_key` user property. -+ 2-Factor (2FA) authentication is now available using [RFC-4266 - HOTP: HMAC-Based One-Time Password Algorithm)](https://tools.ietf.org/html/rfc4226), [RFC-6238 - TOTP: Time-Based One-Time Password Algorithm](https://tools.ietf.org/html/rfc6238), or [Google Authenticator](http://google-authenticator.com/). QR codes for activation are available as well. One-time backup aka recovery codes can also be used. See [Security](/docs/configuration/security.md) for more info! -* New ACS codes for new 2FA/OTP: `AR` and `AF`. See [ACS](/docs/configuration/acs.md) for details. ++ 2-Factor (2FA) authentication is now available using [RFC-4266 - HOTP: HMAC-Based One-Time Password Algorithm)](https://tools.ietf.org/html/rfc4226), [RFC-6238 - TOTP: Time-Based One-Time Password Algorithm](https://tools.ietf.org/html/rfc6238), or [Google Authenticator](http://google-authenticator.com/). QR codes for activation are available as well. One-time backup aka recovery codes can also be used. See [Security](./docs/configuration/security.md) for more info! +* New ACS codes for new 2FA/OTP: `AR` and `AF`. See [ACS](./docs/configuration/acs.md) for details. + `oputil.js user 2fa USERNAME TYPE` enables 2-factor authentication for a user. * `oputil.js user info USERNAME --security` can now display additional security information such as 2FA/OTP. * `oputil.js fb scan --quick` is now the default. Override with `--full`. @@ -84,8 +84,8 @@ submit: [ * `install.sh` will now attempt to use NPM's `--build-from-source` option when ARM is detected. * `oputil.js config new` will now generate a much more complete configuration file with comments, examples, etc. `oputil.js config cat` dumps your current config to stdout. * Handling of failed login attempts is now fully in. Disconnect clients, lock out accounts, ability to auto or unlock at (email-driven) password reset, etc. See `users.failedLogin` in `config.hjson`. -* NNTP support! See [NNTP docs](/docs/servers/nntp.md) for more information. -* `oputil.js user rm` and `oputil.js user info` are in! See [oputil CLI](/docs/admin/oputil.md). +* NNTP support! See [NNTP docs](./docs/servers/nntp.md) for more information. +* `oputil.js user rm` and `oputil.js user info` are in! See [oputil CLI](./docs/admin/oputil.md). * Performing a file scan/import using `oputil.js fb scan` now recognizes various `FILES.BBS` formats. * Usernames found in the `config.users.badUserNames` are now not only disallowed from applying, but disconnected at any login attempt. * Total minutes online is now tracked for users. Of course, it only starts after you get the update :) diff --git a/docs/admin/administration.md b/docs/admin/administration.md index 8d15fba5..0b960246 100644 --- a/docs/admin/administration.md +++ b/docs/admin/administration.md @@ -9,7 +9,7 @@ title: Administration See [Updating](updating.md). ## Viewing Logs -See [Monitoring Logs](/docs/troubleshooting/monitoring-logs.md). +See [Monitoring Logs](../troubleshooting/monitoring-logs.md). ## Managing Users User management is currently handled via the [oputil CLI](oputil.md). diff --git a/docs/admin/oputil.md b/docs/admin/oputil.md index e591de9f..49e7039c 100644 --- a/docs/admin/oputil.md +++ b/docs/admin/oputil.md @@ -107,7 +107,7 @@ info arguments: | `group` | Modifies users group membership | Add to group: `./oputil.js user group joeuser +derp`
Remove from group: `./oputil.js user group joeuser -derp` | N/A | #### Manage 2FA/OTP -While `oputil.js` can be used to manage a user's 2FA/OTP, it is highly recommended to require users to opt-in themselves. See [Security](/docs/configuration/security.md) for details. +While `oputil.js` can be used to manage a user's 2FA/OTP, it is highly recommended to require users to opt-in themselves. See [Security](../configuration/security.md) for details. ## Configuration The `config` command allows sysops to perform various system configuration and maintenance tasks. diff --git a/docs/admin/updating.md b/docs/admin/updating.md index 59ab3111..ae9412e4 100644 --- a/docs/admin/updating.md +++ b/docs/admin/updating.md @@ -25,7 +25,7 @@ npm install # or 'yarn' :information_source: Visual diff tools such as [DiffMerge](https://www.sourcegear.com/diffmerge/downloads.php) (free, works on all major platforms) can be very helpful for the tasks outlined above! -:bulb: It is recommended to [monitor logs](/docs/troubleshooting/monitoring-logs.md) and poke around a bit after an update! +:bulb: It is recommended to [monitor logs](../troubleshooting/monitoring-logs.md) and poke around a bit after an update! diff --git a/docs/art/general.md b/docs/art/general.md index 18c438ec..365326df 100644 --- a/docs/art/general.md +++ b/docs/art/general.md @@ -64,7 +64,7 @@ ENiGMA½ uses a fallback system for art selection. When a menu entry calls for a 4. In the `art/general` directory. #### ACS-Driven Conditionals -The [ACS](/docs/configuration/acs.md) system can be used to make conditional art selection choices. To do this, provide an array of possible values in your art spec. As an example: +The [ACS](../configuration/acs.md) system can be used to make conditional art selection choices. To do this, provide an array of possible values in your art spec. As an example: ```hjson { fancyMenu: { @@ -153,4 +153,4 @@ fullLogoffSequenceRandomBoardAd: { ``` ### See Also -See also the [Show Art Module](/docs/modding/show-art.md) for more advanced art display! \ No newline at end of file +See also the [Show Art Module](../modding/show-art.md) for more advanced art display! \ No newline at end of file diff --git a/docs/configuration/acs.md b/docs/configuration/acs.md index decb3267..782bc8ec 100644 --- a/docs/configuration/acs.md +++ b/docs/configuration/acs.md @@ -73,8 +73,8 @@ All `users` can read (see) the area, `sysops` and `co-ops` can write (upload), a ## ACS Touch Points The following touch points exist in the system. Many more are planned: -* [Message conferences and areas](/docs/messageareas/configuring-a-message-area.md) -* [File base areas](/docs/filebase/first-file-area.md) and [Uploads](/docs/filebase/uploads.md) +* [Message conferences and areas](../messageareas/configuring-a-message-area.md) +* [File base areas](../filebase/first-file-area.md) and [Uploads](../filebase/uploads.md) * Menus within [Menu HJSON (menu.hjson)](menu-hjson.md) See the specific areas documentation for information on available ACS checks. diff --git a/docs/configuration/config-files.md b/docs/configuration/config-files.md index 565b9b10..d4537dc8 100644 --- a/docs/configuration/config-files.md +++ b/docs/configuration/config-files.md @@ -8,7 +8,7 @@ ENiGMA½ configuration files such as the [system config](config-hjson.md), [menu ## Hot-Reload Nearly all of ENiGMA½'s configuration can be hot-reloaded. That is, a live system can have it's configuration modified and it will be loaded in place. -:bulb: [Monitoring live logs](/docs/troubleshooting/monitoring-logs.md) is useful when making live changes. The system will complain if something is wrong! +:bulb: [Monitoring live logs](.../troubleshooting/monitoring-logs.md) is useful when making live changes. The system will complain if something is wrong! ## Common Directives ### Includes @@ -74,7 +74,7 @@ Consider `actionKeys` in a menu. Often times you may show a screen and the user :information_source: An unresolved `@reference` will be left intact. ### Environment Variables -Especially in a container environment such as [Docker](/docs/installation/docker.md), environment variable access in configuration files can become very handy. ENiGMA½ provides a flexible way to access variables using the `@environment` directive. The most basic form of `@environment:VAR_NAME` produces a string value. Additionally a `:type` suffix can be supplied to coerece the value to a particular type. Variables pointing to a comma separated list can be turned to arrays using an additional `:array` suffix. +Especially in a container environment such as [Docker](../installation/docker.md), environment variable access in configuration files can become very handy. ENiGMA½ provides a flexible way to access variables using the `@environment` directive. The most basic form of `@environment:VAR_NAME` produces a string value. Additionally a `:type` suffix can be supplied to coerece the value to a particular type. Variables pointing to a comma separated list can be turned to arrays using an additional `:array` suffix. Below is a table of the various forms: diff --git a/docs/configuration/config-hjson.md b/docs/configuration/config-hjson.md index 65c6c4e9..28d379c5 100644 --- a/docs/configuration/config-hjson.md +++ b/docs/configuration/config-hjson.md @@ -43,8 +43,8 @@ Below is a list of various configuration sections. There are many more, but this * [Archivers](archivers.md): Set up external archive utilities for handling things like ZIP, ARJ, RAR, and so on. * [Email](email.md): System email support. * [Event Scheduler](event-scheduler.md): Set up events as you see fit! -* [File Base](/docs/filebase/index.md) +* [File Base](../filebase/index.md) * [File Transfer Protocols](file-transfer-protocols.md): Oldschool file transfer protocols such as X/Y/Z-Modem! -* [Message Areas](/docs/messageareas/configuring-a-message-area.md), [Networks](/docs/messageareas/message-networks.md), [NetMail](/docs/messageareas/netmail.md), etc. +* [Message Areas](../messageareas/configuring-a-message-area.md), [Networks](../messageareas/message-networks.md), [NetMail](../messageareas/netmail.md), etc. * ...and a **lot** more! Explore the docs! If you can't find something, please contact us! diff --git a/docs/configuration/external-binaries.md b/docs/configuration/external-binaries.md index fccd5119..20247764 100644 --- a/docs/configuration/external-binaries.md +++ b/docs/configuration/external-binaries.md @@ -6,7 +6,7 @@ title: External Support Binaries ## External Support Binaries ENiGMA½ relies on various external binaries in order to perform common tasks such as processing file archives and extracting information from uploads/file imports, some legacy transfer protocols, etc. -:correct: Before using features such as the [File Base](/docs/filebase/index.md) or [File Transfer Protocols](/docs/configuration/file-transfer-protocols.md) it is highly recommended to install support binaries! +:correct: Before using features such as the [File Base](../filebase/index.md) or [File Transfer Protocols](../configuration/file-transfer-protocols.md) it is highly recommended to install support binaries! ## Archivers Below is a table of pre-configured archivers. Remember that you can override settings or add new handlers! See [Archivers](archivers.md). diff --git a/docs/configuration/hjson.md b/docs/configuration/hjson.md index 7bfb8ddf..98aef757 100644 --- a/docs/configuration/hjson.md +++ b/docs/configuration/hjson.md @@ -40,7 +40,7 @@ See https://hjson.org/users.html for more more editors & plugins. ### Hot-Reload A.K.A. Live Editing ENiGMA½'s configuration, menu, and theme files can edited while your BBS is running. When a file is saved, it is hot-reloaded into the running system. If users are currently connected and you change a menu for example, the next reload of that menu will show the changes. -:information_source: See also [Configuration Files](/docs/configuration/config-files.md) +:information_source: See also [Configuration Files](../configuration/config-files.md) ### CaSe SeNsiTiVE Configuration keys are **case sensitive**. That means if a configuration key is `boardName` for example, `boardname`, or `BOARDNAME` **will not work**. diff --git a/docs/configuration/menu-hjson.md b/docs/configuration/menu-hjson.md index b3eb14ca..0c409d2f 100644 --- a/docs/configuration/menu-hjson.md +++ b/docs/configuration/menu-hjson.md @@ -20,7 +20,7 @@ showSomeArt: { config: { pause: true } } ``` -As you can see a menu can be very simple. +As you can see a menu can be very simple. :information_source: Remember that the top level menu may include additional files using the `includes` directive. See [Configuration Files](config-files.md) for more information on this. @@ -30,7 +30,7 @@ Below is a table of **common** menu entry members. These members apply to most e | Item | Description | |--------|--------------| | `desc` | A friendly description that can be found in places such as "Who's Online" or wherever the `%MD` MCI code is used. | -| `art` | An art file *spec*. See [General Art Information](/docs/art/general.md). | +| `art` | An art file *spec*. See [General Art Information](../art/general.md). | | `next` | Specifies the next menu entry to go to next. Can be explicit or an array of possibilities dependent on ACS. See **Flow Control** in the **ACS Checks** section below. If `next` is not supplied, the next menu is this menus parent. Note that special built in methods such as `@systemMethod:logoff` can also be utilized here. | | `prompt` | Specifies a prompt, by name, to use along with this menu. Prompts are configured in the `prompts` section. See **Prompts** for more information. | | `submit` | Defines a submit handler when using `prompt`. @@ -41,7 +41,7 @@ Below is a table of **common** menu entry members. These members apply to most e ### Menu Modules A given menu entry is backed by a *menu module*. That is, the code behind it. Menus are considered "standard" if the `module` member is not specified (and therefore backed by `core/standard_menu.js`). -See [Menu Modules](/docs/modding/menu-modules.md) for more information. +See [Menu Modules](../modding/menu-modules.md) for more information. ### Config Block The `config` block for a menu entry can contain common members as well as a per-module (when `module` is used) settings. @@ -51,8 +51,8 @@ The `config` block for a menu entry can contain common members as well as a per- | `cls` | If `true` the screen will be cleared before showing this menu. | | `pause` | If `true` a pause will occur after showing this menu. Useful for simple menus such as displaying art or status screens. | | `nextTimeout` | Sets the number of **milliseconds** before the system will automatically advanced to the `next` menu. | -| `baudRate` | See baud rate information in [General Art Information](/docs/art/general.md). | -| `font` | Sets a SyncTERM style font to use when displaying this menus `art`. See font listing in [General Art Information](/docs/art/general.md). | +| `baudRate` | See baud rate information in [General Art Information](../art/general.md). | +| `font` | Sets a SyncTERM style font to use when displaying this menus `art`. See font listing in [General Art Information](../art/general.md). | | `menuFlags` | An array of menu flag(s) controlling menu behavior. See **Menu Flags** below. #### Menu Flags @@ -70,7 +70,7 @@ ENiGMA½ uses a concept of *forms* in menus. A form is a collection of associate Menus may also support more than one layout type by using a *MCI key*. A MCI key is a alpha-numerically sorted key made from 1:n MCI codes. This lets the system choose the appropriate set of form(s) based on theme or random art. An example of this may be a matrix menu: Perhaps one style of your matrix uses a vertical light bar (`VM` key) while another uses a horizontal (`HM` key). The system can discover the correct form to use by matching MCI codes found in the art to that of the available forms defined in `menu.hjson`. -For more information on views and associated MCI codes, see [MCI Codes](/docs/art/mci.md). +For more information on views and associated MCI codes, see [MCI Codes](../art/mci.md). ## Submit Handlers When a form is submitted, it's data is matched against a *submit handler*. When a match is found, it's *action* is performed. @@ -135,7 +135,7 @@ telnetConnected: { ``` The above entry `telnetConnected` is set as the Telnet server's first menu entry (set by `firstMenu` in the Telnet server's config). The entry sets up a few things: -* A `art` spec of `CONNECT`. (See [General Art Information](/docs/art/general.md)). +* A `art` spec of `CONNECT`. (See [General Art Information](../art/general.md)). * A `next` entry up the next menu, by name, in the stack (`matrix`) that we'll go to after `telnetConnected`. * An `config` block containing a single `nextTimeout` field telling the system to proceed to the `next` (`matrix`) entry automatically after 1500ms. diff --git a/docs/configuration/security.md b/docs/configuration/security.md index 8461a381..49870f17 100644 --- a/docs/configuration/security.md +++ b/docs/configuration/security.md @@ -11,9 +11,9 @@ Unlike in the golden era of BBSing, modern Internet-connected systems are prone ## Two-Factor Authentication via One-Time Password Enabling Two-Factor Authentication via One-Time-Password (2FA/OTP) on an account adds an extra layer of security ("_something a user has_") in addition to their password ("_something a user knows_"). Providing 2FA/OTP to your users has some prerequisites: -* [A configured email gateway](/docs/configuration/email.md) such that the system can send out emails. -* One or more secure servers enabled such as [SSH](/docs/servers/ssh.md) or secure [WebSockets](/docs/servers/websocket.md) (that is, WebSockets over a secure connection such as TLS). -* The [web server](/docs/servers/web-server.md) enabled and exposed over TLS (HTTPS). +* [A configured email gateway](../configuration/email.md) such that the system can send out emails. +* One or more secure servers enabled such as [SSH](../servers/ssh.md) or secure [WebSockets](../servers/websocket.md) (that is, WebSockets over a secure connection such as TLS). +* The [web server](../servers/web-server.md) enabled and exposed over TLS (HTTPS). :information_source: For WebSockets and the web server, ENiGMA½ _may_ listen on insecure channels if behind a secure web proxy. @@ -26,7 +26,7 @@ Due to the nature of 2FA/OTP, even if enabled on your system, users must opt-in :warning: Serving 2FA/OTP registration links over insecure (HTTP) can expose secrets intended for the user and is **highly** discouraged! -:memo: +ops can also manually enable or disable 2FA/OTP for a user using [oputil](/docs/admin/oputil.md), but this is generally discouraged. +:memo: +ops can also manually enable or disable 2FA/OTP for a user using [oputil](../admin/oputil.md), but this is generally discouraged. #### Recovery In the situation that a user loses their 2FA/OTP device (such as a lost phone with Google Auth), there are some options: @@ -36,11 +36,11 @@ In the situation that a user loses their 2FA/OTP device (such as a lost phone wi :warning: There is no way for a user to disable 2FA/OTP without first fully logging in! This is by design as a security measure. ### ACS Checks -Various places throughout the system that implement [ACS](/docs/configuration/acs.md) can make 2FA specific checks: +Various places throughout the system that implement [ACS](../configuration/acs.md) can make 2FA specific checks: * `AR#`: Current users **required** authentication factor. `AR2` for example means 2FA/OTP is required for this user. * `AF#`: Current users **active** authentication factor. `AF2` means the user is authenticated with some sort of 2FA (such as One-Time-Password). -See [ACS](/docs/configuration/acs.md) for more information. +See [ACS](../configuration/acs.md) for more information. #### Example The following example illustrates using an `AR` ACS check to require applicable users to go through an additional 2FA/OTP process during login: diff --git a/docs/filebase/acs.md b/docs/filebase/acs.md index 618c1843..4a886163 100644 --- a/docs/filebase/acs.md +++ b/docs/filebase/acs.md @@ -3,7 +3,7 @@ layout: page title: ACS --- ## File Base ACS -[ACS Codes](/docs/configuration/acs.md) may be used to control access to File Base areas by specifying an `acs` string in a file area's definition. If no `acs` is supplied in a file area definition, the following defaults apply to an area: +[ACS Codes](../configuration/acs.md) may be used to control access to File Base areas by specifying an `acs` string in a file area's definition. If no `acs` is supplied in a file area definition, the following defaults apply to an area: * `read` : `GM[users]`: List/view the area and it's contents. * `write` : `GM[sysops]`: Upload. * `download` : `GM[users]`: Download. @@ -28,4 +28,4 @@ areas: { ``` ## See Also -[Access Condition System (ACS)](/docs/configuration/acs.md) +[Access Condition System (ACS)](../configuration/acs.md) diff --git a/docs/filebase/first-file-area.md b/docs/filebase/first-file-area.md index c561b055..ae9e0fd2 100644 --- a/docs/filebase/first-file-area.md +++ b/docs/filebase/first-file-area.md @@ -84,16 +84,16 @@ fileBase: { ``` ## Importing Areas -Areas can also be imported using [oputil](/docs/admin/oputil.md) using proper FileGate "RAID" aka `FILEBONE.NA` style files. After importing areas, you may wish to tweak configuration such as better `desc` fields, ACS, or sorting. +Areas can also be imported using [oputil](../admin/oputil.md) using proper FileGate "RAID" aka `FILEBONE.NA` style files. After importing areas, you may wish to tweak configuration such as better `desc` fields, ACS, or sorting. ## Importing Files (Scan For New Files) -A common task is to *import* existing files to area(s). Consider a collection of retro BBS files in the area "Retro PC" (tag: `retro_pc` above) under the storage tag of `retro_pc_bbs`. You might choose to scan for new files in this area (and thus import new entries) as follows with [oputil](/docs/admin/oputil.md)'s `fb scan`: +A common task is to *import* existing files to area(s). Consider a collection of retro BBS files in the area "Retro PC" (tag: `retro_pc` above) under the storage tag of `retro_pc_bbs`. You might choose to scan for new files in this area (and thus import new entries) as follows with [oputil](../admin/oputil.md)'s `fb scan`: ```bash ./oputil.js fb scan --quick --tags retro,bbs,pc retro_pc@retro_pc_bbs ``` -Here we have asked [oputil](/docs/admin/oputil.md) to scan the file base area by it's tag `retro_pc` and only include the storage tag of `retro_pc_bbs`. Note that the storage tag could be omitted, and if so, all of `retro_pc` would be scanned. We have also indicated to #hashtag new entries with the tags "retro", "bbs", and "pc". +Here we have asked [oputil](../admin/oputil.md) to scan the file base area by it's tag `retro_pc` and only include the storage tag of `retro_pc_bbs`. Note that the storage tag could be omitted, and if so, all of `retro_pc` would be scanned. We have also indicated to #hashtag new entries with the tags "retro", "bbs", and "pc". -Please see [oputil](/docs/admin/oputil.md) for more information. +Please see [oputil](../admin/oputil.md) for more information. diff --git a/docs/filebase/tic-support.md b/docs/filebase/tic-support.md index 0970ef5e..e1d01ffb 100644 --- a/docs/filebase/tic-support.md +++ b/docs/filebase/tic-support.md @@ -98,4 +98,4 @@ ticAreas: { ``` ## See Also -[Message Networks](/docs/messageareas/message-networks.md) +[Message Networks](../messageareas/message-networks.md) diff --git a/docs/index.md b/docs/index.md index 1f5eba1d..1c374690 100644 --- a/docs/index.md +++ b/docs/index.md @@ -16,7 +16,7 @@ ENiGMA½ is a modern BBS software with a nostalgic flair! * [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](/docs/configuration/colour-codes.md). + * Renegade style [pipe color codes](./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 diff --git a/docs/installation/install-script.md b/docs/installation/install-script.md index c918512d..809d38db 100644 --- a/docs/installation/install-script.md +++ b/docs/installation/install-script.md @@ -15,6 +15,6 @@ on GitHub before running it! 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. :information_source: After installing: -* Read [External Binaries](/docs/configuration/external-binaries.md) -* Read [Updating](/docs/admin/updating.md) +* Read [External Binaries](../configuration/external-binaries.md) +* Read [Updating](../admin/updating.md) diff --git a/docs/installation/installation-methods.md b/docs/installation/installation-methods.md index 1b2f64e4..38fa4975 100644 --- a/docs/installation/installation-methods.md +++ b/docs/installation/installation-methods.md @@ -15,4 +15,4 @@ There are multiple ways of installing ENiGMA BBS, depending on your level of exp :scroll: Check out [this awesome video on installation and basic configuration](https://youtu.be/WnN-ucVi3ZU) from Al's Geek Lab! ## Keeping Up To Date -After installing, you'll want to [keep your system updated](/docs/admin/updating.md). \ No newline at end of file +After installing, you'll want to [keep your system updated](../admin/updating.md). \ No newline at end of file diff --git a/docs/messageareas/configuring-a-message-area.md b/docs/messageareas/configuring-a-message-area.md index 74c7dcb5..b8d3f5a5 100644 --- a/docs/messageareas/configuring-a-message-area.md +++ b/docs/messageareas/configuring-a-message-area.md @@ -19,10 +19,10 @@ Each conference is represented by a entry under `messageConferences`. Each entri | `sort` | :-1: | Set to a number to override the default alpha-numeric sort order based on the `name` field. | | `default` | :-1: | Specify `true` to make this the default conference (e.g. assigned to new users) | | `areas` | :+1: | Container of 1:n areas described below | -| `acs` | :-1: | A standard [ACS](/docs/configuration/acs.md) block. See **ACS** below. | +| `acs` | :-1: | A standard [ACS](../configuration/acs.md) block. See **ACS** below. | ### ACS -An optional standard [ACS](/docs/configuration/acs.md) block can be supplied with the following rules: +An optional standard [ACS](../configuration/acs.md) block can be supplied with the following rules: * `read`: ACS required to read (see) this conference. Defaults to `GM[users]`. * `write`: ACS required to write (post) to this conference. Defaults to `GM[users]`. @@ -53,12 +53,12 @@ Message Areas are topic specific containers for messages that live within a part | `desc` | :+1: | Friendly area description. | | `sort` | :-1: | Set to a number to override the default alpha-numeric sort order based on the `name` field. | | `default` | :-1: | Specify `true` to make this the default area (e.g. assigned to new users) | -| `acs` | :-1: | A standard [ACS](/docs/configuration/acs.md) block. See **ACS** below. | +| `acs` | :-1: | A standard [ACS](../configuration/acs.md) block. See **ACS** below. | | `autoSignatures` | :-1: | Set to `false` to disable auto-signatures in this area. | | `realNames` | :-1: | Set to `true` to use real names in this area. | ### ACS -An optional standard [ACS](/docs/configuration/acs.md) block can be supplied with the following rules: +An optional standard [ACS](../configuration/acs.md) block can be supplied with the following rules: * `read`: ACS required to read (see) this area. Defaults to `GM[users]`. * `write`: ACS required to write (post) to this area. Defaults to `GM[users]`. @@ -85,4 +85,4 @@ messageConferences: { ``` ## Importing -FidoNet style `.na` files as well as legacy `AREAS.BBS` files in common formats can be imported using `oputil.js mb import-areas`. See [The oputil CLI](/docs/admin/oputil.md) for more information and usage. +FidoNet style `.na` files as well as legacy `AREAS.BBS` files in common formats can be imported using `oputil.js mb import-areas`. See [The oputil CLI](../admin/oputil.md) for more information and usage. diff --git a/docs/messageareas/ftn.md b/docs/messageareas/ftn.md index f3d1237a..794b76c2 100644 --- a/docs/messageareas/ftn.md +++ b/docs/messageareas/ftn.md @@ -70,7 +70,7 @@ Example: } ``` -:bulb: You can import `AREAS.BBS` or FTN style `.NA` files using [oputil](/docs/admin/oputil.md)! +:bulb: You can import `AREAS.BBS` or FTN style `.NA` files using [oputil](../admin/oputil.md)! #### A More Complete Example Below is a more complete *example* illustrating some of the concepts above: diff --git a/docs/messageareas/qwk.md b/docs/messageareas/qwk.md index 964551a3..140180f5 100644 --- a/docs/messageareas/qwk.md +++ b/docs/messageareas/qwk.md @@ -34,7 +34,7 @@ Example: ``` ### oputil -The `oputil.js` utility can export packet files, dump the messages of a packet to stdout, etc. See [the oputil documentation](/docs/admin/oputil.md) for more information. +The `oputil.js` utility can export packet files, dump the messages of a packet to stdout, etc. See [the oputil documentation](../admin/oputil.md) for more information. ### Offline Readers A few of the offline readers that have been tested with QWK packet files produced by ENiGMA½: diff --git a/docs/misc/user-interrupt.md b/docs/misc/user-interrupt.md index fe20fdd9..4afcd8d8 100644 --- a/docs/misc/user-interrupt.md +++ b/docs/misc/user-interrupt.md @@ -3,7 +3,7 @@ layout: page title: User Interruptions --- ## User Interruptions -ENiGMA½ provides functionality to "interrupt" a user for various purposes such as a [node-to-node message](/docs/modding/node-msg.md). User interruptions can be queued and displayed at the next opportune time such as when switching to a new menu, or realtime if appropriate. +ENiGMA½ provides functionality to "interrupt" a user for various purposes such as a [node-to-node message](../modding/node-msg.md). User interruptions can be queued and displayed at the next opportune time such as when switching to a new menu, or realtime if appropriate. ## Standard Menu Behavior Standard menus control interruption by the `interrupt` config block option, which may be set to one of the following values: diff --git a/docs/modding/node-msg.md b/docs/modding/node-msg.md index 5377e68a..8a89ef5f 100644 --- a/docs/modding/node-msg.md +++ b/docs/modding/node-msg.md @@ -3,7 +3,7 @@ layout: page title: Node to Node Messaging --- ## The Node to Node Messaging Module -The node to node messaging (`node_msg`) module allows users to send messages to one or more users on different nodes. Messages delivered to nodes follow standard [User Interruption](/docs/misc/user-interrupt.md) rules. +The node to node messaging (`node_msg`) module allows users to send messages to one or more users on different nodes. Messages delivered to nodes follow standard [User Interruption](../misc/user-interrupt.md) rules. ## Configuration ### Config Block diff --git a/docs/modding/telnet-bridge.md b/docs/modding/telnet-bridge.md index 36e1b3e6..3e091b5e 100644 --- a/docs/modding/telnet-bridge.md +++ b/docs/modding/telnet-bridge.md @@ -10,7 +10,7 @@ The `telnet_bridge` module allows "bridged" Telnet connections from your board t Available `config` entries: * `host`: Hostname or IP address to connect to. * `port`: Port to connect to. Defaults to the standard Telnet port of `23`. -* `font`: A SyncTERM style font. Useful for example if you would like to connect form a "DOS" style BBS to an Amiga. See [the general art documentation on SyncTERM Style Fonts](/docs/art/general.md). +* `font`: A SyncTERM style font. Useful for example if you would like to connect form a "DOS" style BBS to an Amiga. See [the general art documentation on SyncTERM Style Fonts](../art/general.md). ### Example Below is an example `menu.hjson` entry that would connect to [Xibalba](https://xibalba.l33t.codes): diff --git a/docs/modding/top-x.md b/docs/modding/top-x.md index 41ac5ab7..dc2b319b 100644 --- a/docs/modding/top-x.md +++ b/docs/modding/top-x.md @@ -57,4 +57,4 @@ Generally `mciMap` entries will point to a Vertical List View Menu (`%VM1`, `%VM * `affils` or `affiliation`: Users affiliations. * `position`: Rank position (numeric). -Remember that string format rules apply, so for example, if displaying top uploaded bytes (`ul_file_bytes`), a `itemFormat` may be `{userName} - {value!sizeWithAbbr}` yielding something like "TopDude - 4 GB". See [MCI](/docs/art/mci.md) for additional information. +Remember that string format rules apply, so for example, if displaying top uploaded bytes (`ul_file_bytes`), a `itemFormat` may be `{userName} - {value!sizeWithAbbr}` yielding something like "TopDude - 4 GB". See [MCI](../art/mci.md) for additional information. diff --git a/docs/modding/user-2fa-otp-config.md b/docs/modding/user-2fa-otp-config.md index 7b41939f..4ef12687 100644 --- a/docs/modding/user-2fa-otp-config.md +++ b/docs/modding/user-2fa-otp-config.md @@ -3,7 +3,7 @@ layout: page title: TopX --- ## The 2FA/OTP Config Module -The `user_2fa_otp_config` module provides opt-in, configuration, and viewing of Two-Factor Authentication via One-Time-Password (2FA/OTP) settings. In order to allow users access to 2FA/OTP, the system must be properly configured. See [Security](/docs/configuration/security.md) for more information. +The `user_2fa_otp_config` module provides opt-in, configuration, and viewing of Two-Factor Authentication via One-Time-Password (2FA/OTP) settings. In order to allow users access to 2FA/OTP, the system must be properly configured. See [Security](../configuration/security.md) for more information. :information_source: By default, the 2FA/OTP configuration menu may only be accessed by users connected securely (ACS `SC`). It is highly recommended to leave this default as accessing these settings over a plain-text connection could expose private secrets!