Add initial QWK docs, update FTN, etc.
This commit is contained in:
parent
7fb10418f0
commit
67ac86ac05
|
@ -187,6 +187,8 @@ qwk-export arguments:
|
|||
--user USER User in which to export for. Defaults to the SysOp.
|
||||
--after TIMESTAMP Export only messages with a timestamp later than
|
||||
TIMESTAMP.
|
||||
--no-qwke Disable QWKE extensions.
|
||||
--no-synchronet Disable Synchronet style extensions.
|
||||
`
|
||||
};
|
||||
|
||||
|
|
|
@ -521,6 +521,13 @@ function exportQWKPacket() {
|
|||
|
||||
const userName = argv.user || '-';
|
||||
|
||||
const writerOptions = {
|
||||
enableQWKE : !(false === argv.qwke),
|
||||
enableHeadersExtension : !(false === argv.synchronet),
|
||||
enableAtKludges : !(false === argv.synchronet),
|
||||
archiveFormat : argv.format || 'application/zip'
|
||||
};
|
||||
|
||||
let totalExported = 0;
|
||||
async.waterfall(
|
||||
[
|
||||
|
@ -578,10 +585,10 @@ function exportQWKPacket() {
|
|||
},
|
||||
(user, Message, messageIds, callback) => {
|
||||
const { QWKPacketWriter } = require('../qwk_mail_packet');
|
||||
const writer = new QWKPacketWriter({
|
||||
const writer = new QWKPacketWriter(Object.assign(writerOptions, {
|
||||
bbsID,
|
||||
user,
|
||||
});
|
||||
}));
|
||||
|
||||
writer.on('ready', () => {
|
||||
async.eachSeries(messageIds, (messageId, nextMessageId) => {
|
||||
|
|
|
@ -41,6 +41,8 @@
|
|||
- [Message networks]({{ site.baseurl }}{% link messageareas/message-networks.md %})
|
||||
- [BSO Import & Export]({{ site.baseurl }}{% link messageareas/bso-import-export.md %})
|
||||
- [Netmail]({{ site.baseurl }}{% link messageareas/netmail.md %})
|
||||
- [QWK]({{ site.baseurl }}{% link messageareas/qwk.md %})
|
||||
- [FTN]({{ site.baseurl }}{% link messageareas/ftn.md %})
|
||||
|
||||
- Art
|
||||
- [General]({{ site.baseurl }}{% link art/general.md %})
|
||||
|
|
|
@ -0,0 +1,105 @@
|
|||
---
|
||||
layout: page
|
||||
title: FidoNet-Style Networks (FTN)
|
||||
---
|
||||
|
||||
## FidoNet-Style Networks (FTN)
|
||||
|
||||
TODO: preamble
|
||||
|
||||
### Configuration
|
||||
|
||||
1. `messageNetworks.ftn.networks`: declares available networks.
|
||||
2. `messageNetworks.ftn.areas`: establishes local area mappings and per-area specifics.
|
||||
3. `scannerTossers.ftn_bso`: general configuration for the scanner/tosser (import/export). This is also where we configure per-node settings.
|
||||
|
||||
:information_source: ENiGMA½'s `ftn_bso` module is **not a mailer** and makes **no attempts** to perform packet transport! An external utility such as Binkd is required for this task.
|
||||
|
||||
#### Networks
|
||||
The `networks` block is a per-network configuration where each entry's ID (or "key") may be referenced elsewhere in `config.hjson`. For example, consider two networks: ArakNet (`araknet`) and fsxNet (`fsxnet`):
|
||||
|
||||
```hjson
|
||||
{
|
||||
messageNetworks: {
|
||||
ftn: {
|
||||
networks: {
|
||||
// it is recommended to use lowercase network tags
|
||||
fsxnet: {
|
||||
defaultZone: 21
|
||||
localAddress: "21:1/121"
|
||||
}
|
||||
|
||||
araknet: {
|
||||
defaultZone: 10
|
||||
localAddress: "10:101/9"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
#### Areas
|
||||
The `areas` section describes a mapping of local **area tags** configured in your `messageConferences` (see [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). This section can be thought of similar to the *AREAS.BBS* file used by other BBS packages.
|
||||
|
||||
When ENiGMA½ imports messages, they will be placed in the local area that matches key under `areas` while exported messages will be sent to the relevant `network`.
|
||||
|
||||
| Config Item | Required | Description |
|
||||
|-------------|----------|----------------------------------------------------------|
|
||||
| `network` | :+1: | Associated network from the `networks` section above |
|
||||
| `tag` | :+1: | FTN area tag (ie: `FSX_GEN`) |
|
||||
| `uplinks` | :+1: | An array of FTN address uplink(s) for this network |
|
||||
|
||||
Example:
|
||||
```hjson
|
||||
{
|
||||
messageNetworks: {
|
||||
ftn: {
|
||||
areas: {
|
||||
// it is recommended to use lowercase area tags
|
||||
fsx_general: // *local* tag found within messageConferences
|
||||
network: fsxnet // that we are mapping to this network
|
||||
tag: FSX_GEN // ...and this remote FTN-specific tag
|
||||
uplinks: [ "21:1/100" ] // a single string also allowed here
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
:information_source: You can import `AREAS.BBS` or FTN style `.NA` files using [oputil](/docs/admin/oputil.md)!
|
||||
|
||||
#### A More Complete Example
|
||||
Below is a more complete *example* illustrating some of the concepts above:
|
||||
|
||||
```hjson
|
||||
{
|
||||
messageNetworks: {
|
||||
ftn: {
|
||||
networks: {
|
||||
fsxnet: {
|
||||
defaultZone: 21
|
||||
localAddress: "21:1/121"
|
||||
}
|
||||
}
|
||||
|
||||
areas: {
|
||||
fsx_general: {
|
||||
network: fsxnet
|
||||
|
||||
// ie as found in your info packs .NA file
|
||||
tag: FSX_GEN
|
||||
|
||||
uplinks: [ "21:1/100" ]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
:information_source: Remember for a complete FTN experience, you'll probably also want to configure [FTN/BSO scanner/tosser](bso-import-export.md) settings.
|
||||
|
||||
#### FTN/BSO Scanner Tosser
|
||||
Please see the [FTN/BSO Scanner/Tosser](bso-import-export.md) documentation for information on this area.
|
|
@ -3,103 +3,23 @@ layout: page
|
|||
title: Message Networks
|
||||
---
|
||||
## Message Networks
|
||||
ENiGMA½ considers all non-ENiGMA½, non-local messages (and their networks, such as FTN "external". That is, messages are only imported and exported from/to such a networks. Configuring such external message networks in ENiGMA½ requires three sections in your `config.hjson`.
|
||||
ENiGMA½ considers all non-ENiGMA½, non-local messages (and their networks, such as FidoNet-Style (FTN) "external". That is, messages are only imported and exported from/to such a networks. Configuring such external message networks in ENiGMA½ requires three sections in your `config.hjson`.
|
||||
|
||||
1. `messageNetworks.<networkType>.networks`: declares available networks.
|
||||
2. `messageNetworks.<networkType>.areas`: establishes local area mappings and per-area specifics.
|
||||
3. `scannerTossers.<name>`: general configuration for the scanner/tosser (import/export). This is also where we configure per-node settings.
|
||||
All message network configuration occurs under the `messageNetworks.<name>` block in `config.hjson` (where name is something such as `ftn` or `qwk`). Similarly, if a scanner/tosser module exists for the network it can be configured under `scannerTossers.<name>`. An example of this is the [FTN/BSO scanner/tosser](bso-import-export.md) module where name is `ftn_bso`.
|
||||
|
||||
### FTN Networks
|
||||
The most basic of external message network configurations generally comprises of two sections within `config.hjson`:
|
||||
|
||||
1. `messageNetworks.<name>.networks`: Global/general configuration for a particular network where `<name>` is for example `ftn` or `qwk`.
|
||||
2. `messageNetworks.<name>.areas`: Provides mapping of ENiGMA½ **area tags** to their external counterparts.
|
||||
|
||||
Finally, a related section under `scannerTossers.<name>` may provide configuration for scanning (importing) and tossing (exporting) messages for a particular network type. As an example, FidoNet-Style networks often work with BinkleyTerm Style Outbound (BSO) and thus the [FTN/BSO scanner/tosser](bso-import-export.md) module.
|
||||
|
||||
### Supported Networks
|
||||
|
||||
#### FidoNet-Style (FTN)
|
||||
FidoNet and FidoNet style (FTN) networks as well as a [FTN/BSO scanner/tosser](bso-import-export.md) (`ftn_bso` module) are configured via the `messageNetworks.ftn` and `scannerTossers.ftn_bso` blocks in `config.hjson`.
|
||||
|
||||
:information_source: ENiGMA½'s `ftn_bso` module is **not a mailer** and makes **no attempts** to perform packet transport! An external utility such as Binkd is required for this!
|
||||
See [FidoNet-Style Networks](ftn.md) for more information.
|
||||
|
||||
#### Networks
|
||||
The `networks` block a per-network configuration where each entry's key may be referenced elsewhere in `config.hjson`.
|
||||
|
||||
Example: the following example declares two networks: `araknet` and `fsxnet`:
|
||||
```hjson
|
||||
{
|
||||
messageNetworks: {
|
||||
ftn: {
|
||||
networks: {
|
||||
// it is recommended to use lowercase network tags
|
||||
fsxnet: {
|
||||
defaultZone: 21
|
||||
localAddress: "21:1/121"
|
||||
}
|
||||
|
||||
araknet: {
|
||||
defaultZone: 10
|
||||
localAddress: "10:101/9"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
#### Areas
|
||||
The `areas` section describes a mapping of local **area tags** configured in your `messageConferences` (see [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). This section can be thought of similar to the *AREAS.BBS* file used by other BBS packages.
|
||||
|
||||
When ENiGMA½ imports messages, they will be placed in the local area that matches key under `areas` while exported messages will be sent to the relevant `network`.
|
||||
|
||||
| Config Item | Required | Description |
|
||||
|-------------|----------|----------------------------------------------------------|
|
||||
| `network` | :+1: | Associated network from the `networks` section above |
|
||||
| `tag` | :+1: | FTN area tag (ie: `FSX_GEN`) |
|
||||
| `uplinks` | :+1: | An array of FTN address uplink(s) for this network |
|
||||
|
||||
Example:
|
||||
```hjson
|
||||
{
|
||||
messageNetworks: {
|
||||
ftn: {
|
||||
areas: {
|
||||
// it is recommended to use lowercase area tags
|
||||
fsx_general: // *local* tag found within messageConferences
|
||||
network: fsxnet // that we are mapping to this network
|
||||
tag: FSX_GEN // ...and this remote FTN-specific tag
|
||||
uplinks: [ "21:1/100" ] // a single string also allowed here
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
:information_source: You can import `AREAS.BBS` or FTN style `.NA` files using [oputil](/docs/admin/oputil.md)!
|
||||
|
||||
### A More Complete Example
|
||||
Below is a more complete *example* illustrating some of the concepts above:
|
||||
|
||||
```hjson
|
||||
{
|
||||
messageNetworks: {
|
||||
ftn: {
|
||||
networks: {
|
||||
fsxnet: {
|
||||
defaultZone: 21
|
||||
localAddress: "21:1/121"
|
||||
}
|
||||
}
|
||||
|
||||
areas: {
|
||||
fsx_general: {
|
||||
network: fsxnet
|
||||
|
||||
// ie as found in your info packs .NA file
|
||||
tag: FSX_GEN
|
||||
|
||||
uplinks: [ "21:1/100" ]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
:information_source: Remember for a complete FTN experience, you'll probably also want to configure [FTN/BSO scanner/tosser](bso-import-export.md) settings.
|
||||
|
||||
### FTN/BSO Scanner Tosser
|
||||
Please see the [FTN/BSO Scanner/Tosser](bso-import-export.md) documentation for information on this area.
|
||||
#### QWK
|
||||
See [QWK and QWK-Net Style Networks](qwk.md) for more information.
|
||||
|
|
|
@ -0,0 +1,52 @@
|
|||
---
|
||||
layout: page
|
||||
title: QWK Support
|
||||
---
|
||||
|
||||
## QWK and QWK-Net Style Networks
|
||||
As like all other such as FidoNet-Style (FTN) networks, ENiGMA½ considers QWK external to the system but can import and export the format.
|
||||
|
||||
### Supported Standards
|
||||
QWK must be considered a semi-standard as there are many implementations. What follows is a short & incomplete list of such standards ENiGMA½ supports:
|
||||
* The basic [QWK packet format](http://fileformats.archiveteam.org/wiki/QWK).
|
||||
* [QWKE extensions](https://github.com/wwivbbs/wwiv/blob/master/specs/qwk/qwke.txt).
|
||||
* [Synchronet BBS style extensions](http://wiki.synchro.net/ref:qwk) such as `HEADERS.DAT`, `@` kludges, and UTF-8 handling.
|
||||
|
||||
|
||||
### Configuration
|
||||
QWK configuration occurs in the `messageNetworks.qwk` config block of `config.hjson`. As QWK wants to deal with conference numbers and ENiGMA½ uses area tags (conferences and conference tags are only used for logical grouping), a mapping can be made.
|
||||
|
||||
:information_source: During a regular, non QWK-Net exports, conference numbers can be auto-generated. Note that for QWK-Net style networks, you will need to create mappings however.
|
||||
|
||||
:TODO: information on QWK-Net type setup here
|
||||
|
||||
Example:
|
||||
```hjson
|
||||
{
|
||||
messageNetworks: {
|
||||
qwk: {
|
||||
areas: {
|
||||
general: { // local ENiGMA½ area tag
|
||||
conference: 1 // conference number to map to
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### oputil
|
||||
The `oputil.js` utility can export packet files, dump the messages of a packet to stdout, etc.
|
||||
|
||||
TODO: Examples, etc.
|
||||
TODO: Link to oputil, update --help there.
|
||||
|
||||
### Offline Readers
|
||||
A few of the offline readers that have been tested with QWK packet files produced by ENiGMA:
|
||||
|
||||
| Software | Status | Notes |
|
||||
|----------|--------|-------|
|
||||
| MultiMail/Win v0.52 | Supported | Private mail seems to break even with bundles from other systems |
|
||||
| SkyReader/W32 v1.00 | Supported | Works well. No QWKE or HEADERS.DAT support. Gets confused with low conference numbers. |
|
||||
|
||||
There are also [many other readers](https://www.softwolves.pp.se/old/2000/faq/bwprod) for various systems.
|
Loading…
Reference in New Issue