|
|
|
|
@@ -6,7 +6,7 @@ title: Waiting For Caller (WFC)
|
|
|
|
|
The `wfc.js` module provides a Waiting For Caller (WFC) type dashboard from a bygone era. Many traditional features are available including newer concepts for modern times. Node spy is left out as it feels like something that should be left in the past.
|
|
|
|
|
|
|
|
|
|
## Accessing the WFC
|
|
|
|
|
By default, the WFC may be accessed via the `!WFC` main menu command when connected over a secure connection via a user with the proper ACS. This can be configured as per any other menu in the system. Note that ENiGMA½ does not expose the WFC as a standalone application as this would be much less flexible. To connect locally, simply use your favorite terminal or for example: `ssh -l yourname localhost 8889`. See **Security** below for more information.
|
|
|
|
|
By default, the WFC may be accessed via the `!WFC` main menu command when connected over a secure connection via a user with the proper [ACS](../configuration/acs.md). This can be configured as per any other menu in the system. Note that ENiGMA½ does not expose the WFC as a standalone application as this would be much less flexible. To connect locally, simply use your favorite terminal or for example: `ssh -l yourname localhost 8889`. See **Security** below for more information.
|
|
|
|
|
|
|
|
|
|
## Security
|
|
|
|
|
The system allows any user with the proper security to access the WFC / system operator functionality. The security policy is enforced by ACS with the default of `SCAF2ID1GM[wfc]`, meaning the following are true:
|
|
|
|
|
@@ -21,7 +21,6 @@ The system allows any user with the proper security to access the WFC / system o
|
|
|
|
|
To change the ACS required, specify a alternative `acs` in the `config` block. For example:
|
|
|
|
|
```hjson
|
|
|
|
|
mainMenuWaitingForCaller: {
|
|
|
|
|
// ...
|
|
|
|
|
config: {
|
|
|
|
|
// initial +op over secure connection only
|
|
|
|
|
acs: SCID1GM[sysops]
|
|
|
|
|
@@ -33,22 +32,50 @@ mainMenuWaitingForCaller: {
|
|
|
|
|
|
|
|
|
|
## Theming
|
|
|
|
|
The following MCI codes are available:
|
|
|
|
|
* MCI 1 (`VM1`): Node status list with the following format items available:
|
|
|
|
|
* `{text}`: Username or `*Pre Auth*`.
|
|
|
|
|
* `{action}`: Current action/menu.
|
|
|
|
|
* `{timeOn}`: How long the node has been connected.
|
|
|
|
|
* MCI 2 (`VM2`): Quick log with the following format keys available:
|
|
|
|
|
* `{timestamp}`: Log entry timestamp in `quickLogTimestampFormat` format.
|
|
|
|
|
* `{level}`: Log entry level from Bunyan.
|
|
|
|
|
* `{levelIndicator}`: `T` for TRACE, `D` for DEBUG, `I` for INFO, `W` for WARN, `E` for ERROR, or `F` for FATAL.
|
|
|
|
|
* `{nodeId}`: Node ID.
|
|
|
|
|
* `{sessionId}`: Session ID.
|
|
|
|
|
* `{message}`: Log message.
|
|
|
|
|
* `VM1`: Node status list with the following format items available:
|
|
|
|
|
* `text`: Username or `*Pre Auth*`.
|
|
|
|
|
* `action`: Current action/menu.
|
|
|
|
|
* `timeOn`: How long the node has been connected.
|
|
|
|
|
* `VM2`: Quick log with the following format keys available:
|
|
|
|
|
* `timestamp`: Log entry timestamp in `quickLogTimestampFormat` format.
|
|
|
|
|
* `level`: Log entry level from Bunyan.
|
|
|
|
|
* `levelIndicator`: Level indicators can be overridden with the `quickLogLevelIndicators` key (see defaults below)
|
|
|
|
|
* `quickLogLevelIndicators`: A **map** defaulting to the following`:
|
|
|
|
|
* `trace` : `T`
|
|
|
|
|
* `debug`: `D`
|
|
|
|
|
* `info`: `I`
|
|
|
|
|
* `warn`: `W`
|
|
|
|
|
* `error`: `E`
|
|
|
|
|
* `fatal`: `F`
|
|
|
|
|
* `nodeId`: Node ID.
|
|
|
|
|
* `sessionId`: Session ID.
|
|
|
|
|
* `quickLogLevelMessagePrefixes`: A **map** of log level names (see above) to message prefixes. Commonly used for changing message color with pipe codes, such as `|04` for red errors.
|
|
|
|
|
* `message`: Log message.
|
|
|
|
|
* MCI 10...99: Custom entries with the following format keys available:
|
|
|
|
|
* `{nowDate}`: Current date in the `dateFormat` style, defaulting to `short`.
|
|
|
|
|
* `{nowTime}`: Current time in the `timeFormat` style, defaulting to `short`.
|
|
|
|
|
* `{now}`: Current date and/or time in `nowDateTimeFormat` format.
|
|
|
|
|
* `{processUptimeSeconds}`: Process (the BBS) uptime in seconds.
|
|
|
|
|
* `{totalCalls}`: Total calls to the system.
|
|
|
|
|
* `{totalPosts}`: Total posts to the system.
|
|
|
|
|
* `{totalUsers}`: Total users on the system.
|
|
|
|
|
* `nowDate`: Current date in the `dateFormat` style, defaulting to `short`.
|
|
|
|
|
* `nowTime`: Current time in the `timeFormat` style, defaulting to `short`.
|
|
|
|
|
* `now`: Current date and/or time in `nowDateTimeFormat` format.
|
|
|
|
|
* `processUptimeSeconds`: Process (the BBS) uptime in seconds.
|
|
|
|
|
* `totalCalls`: Total calls to the system.
|
|
|
|
|
* `totalPosts`: Total posts to the system.
|
|
|
|
|
* `totalUsers`: Total users on the system.
|
|
|
|
|
* `totalFiles`: Total number of files on the system.
|
|
|
|
|
* `totalFileBytes`: Total size in bytes of the file base.
|
|
|
|
|
* `callsToday`: Number of calls today.
|
|
|
|
|
* `postsToday`: Number of posts today.
|
|
|
|
|
* `uploadsToday`: Number of uploads today.
|
|
|
|
|
* `uploadBytesToday`: Total size in bytes of uploads today.
|
|
|
|
|
* `downloadsToday`: Number of downloads today.
|
|
|
|
|
* `downloadsBytesToday`: Total size in bytes of uploads today.
|
|
|
|
|
* `newUsersToday`: Number of new users today.
|
|
|
|
|
* `currentUserName`: Current user name.
|
|
|
|
|
* `currentUserRealName`: Current user's real name.
|
|
|
|
|
* `lastLoginUserName`: Last login username.
|
|
|
|
|
* `lastLoginRealName`: Last login user's real name.
|
|
|
|
|
* `lastLoginDate`: Last login date in `dateFormat` format.
|
|
|
|
|
* `lastLoginTime`: Last login time in `timeFormat` format.
|
|
|
|
|
* `lastLogin`: Last login date/time.
|
|
|
|
|
* `totalMemoryBytes`: Total system memory in bytes.
|
|
|
|
|
* `freeMemoryBytes`: Free system memory in bytes.
|
|
|
|
|
* `systemAvgLoad`: System average load.
|
|
|
|
|
* `systemCurrentLoad`: System current load.
|