Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
Synchronet
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Main
Synchronet
Commits
404875a5
Commit
404875a5
authored
9 months ago
by
Deucе
Browse files
Options
Downloads
Patches
Plain Diff
Convert to asciidoc
parent
708d98b7
No related branches found
No related tags found
No related merge requests found
Pipeline
#6673
failed
9 months ago
Stage: build
Stage: test
Stage: cleanup
Changes
1
Pipelines
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
src/syncterm/Manual.txt
+723
-546
723 additions, 546 deletions
src/syncterm/Manual.txt
with
723 additions
and
546 deletions
src/syncterm/Manual.txt
+
723
−
546
View file @
404875a5
SyncTERM v1.2
= SyncTERM v1.2 Manual
Stephen Hurd <shurd@sasktel.net>
:toc:
SyncTERM is a terminal program written specifically for connecting to
SyncTERM is a terminal program written specifically for connecting to
Bulleten Board Systems (BBSs). Despite the name, SyncTERM is in no way
Bulleten Board Systems (BBSs). Despite the name, SyncTERM is in no way
...
@@ -6,25 +8,26 @@ Synchronet specific, it just happens to share a large portion of code
...
@@ -6,25 +8,26 @@ Synchronet specific, it just happens to share a large portion of code
with the rest of the Synchronet project, and live in the same git
with the rest of the Synchronet project, and live in the same git
repository.
repository.
== Getting Support
Support
If you need help with SyncTERM, the best places are:
If you need help with SyncTERM, the best places are:
1)
IRC:
IRC:
:
Connect to irc.synchro.net and find Deuce in #Synchronet. Ask your
Connect to irc.synchro.net and find Deuce in #Synchronet. Ask your
question, then idle. I can take hours to respond. Do not give up,
question, then idle. I can take hours to respond. Do not give up,
this is the quickest way to get a response.
this is the quickest way to get a response.
2) SourceForge:
The official SyncTERM project page at
SourceForge::
http://www.sf.net/projects/syncterm has a bug tracker and other
The official http://www.sf.net/projects/syncterm[SyncTERM project page]
features that will email me and provide tracking for issues that
has a bug tracker and other features that will email me and provide
are filed.
tracking for issues that are filed.
3) E-Mail:
E-Mail::
I am usually fairly responsive to emails sent to me at
I am usually fairly responsive to emails sent to me at
shurd@sasktel.net. Please describe your issue as clearly as possible.
mailto:shurd@sasktel.net[shurd@sasktel.net]. Please describe your issue
4) Dove-Net:
as clearly as possible.
I usually read Dove-Net regularly, and many other users can often
Dove-Net::
While I no longer read Dove-Net regularly, many other users can often
help with support issues. Ask questions in the Hardware/Software Help
help with support issues. Ask questions in the Hardware/Software Help
sub. If your local BBS does not carry Dove-Net, you can telnet to
sub. If your local BBS does not carry Dove-Net, you can telnet to
vert.synchro.net and leave messages there.
vert.synchro.net and leave messages there.
...
@@ -36,9 +39,7 @@ help out, or I may not. It doesn't bother me if you ask for help on
...
@@ -36,9 +39,7 @@ help out, or I may not. It doesn't bother me if you ask for help on
these things, but if you continue to ask for help after I refuse, it will
these things, but if you continue to ask for help after I refuse, it will
make it less likely I'll work on it in the future.
make it less likely I'll work on it in the future.
== History
History
I started writing SyncTERM in June of 2004. There weren't any good BBS
I started writing SyncTERM in June of 2004. There weren't any good BBS
clients available for FreeBSD at the time, so I started writing one.
clients available for FreeBSD at the time, so I started writing one.
Initially, it was RLogin only and no file transfer support existed or
Initially, it was RLogin only and no file transfer support existed or
...
@@ -49,276 +50,338 @@ telnet and ZModem support a year later, and SyncTERM became a generally
...
@@ -49,276 +50,338 @@ telnet and ZModem support a year later, and SyncTERM became a generally
usable BBS client. New features continued to be added slowly over the
usable BBS client. New features continued to be added slowly over the
years.
years.
== Getting SyncTERM
Getting SyncTERM
Releases of SyncTERM are available on the
http://www.sf.net/projects/syncterm[SourceForge project page]. Nightly
Releases of SyncTERM are available on the SourceForge project page.
builds and source bundles are also available at
Nightly builds and source bundles are also available at
http://syncterm.bbsdev.net/[the SyncTERM website] for the more adventurous.
http://syncterm.bbsdev.net/ for the more adventurous.
Compiling SyncTERM from Source
==
Compiling SyncTERM from Source
Windows users should not need to build SyncTERM from source. Windows
Windows users should not need to build SyncTERM from source. Windows
specifically is not an easy build to do. The Windows builds are done on
specifically is not an easy build to do. The Windows builds are done on
a FreeBSD system using MinGW, and this is the only supported build method
a FreeBSD system using MinGW, and this is the only supported build method
currently.
currently. There is a Visual Studio project for building SyncTERM, but
this is not supported.
For *nix systems (Linux, FreeBSD, OS X, and others), a GNU make based
For *nix systems (Linux, FreeBSD, OS X, and others), a GNU make based
build system is used. There are a number of optional dependencies, and
build system is used. There are a number of optional dependencies, and
a large number of supported compile flags (many of which are shared with
a large number of supported compile flags (many of which are shared with
Synchronet).
Synchronet).
The biggest optional dependency is
SDL 2 (from
http://libsdl.org
)
.
The biggest optional dependency is http://libsdl.org
[SDL 2]
.
SyncTERM can use SDL for both graphics and sound. X11 can also be used
SyncTERM can use SDL for both graphics and sound. X11 can also be used
for graphics, and OSS, ALSA, or Portaudio can also provide sound. These
for graphics, and OSS, ALSA, or Portaudio can also provide sound. These
use run-time linking, so at compile time, only the headers are needed.
use run-time linking, so at compile time, only the headers are needed.
Static linking with SDL is also supported, but the other optional
Static linking with SDL is also supported, but the other optional
dependencies can not be statically linked.
dependencies can not be statically linked.
For SSH, a copy of Peter Gutmann's Cryptlib is provided along with a set
For SSH, a copy of Peter Gutmann's
of patches. This is still an optional dependency, so if Cryptlib doesn't
https://cryptlib.com/security-software/about-cryptlib[Cryptlib] is
build on your platform, you can still use SyncTERM's other connection
provided along with a set of patches. This is still an optional
options. Cryptlib must be statically linked if it is used.
dependency, so if Cryptlib doesn't build on your platform, you can still
use SyncTERM's other connection options. Cryptlib must be statically
linked if it is used.
Once you have the desired dependencies installed, change to the syncterm
Once you have the desired dependencies installed, change to the syncterm
directory in the source tree (ie: syncterm-YYYYMMDD/src/syncterm) and
directory in the source tree (ie: syncterm-YYYYMMDD/src/syncterm) and
run the
"
make RELEASE=1
"
command.
This will generate the binary in a
run the
`
make RELEASE=1
`
command. This will generate the binary in a
subdirectory with the following name format:
subdirectory with the following name format:
[compiler].[os].[arch].exe.[build]
[compiler].[os].[arch].exe.[build]
[compiler] is either gcc or clang depending on the system compiler.
[compiler]::
[os] is the OS name reported by uname.
is either gcc or clang depending on the system compiler.
[arch] is the architecture reported by uname unless it is x86 compatible
in which case it is forced to x86 for historical reasons.
[build] is "release" for release builds and "debug" for debug builds.
[os]::
is the OS name reported by uname.
[arch]::
is the architecture reported by uname unless it is x86 compatible in
which case it is forced to x86 for historical reasons.
[build]::
is "release" for release builds and "debug" for debug builds.
Running SyncTERM
SyncTERM can be installed with `make RELEASE=1 install`
== Running SyncTERM
SyncTERM supports many command-line options to control behaviour. Options
SyncTERM supports many command-line options to control behaviour. Options
begin with a - followed by one or more other characters. The following
begin with a - followed by one or more other characters. The following
options are supported (options are not case sensitive):
options are supported (options are not case sensitive):
-6
-6
::
Specifying -6 forces SyncTERM to use IPv6 addresses when possible.
Specifying -6 forces SyncTERM to use IPv6 addresses when possible.
-4
-4
::
Specifying -4 forces SyncTERM to use IPv4 addresses when possible.
Specifying -4 forces SyncTERM to use IPv4 addresses when possible.
-B/path/to/bbs/list.lst
-B/path/to/bbs/list.lst
::
Loads the user BBS list from the specified file instead of the default.
Loads the user BBS list from the specified file instead of the default.
-C
-C
::
Changes the default to no status line.
Changes the default to no status line.
-E##
-E##
::
Specifies the escape delay in ANSI on Curses modes. The escape delay
Specifies the escape delay in ANSI on Curses modes. The escape delay
is how long SyncTERM will wait after an escape key is received from the
is how long SyncTERM will wait after an escape key is received from the
user to see if it's a control sequence or a bare ESC press. The units
user to see if it's a control sequence or a bare ESC press. The units
are millisecods, and the default is 25.
are millisecods, and the default is 25.
-H
-H
::
Use SSH mode when connecting.
Use SSH mode when connecting.
-I[ACFXWS[WF]O[WF]]
-I
\
[ACFXWS
\
[WF]O
\
[WF]]
::
Selects the output mode. Not all modes are available in all builds or
Selects the output mode. Not all modes are available in all builds or
on all platforms. Legal vales are:
on all platforms. Legal vales are:
A:::
ANSI output mode. This mode outputs ANSI control sequences to
stdout. This can be used as a door on BBSs or on some terminals.
This is not generally something a normal user would ever want to
use.
A - ANSI output mode. This mode outputs ANSI control sequences to stdout.
C:::
This can be used as a door on BBSs or on some terminals. This is not
Curses output mode. UNIX only mode which uses the curses library
generally something a normal user would ever want to use.
to run in a terminal window.
C - Curses output mode. UNIX only mode which uses the curses library to
run in a terminal window.
F - Curses with forced IBM character set. UNIX only mode which uses
F:::
curses, but instead of the curses-defined alternative character set,
Curses with forced IBM character set. UNIX only mode which uses
assumes that the IBM CP437 character set can be output.
curses, but instead of the curses-defined alternative character
set, assumes that the IBM CP437 character set can be output.
G[WF] - Windows GDI output mode. Uses the Win32 API directly, and is
G\[WF]:::
Windows GDI output mode. Uses the Win32 API directly, and is
the default for Windows. Additionally, a 'W' or 'F' can be
the default for Windows. Additionally, a 'W' or 'F' can be
specified to force windowed or full-screen mode respectively.
specified to force windowed or full-screen mode respectively.
I - Curses in ASCII mode.
I:::
Curses in ASCII mode.
S\[WF]:::
SDL window output mode. Uses the SDL library for output. The
default mode. Additionally, a 'W' or 'F' can be specified to
force windowed or full-screen mode respectively.
W:::
Windows console mode. Windows only mode which uses the system
console APIs for output.
X[WF] - X11 output mode. UNIX only mode which directly uses the X11
X\[WF]:::
X11 output mode. UNIX only mode which directly uses the X11
libraries for drawing. The default where supported. Additionally,
libraries for drawing. The default where supported. Additionally,
a 'W' or 'F' can be specified to force windowed or full-screen
a 'W' or 'F' can be specified to force windowed or full-screen
mode respectively.
mode respectively.
W - Windows console mode. Windows only mode which uses the system console
-L##::
APIs for output.
S[WF] - SDL window output mode. Uses the SDL library for output. The
default mode. Additionally, a 'W' or 'F' can be specified to force
windowed or full-screen mode respectively.
-L##
Specifies the number of lines on the "screen". Supported values are:
Specifies the number of lines on the "screen". Supported values are:
14, 21, 25 (default), 28, 43, 50, and 60. If an unsupported value
14, 21, 25 (default), 28, 43, 50, and 60. If an unsupported value
is used, it will default use 50.
is used, it will default use 50.
-pns_*
-pns_*
::
Only "supported" on macOS. Ignored.
Only "supported" on macOS. Ignored.
-N/path/to/config.ini
-N/path/to/config.ini
::
Loads the configuration from the specified file instead of the default.
Loads the configuration from the specified file instead of the default.
-Q
-Q
::
Quiet mode, doesn't show popups by default.
Quiet mode, doesn't show popups by default.
-R
-R
::
Use RLogin mode when connecting.
Use RLogin mode when connecting.
-T
-T
::
Use Telnet mode when connecting.
Use Telnet mode when connecting.
-S
-S
::
Use "safe" mode. This mode attempts to restrict the ability of the user
Use "safe" mode. This mode attempts to restrict the ability of the user
to modify the local drive contents. This has not been exhaustively
audited,
to modify the local drive contents. This has not been exhaustively
and should therefore not be trusted.
audited,
and should therefore not be trusted.
After the options, a full URI, hostname, or dialing directory entry may be
After the options, a full URI, hostname, or dialing directory entry may be
specified. Supported URI schemes are:
specified. Supported URI schemes are:
rlogin://, ssh://, telnet://, raw://, shell://, ghost://.
rlogin://, ssh://, telnet://, raw://, shell://, ghost://.
If there is an entry matching the URI, hostname, or entry name, the settings will
If there is an entry matching the URI, hostname, or entry name, the
be loaded from the BBS list, then modified per the command-line arguments.
settings will be loaded from the BBS list, then modified per the
command-line arguments.
The User InterFaCe
==
The User InterFaCe
Menus in SyncTERM use a common user interface library named UIFC. This
Menus in SyncTERM use a common user interface library named UIFC. This
library was originally developed for Synchronet.
library was originally developed for Synchronet.
The following is the general behaviour of UIFC menus.
The following is the general behaviour of UIFC menus.
Mouse controls:
Mouse controls:
:
Right-click: Same as pressing ESC (ie: exit menu).
Right-click:::
Same as pressing ESC (ie: exit menu).
Left-click: Select an item in a menu.
Left-click:::
Select an item in a menu.
+
If there is a blank line at the end of the menu, you can select
If there is a blank line at the end of the menu, you can select
it to insert a new item.
it to insert a new item.
+
Menus have a standard set of mouse controls
Menus have a standard set of mouse controls
+
If you click outside of a menu, that menu is usually closed, but
If you click outside of a menu, that menu is usually closed, but
in some cases, it may simply become inactive.
in some cases, it may simply become inactive.
+
At the top of each menu is a block which is used to close the menu.
At the top of each menu is a block which is used to close the menu.
+
If there is help for the menu, there is also a ? button to bring
If there is help for the menu, there is also a ? button to bring
up the help.
up the help.
+
If there are more options than fit in the window, is a scrollbar
If there are more options than fit in the window,
there
is a scrollbar
on the left side.
on the left side.
Left-Drag: Select and copy a region (the copy is made when the button is released).
Left-Drag:::
Select and copy a region (the copy is made when the button is
released).
Middle-click: Paste from PRIMARY selection or clipboard.
Middle-click:::
Paste from PRIMARY selection or clipboard.
Keyboard Controls:
Keyboard Controls:
:
Return: Select the currently highlighted option. If there is a blank
Return:::
Select the currently highlighted option. If there is a blank
line at the end of the menu, you can select it to insert a new
line at the end of the menu, you can select it to insert a new
item.
item.
Escape: Exit the current menu.
Escape:::
Backspace: An alias for Escape.
Exit the current menu.
Backspace::: An alias for Escape.
CTRL-C: An alias for Escape.
CTRL-C: An alias for Escape.
Home: Jump to the beginning of the menu
Home:::
Jump to the beginning of the menu
Up Arrow:::
Move to the previous item in the list
Page Up:::
Jump up in the menu by one screen.
Up Arrow: Move to the previous item in the list
Page Down:::
Jump down in the menu by one screen.
Page Up: Jump up in the menu by one screen.
End:::
Jump to the end of the menu
Page Down: Jump down in the menu by one screen.
Down Arrow:::
Move to the next item in the list.
End: Jump to the end of the menu
F1:::
Help
Down Arrow: Move to the next item in the list.
F2:::
Edit
F1: Help
F5:::
Copy
F2: Edit
CTRL-Insert:::
An alias for F5
F5: Copy
Shift-Delete:::
CTRL-Insert: An alias for F5
Cut
Shift-Delete: Cut
F6:::
Paste
F6: Paste
Shift-Insert:::
Shift-Insert:
An alias for F6
An alias for F6
Insert:
Inserts a new item.
Insert:
::
+: An alias for Insert
Inserts a new item.
Delete: Delete item at current location
+:::
-:
An alias for
Delete
An alias for
Insert
Any letter or number: Jumps to the next item that has that character
Delete:::
Delete item at current location
-:::
An alias for Delete
Any letter or number:::
Jumps to the next item that has that character
earliest in it's name.
earliest in it's name.
ALT-Left: Snap the window size to the next smaller integer zoom level
ALT-Left:::
Snap the window size to the next smaller integer zoom level
ALT-Right: Snap the window size to the next larger smaller integer zoom level
ALT-Right:::
Snap the window size to the next larger smaller integer zoom
level
CTRL-F: Find text in options
CTRL-F:::
Find text in options
CTRL-G: Repeat last find
CTRL-G:::
Repeat last find
The Dialing Directory
==
The Dialing Directory
This is the default startup screen if no BBS is specified on the
command-line.
This is the default startup screen if no BBS is specified on the
At the top is the program name and version, a build date,
the current
command-line.
At the top is the program name and version, a build date,
output mode, and the current date and time.
the current
output mode, and the current date and time.
With version numbers, trailing letters indicate pre-release versions. 'a'
With version numbers, trailing letters indicate pre-release versions. 'a'
indicates an alpha build which will have known bugs and/or incomplete features.
indicates an alpha build which will have known bugs and/or incomplete
'b' indicates a beta build which indicates there are expected to be no known
features. 'b' indicates a beta build which indicates there are expected
bugs, but it has not received testing. "rcX" is a release candidate where
to be no known bugs, but it has not received testing. "rcX" is a release
X is a number. These indicate that after some period (usually one to two
candidate where X is a number. These indicate that after some period
weeks) of no newly reported bugs, a release will be made.
(usually one to two weeks) of no newly reported bugs, a release will be
made.
The output mode is important to make note of when reporting issues, since
The output mode is important to make note of when reporting issues,
many bugs only impact one or two output modes. It's after the build date.
since many bugs only impact one or two output modes. It's after the
build date.
The bottom-most line contains help on the current menu, indicating what
The bottom-most line contains help on the current menu, indicating what
options are available in the most recent menu.
options are available in the most recent menu.
There are three areas the user can interact with in the dialing directory.
There are three areas the user can interact with in the dialing
The "Directory" menu, the "SyncTERM Settings" menu, and the comment line.
directory. The <<_the_directory,Directory>> menu, the <<_syncterm_settings,SyncTERM Settings>> menu, and the
comment line.
The comment line is directly above the help line at the bottom, and
allows
The comment line is directly above the help line at the bottom, and
a per-BBS comment to be entered.
allows
a per-BBS comment to be entered.
The Directory
===
The Directory
This menu lists all the entries in the two dialing directory files. If
This menu lists all the entries in the two dialing directory files. If
you move the bar over one and press <Enter>, it will connect you to the
you move the bar over one and press <Enter>, it will connect you to the
highlighted system as configured in the entry.
highlighted system as configured in the entry.
In addition to the standard controls, this menu also has some extra
keyboard
In addition to the standard controls, this menu also has some extra
shortcuts.
keyboard
shortcuts.
CTRL-D: Quick-connect to a URL
CTRL-D::
Quick-connect to a URL
CTRL-E: Edit the selected entry (Alias for F2)
CTRL-E::
Edit the selected entry (Alias for F2)
CTRL-S: Modify the sort order
CTRL-S::
<<_modifying_the_sort_order,Modify the sort order>>
ALT-B: View the scrollback of the last session
ALT-B::
View the scrollback of the last session
TAB: Move to the comment field for the current entry, or the settings
TAB::
Move to the comment field for the current entry, or the settings
menu if there is no current entry.
menu if there is no current entry.
Back TAB (Shift=TAB): Move to settings menu.
Back TAB (Shift=TAB)::
Move to settings menu.
To add a new entry, go to the bottom of the list (by pressing end) and
To add a new entry, go to the bottom of the list (by pressing end) and
select the blank entry at the bottom. A window will pop up asking for
select the blank entry at the bottom. A window will pop up asking for
...
@@ -327,101 +390,126 @@ dialing directory.
...
@@ -327,101 +390,126 @@ dialing directory.
Next you will be prompted for the protocol to use. Options include:
Next you will be prompted for the protocol to use. Options include:
RLogin: Uses the historic RFC1282 RLogin protocol without OOB data. This
[[protocols]]
RLogin::
Uses the historic RFC1282 RLogin protocol without OOB data. This
is an obsolete, unencrypted protocol that can allow auto-login, and
is an obsolete, unencrypted protocol that can allow auto-login, and
is 8-bit clean (unlike telnet). It is very simple. Instead of the
is 8-bit clean (unlike telnet). It is very simple. Instead of the
local username, the users password is sent.
local username, the users password is sent.
RLogin Reversed: Some RLogin servers that support password auto-login have
RLogin Reversed::
Some RLogin servers that support password auto-login have
reversed the remote and local username fields. This allows connecting
reversed the remote and local username fields. This allows connecting
to these servers.
to these servers.
Telnet: Uses the historic and highly complex telnet protocol. This is an
Telnet::
Uses the historic and highly complex telnet protocol. This is an
obsolete, unencrypted protocol and is not 8-bit clean and predates
obsolete, unencrypted protocol and is not 8-bit clean and predates
TCP/IP. It has been the source of many security vulnerabilities over
TCP/IP. It has been the source of many security vulnerabilities over
the fifty years or so it has existed. Historically, it has been the
the fifty years or so it has existed. Historically, it has been the
most common way to connect to a remote system as a terminal, so is
most common way to connect to a remote system as a terminal, so is
widely supported.
widely supported.
Raw: A raw 8-bit clean TCP connection. This is often what retro BBSs
Raw::
A raw 8-bit clean TCP connection. This is often what retro BBSs
actually support when they say they support telnet.
actually support when they say they support telnet.
SSH: The Secure Shell v2 protocol. This is the modern replacement for both
SSH::
The Secure Shell v2 protocol. This is the modern replacement for both
telnet and rlogin, and is widely supported. This is encrypted and
telnet and rlogin, and is widely supported. This is encrypted and
performs user and server authentication as part of the protocol instead
performs user and server authentication as part of the protocol instead
of inline. SyncTERM supports authenticating with both a password and
of inline. SyncTERM supports authenticating with both a password and
a public key.
a public key.
SSH (no auth): The SSH protocol, but will not send a password or public
SSH (no auth)::
The SSH protocol, but will not send a password or public
key. Used for auto-login systems where the user name by itself is
key. Used for auto-login systems where the user name by itself is
sufficient.
sufficient.
Modem: SyncTERM can directly control a modem for making outgoing calls.
Modem::
SyncTERM can directly control a modem for making outgoing calls.
Serial: Direct communication with a serial port.
Serial::
Direct communication with a serial port.
3-wire: Serial, but with only transmit and receive. In this mode, there
3-wire::
Serial, but with only transmit and receive. In this mode, there
is no way to detect if the remote has hung up and there is no flow
is no way to detect if the remote has hung up and there is no flow
control, so bytes can easily be lost. This is primarily used for
control, so bytes can easily be lost. This is primarily used for
communicating with embedded hardware, and not BBSs.
communicating with embedded hardware, and not BBSs.
Shell: Runs a shell in the terminal.
Shell::
Runs a shell in the terminal.
MBBS GHost: The MajorBBS 'GHost' protocol.
MBBS GHost::
The <<_mbbs_ghost,MajorBBS 'GHost' protocol>>.
TelnetS: Telnet over TLS. All the drawbacks of the telnet protocol, but
TelnetS::
Telnet over TLS. All the drawbacks of the telnet protocol, but
at least it's encrypted.
at least it's encrypted.
Finally, you will be promted for the "address". This is the DNS addres,
IP
Finally, you will be promted for the "address". This is the DNS addres,
address, serial port, or command to connect to.
IP
address, serial port, or command to connect to.
Ones these three pieces of information are entered, the entry is created
Ones these three pieces of information are entered, the entry is created
and you are returned to the Directory. To further modify the settings,
and you are returned to the Directory. To further modify the settings,
you can press F2 to enter the Edit Directory Entry menu.
you can press F2 to enter the Edit Directory Entry menu.
Edit Directory Entry
====
Edit Directory Entry
In this menu, you can modify all the connection settings for an entry.
In this menu, you can modify all the connection settings for an entry.
The exact contents of this menu will vary a bit by connection type, but
The exact contents of this menu will vary a bit by connection type, but
most of the options are the same or silimar.
most of the options are the same or silimar.
Name: The name of the entry.
Name::
The name of the entry.
Phone Number (Modem only): The phone number to dial.
Phone Number (Modem only):
:
The phone number to dial.
Device Name (Serial and 3-wire only): The device name to open.
Device Name (Serial and 3-wire only):
:
The device name to open.
Command (Shell only):
The command to run (usually a shell such as
Command (Shell only):
:
/bin/sh)
The command to run (usually a shell such as
/bin/sh)
Address: IP address or host name
Address::
IP address or host name
Connection Type: Protocol to use. See pervious section
Connection Type::
Protocol to use. See <<protocols
Flow Control (Modem, Serial, and 3-wire): The type of flow control
Flow Control (Modem, Serial, and 3-wire)::
The type of flow control
to use. RTC/CTS, XON/XOFF, Both, or None
to use. RTC/CTS, XON/XOFF, Both, or None
TCP Port: The TCP port to connect to.
TCP Port:
:
The TCP port to connect to.
SSH Username (SSH (no auth)): The username to send for the SSH
SSH Username (SSH (no auth))::
The username to send for the SSH
protocol. This may not be the same as the BBS username.
protocol. This may not be the same as the BBS username.
BBS Username (SSH (no auth)): The username to send when ALT-L is entered.
BBS Username (SSH (no auth))::
The username to send when ALT-L is entered.
BBS Password (SSH (no auth)): The password to send on ALT-L.
BBS Password (SSH (no auth))::
The password to send on ALT-L.
Username: The user name to send. Used by SSH, RLogin, and GHost.
Username::
The user name to send. Used by SSH, RLogin, and GHost.
For other protocols, send when ALT-L is pressed.
For other protocols, send when ALT-L is pressed.
Password: The password to send.
Password::
The password to send.
GHost Program (GHost): The program name to send to the remote.
GHost Program (GHost)::
The program name to send to the remote.
System Password: An additional password that can be sent after the
System Password::
An additional password that can be sent after the
first ALT-L using successive ALT-Ls.
first ALT-L using successive ALT-Ls.
Screen Mode: Selects the format of the window when connected.
Screen Mode::
Selects the format of the window when connected.
A mode specifies the number of columns, the number of rows,
A mode specifies the number of columns, the number of rows,
the aspect ratio, and the font size. Some modes such as the
the aspect ratio, and the font size. Some modes such as the
Commodore and Atari modes will also change the selected font.
Commodore and Atari modes will also change the selected font.
...
@@ -430,55 +518,73 @@ most of the options are the same or silimar.
...
@@ -430,55 +518,73 @@ most of the options are the same or silimar.
to Codepage 437 English. See Current Screen Mode and Custom
to Codepage 437 English. See Current Screen Mode and Custom
Screen Mode for additional information.
Screen Mode for additional information.
Hide Status Line: Indicates that the "status line" at the bottom of
Hide Status Line::
Indicates that the "status line" at the bottom of
the window when connected should not be displayed. This allows
the window when connected should not be displayed. This allows
for an extra line of text from the remote to be shown.
for an extra line of text from the remote to be shown.
Download Path: The location to save downloaded files.
Download Path::
The location to save downloaded files.
Upload Path:
The location to start at when browsing for files to
Upload Path:
:
upload.
The location to start at when browsing for files to
upload.
Log Configuration: This brings up a sub-menu to control a debug log.
Log Configuration::
This brings up a sub-menu to control a debug log.
There are four options in this sub-menu:
There are four options in this sub-menu:
Log Filename: If this is not blank, specifies the file to write
Log Filename:::
If this is not blank, specifies the file to write
the log data to. When this is blank, disable logging.
the log data to. When this is blank, disable logging.
File Transfer Log Level: May be one of None, Alerts, Critical Errors,
File Transfer Log Level:::
May be one of None, Alerts, Critical Errors,
Errors, Warnings, Notices, Normal, or Debug.
Errors, Warnings, Notices, Normal, or Debug.
Telnet Command Log Level: Chosen from the same list as above.
Telnet Command Log Level:::
Append Log File: If set you Yes, the log file retains old information
Chosen from the same list as above.
Append Log File::: If set you Yes, the log file retains old information
and will keep growing. If set to No, the log file is emptied
and will keep growing. If set to No, the log file is emptied
for each new connection.
for each new connection.
Comm Rate: For networked modes, specifies the sharacter pacing speed.
Comm Rate::
For networked modes, specifies the sharacter pacing speed.
For serial and modem types, specifies the speed to open the port at.
For serial and modem types, specifies the speed to open the port at.
ANSI Music: There are three options in this sub-menu.
ANSI Music::
ESC [ | only: With this setting, ANSI music is fully compliant with
There are three options in this sub-menu.
ESC [ | only:::
With this setting, ANSI music is fully compliant with
the standards (ECMA-48, ANSI, etc), but almost not software
the standards (ECMA-48, ANSI, etc), but almost not software
works with this.
works with this.
BANSI Style: Supports both the SyncTERM (CSI |) and BananaCom (CSI N)
BANSI Style:::
Supports both the SyncTERM (CSI |) and BananaCom (CSI N)
ANSI music styles. Support is still very rare, but slightly
ANSI music styles. Support is still very rare, but slightly
more common than the first.
more common than the first.
All ANSI Music Enabled: In addition to the previous two, also
All ANSI Music Enabled:::
In addition to the previous two, also
supports CSI M for ANSI music. This is by far the most common
supports CSI M for ANSI music. This is by far the most common
sequence used by software that supports ANSI music.
sequence used by software that supports ANSI music.
Unfortunately, this prevents the ANSI Delete Line sequence from
Unfortunately, this prevents the ANSI Delete Line sequence from
working correctly.
working correctly.
Address Family: Selected IP address family for network connections.
Address Family::
As per DNS: Uses the first address returned by getaddrinfo()
Selected IP address family for network connections.
IPv4 only: Will only connect over an IPv4 address. If none is
As per DNS:::
Uses the first address returned by getaddrinfo()
IPv4 only:::
Will only connect over an IPv4 address. If none is
available, the connection will fail.
available, the connection will fail.
IPv6 only: Will only connect over an IPv6 address. If none is
IPv6 only:::
Will only connect over an IPv6 address. If none is
available, the connection will fail.
available, the connection will fail.
Font: Choses a font (and by implication, a codepage) for the connection.
Font::
Choses a font (and by implication, a codepage) for the connection.
Custom fonts are also listed in this menu.
Custom fonts are also listed in this menu.
Hide Popups: Do not show status and progress popups.
Hide Popups::
Do not show status and progress popups.
RIP: Selects the version for Remote Imaging Protocol ("RIP").
RIP::
Selects the version for Remote Imaging Protocol ("RIP").
RIP allows graphics and mouse usage, and was used by doors and
RIP allows graphics and mouse usage, and was used by doors and
BBSs starting in the early 90s. The RIP support in SyncTERM is
BBSs starting in the early 90s. The RIP support in SyncTERM is
not complete, and may not be compatible with other terminals.
not complete, and may not be compatible with other terminals.
...
@@ -487,7 +593,8 @@ most of the options are the same or silimar.
...
@@ -487,7 +593,8 @@ most of the options are the same or silimar.
is an updated version that is not backward compatible, but can
is an updated version that is not backward compatible, but can
be used in any mode.
be used in any mode.
Force LCF Mode: This setting will force the DEC terminal
Force LCF Mode::
This setting will force the DEC terminal
"Last Column Flag" mode to always be enabled. This mode is almost
"Last Column Flag" mode to always be enabled. This mode is almost
always used in modern terminal emulators, which are almost all
always used in modern terminal emulators, which are almost all
VT-102 emulators at least. LCF controls the wrapping behaviour
VT-102 emulators at least. LCF controls the wrapping behaviour
...
@@ -495,14 +602,16 @@ most of the options are the same or silimar.
...
@@ -495,14 +602,16 @@ most of the options are the same or silimar.
rules used are complex and not implemented the same in all terminal
rules used are complex and not implemented the same in all terminal
emulators even today.
emulators even today.
Yellow is Yellow: By default, SyncTERM displays low-intensity yellow
Yellow is Yellow::
By default, SyncTERM displays low-intensity yellow
as brown. This originated in the IBM CGA monitors, and was carried
as brown. This originated in the IBM CGA monitors, and was carried
forward to EGA and even most VGA modes. Some digital monitors that
forward to EGA and even most VGA modes. Some digital monitors that
were CGA compatible did not have the brown hack. While the vast
were CGA compatible did not have the brown hack. While the vast
majority of software will assume that low-intensity yellow should
majority of software will assume that low-intensity yellow should
be brown, this allows strict standard compliance.
be brown, this allows strict standard compliance.
SFTP Public Key: For SSH connections, SyncTERM can open another SSH
SFTP Public Key::
For SSH connections, SyncTERM can open another SSH
channel and write the public key to .ssh/authorized_keys on the
channel and write the public key to .ssh/authorized_keys on the
remote, which will enable authentication using the private key on
remote, which will enable authentication using the private key on
at least OpenSSH and new versions of Synchronet. This option
at least OpenSSH and new versions of Synchronet. This option
...
@@ -510,120 +619,78 @@ most of the options are the same or silimar.
...
@@ -510,120 +619,78 @@ most of the options are the same or silimar.
stability issues if SFTP is not available or does not work correctly.
stability issues if SFTP is not available or does not work correctly.
Modifying the Sort Order
====
Modifying the Sort Order
You can change the order that entries appear in the Directory via the CTRL-S
You can change the order that entries appear in the Directory via the
key. This brings up a menu where you can add entries by either pressing
CTRL-S key. This brings up a menu where you can add entries by either
Insert to add before the current item, or by pressing Return on the enpty
pressing Insert to add before the current item, or by pressing Return on
line at the end. This will bring up a list of fields that can be sorted on.
the enpty line at the end. This will bring up a list of fields that can
be sorted on.
Pressing enter on a field will toggle if it's reversed (highest to
lowest) or
Pressing enter on a field will toggle if it's reversed (highest to
not.
lowest) or
not.
Viewing the Scrollback
====
Viewing the Scrollback
When viewing the scrollback, the following keys are supported:
When viewing the scrollback, the following keys are supported:
Up-arrow:
Move up one line
Up-arrow:
:
J:
Move up one line
Move up one line
Down-arrow: Move down on line
J::
K:
Move
down
one line
Move
up
one line
Page Up: Move up one screen
Down-arrow::
H:
Move
up one screen
Move
down on line
Page Down: Move down on screen
K::
L:
Move down one
screen
Move down one
line
Escape: Exit scrollback mode
Page Up::
Move up one screen
H::
Move up one screen
MBBS GHost
Page Down::
Move down on screen
"GHost" in SyncTERM refers to the "Galacticomm Host Program" (called Ghost)
L::
that was included in Major BBS and Worldgroup (MBBS/WG) that allowed a Sysop
Move down one screen
to connect another (DOS-based) PC to the BBS by use of a null modem cable.
This was a way for a MBBS/WG Sysop to offer DOS doors, something that wasn't
normally possible.
The functions of the Ghost software itself are beyond the scope of SyncTERM,
Escape::
and you should consult the MBBS/WG Ghost documentation for operation details.
Exit scrollback mode
However, broadly speaking, it worked like this:
1) MBBS/WG would send a signal down the null modem cable to alert the DOS PC
(running Ghost) that it wanted to run a door.
2) Using a simple protocol, MBBS/WG would transmit information required to
run the door (username, time remaining, whether ANSI-BBS graphics were
supported, etc) to Ghost.
3) Ghost would then launch the door in DOS, using a batch file to call Ghost
back once the door exited to wait for the next request.
While few people are connecting DOS-based PC's to anything by null modem
cables anymore, the Ghost protocol (as offered in SyncTERM) is still useful
because it's a way to run DOS doors inside a virtual machine and expose them
outside of that virtual machine. The idea being that the VM would configure
a serial port as some kind of network passthrough, so when SyncTERM connects,
it's passed through to the VM and then Ghost.
One use case for this is to offer DOS doors in environments where it would
normally be difficult or impossible. For example, a UNIX user could run
SyncTERM on a remote system in curses mode, where it would then connect to
a VM and launch a DOS door via Ghost. This would all be presented to the
end UNIX user in a seamless way, so all they would see is the door startup.
The Ghost protocol consists of a single line starting with 'MBBS:',
terminated with \r\n, and contains five parameters:
MBBS: PROGRAM PROTOCOL 'USER' TIME GR
You don't need to worry about sending this since SyncTERM will format it
for you based on the SyncTERM configuration options. But it is helpful
to understand how various SyncTERM options will translate to the Ghost
protocol parameters:
PROGRAM: The name of the DOS door/software to ask the Ghost side to run.
=== SyncTERM Settings
Configured in SyncTERM in the 'GHost Program' field of a directory entry,
or after the final slash in a ghost:// style URL.
For example: ghost://user@203.0.113.64/program
PROTOCOL: Always set to 2. Not configurable in SyncTERM.
USER: Username of the person connecting. Configured in SyncTERM in the
'username' field of a directory entry, or before the '@' in a ghost://
style URL. For example: ghost://user@203.0.113.64/program
TIME: Amount of time the user has remaining. Always set to 999. Not
configurable in SyncTERM.
GR: Set to GR (for "GRaphics", meaning ANSI-BBS support) or NG
(for "No Graphics"). Always set to GR. Not configurable in SyncTERM.
SyncTERM Settings
The SyncTERM Settings menu has the following options:
The SyncTERM Settings menu has the following options:
Default Connection Settings: Set the default values for a new directory
Default Connection Settings::
Set the default values for a new directory
entry. See Edit Directory Entry for details on these options.
entry. See Edit Directory Entry for details on these options.
Current Screen Mode: Changes the current screen mode. For directory
Current Screen Mode::
Changes the current screen mode. For directory
entries where the screen mode is "Current", will be used during the
entries where the screen mode is "Current", will be used during the
connection. This setting is not saved across program restarts.
connection. This setting is not saved across program restarts.
To change the startup screen mode, see
To change the startup screen mode, see
SyncTERM Settings → Program Settings → Startup Screen Mode.
SyncTERM Settings → Program Settings → Startup Screen Mode.
Font Management: Allows setting up custom font files.
Font Management::
Allows setting up custom font files.
Program Settings: Allows changing settings that are preserved across
Program Settings::
Allows changing settings that are preserved across
reboots.
reboots.
File Locations: Shows the paths to the various files and directories
File Locations::
Shows the paths to the various files and directories
that SyncTERM will access.
that SyncTERM will access.
Current Screen Mode
====
Current Screen Mode
This temporarily sets the screen mode. A screen mode defines the number
This temporarily sets the screen mode. A screen mode defines the number
of rows and columns in the window, which font size to use (8x8, 8x14, or
of rows and columns in the window, which font size to use (8x8, 8x14, or
...
@@ -635,7 +702,7 @@ is an 80x25 mode that uses square pixels, the 8x16 font, and performs the
...
@@ -635,7 +702,7 @@ is an 80x25 mode that uses square pixels, the 8x16 font, and performs the
VGA column expansion to use 9 pixel wide cells.
VGA column expansion to use 9 pixel wide cells.
Font Management
====
Font Management
The Font Management menu allows you to add and remove fonts. Each font
The Font Management menu allows you to add and remove fonts. Each font
should have a unique name, and at least one file for 8x8, 8x14, or 8x16
should have a unique name, and at least one file for 8x8, 8x14, or 8x16
...
@@ -643,56 +710,69 @@ fonts. The font format is the one used by "DOS fonts". You can insert
...
@@ -643,56 +710,69 @@ fonts. The font format is the one used by "DOS fonts". You can insert
and delete items using normal UIFC commands.
and delete items using normal UIFC commands.
Program Settings
====
Program Settings
Confirm Program Exit: Asks if you are sure you want to quit when pressing
Confirm Program Exit::
Asks if you are sure you want to quit when pressing
ESC or right-clicking in the main SyncTERM screen.
ESC or right-clicking in the main SyncTERM screen.
Prompt To Save: If enabled, when SyncTERM is started with a URI that is
Prompt To Save::
If enabled, when SyncTERM is started with a URI that is
not in a dialing directory, asks if you want to add the entry to the
not in a dialing directory, asks if you want to add the entry to the
directory.
directory.
Startup Screen Mode: The screen mode that is used when SyncTERM starts.
Startup Screen Mode::
The screen mode that is used when SyncTERM starts.
Video Output Mode: The method of displaying SyncTERM output. The options
Video Output Mode::
The method of displaying SyncTERM output. The options
will vary by OS, compile-time options, and installed libraries. See
will vary by OS, compile-time options, and installed libraries. See
the -I option to SyncTERM for details on the various modes.
the -I option to SyncTERM for details on the various modes.
Scrollback Buffer Lines: The maximum number of lines to keep in the
Scrollback Buffer Lines::
The maximum number of lines to keep in the
scrollback. Once this number is reached, the oldest lines are
scrollback. Once this number is reached, the oldest lines are
removed to make room for new lines.
removed to make room for new lines.
Modem/Comm Device: The device name for the Modem device. For UNIX-like
Modem/Comm Device::
The device name for the Modem device. For UNIX-like
systems, this will be something like "/dev/ttyd0". For Windows, this
systems, this will be something like "/dev/ttyd0". For Windows, this
will be "COM1" to "COM9". If it's COM10 or higher, it needs to be
will be "COM1" to "COM9". If it's COM10 or higher, it needs to be
specified as "\\.\COM10".
specified as "\\.\COM10".
Modem/Comm Rate: Specifies the speed to communicate with the modem at.
Modem/Comm Rate::
Specifies the speed to communicate with the modem at.
If set to 0, the speed is not set by SyncTERM, and the default is
If set to 0, the speed is not set by SyncTERM, and the default is
used.
used.
Modem Init String: The string to send to the modem when the device is
Modem Init String::
The string to send to the modem when the device is
first opened to prepare it to be used.
first opened to prepare it to be used.
Modem Dial String: A string that is sent immediately before the phone
Modem Dial String::
A string that is sent immediately before the phone
number to cause the modem to dial.
number to cause the modem to dial.
List Path: The path to load the personal dialing directory from.
List Path::
The path to load the personal dialing directory from.
TERM For Shell: The value that the TERM variable is set to for shell
TERM For Shell::
The value that the TERM variable is set to for shell
type connections.
type connections.
Scaling: Select to cycle through the values "Blocky", "Pointy", and
Scaling::
Select to cycle through the values "Blocky", "Pointy", and
"External". Blocky scales each pixel to a rectangle, and Pointy
"External". Blocky scales each pixel to a rectangle, and Pointy
will use 45° angles. External will use hardware scaling if possible.
will use 45° angles. External will use hardware scaling if possible.
The quality of External scaling varies wildly based on OS, device
The quality of External scaling varies wildly based on OS, device
drivers, and output mode.
drivers, and output mode.
Custom Screen Mode: Allows defining the Rows, Columns, Font Size, and
Custom Screen Mode::
Allows defining the Rows, Columns, Font Size, and
Aspect Ratio of the "Custom" screen mode.
Aspect Ratio of the "Custom" screen mode.
Connected State
==
Connected State
When you are connected to a system, there are a number of controls
When you are connected to a system, there are a number of controls
available that are not sent to the remote.
available that are not sent to the remote.
...
@@ -704,96 +784,193 @@ remote. To help avoid conflict with remote systems, the XON (CTRL-Q)
...
@@ -704,96 +784,193 @@ remote. To help avoid conflict with remote systems, the XON (CTRL-Q)
and XOFF (CTRL-S) codes that are used for software flow control are
and XOFF (CTRL-S) codes that are used for software flow control are
used.
used.
CTRL-Q: Disconnects from the current session.
CTRL-Q::
Disconnects from the current session.
CTRL-S: Brings up the Online Menu (see below)
CTRL-S::
Brings up the Online Menu (see below)
For all other modes, the ALT key is used for SyncTERM commands, and
For all other modes, the ALT key is used for SyncTERM commands, and
the following combinations are supported:
the following combinations are supported:
Shift-Insert: Pastes the current PRIMARY selection or clipboard
Shift-Insert::
Pastes the current PRIMARY selection or clipboard
contents to the remote.
contents to the remote.
ALT-B: View scrollback (See "Viewing The Scrollback")
ALT-B::
View scrollback (See "Viewing The Scrollback")
ALT-C: Capture Control. Allows starting and stopping capturing the
ALT-C::
Capture Control. Allows starting and stopping capturing the
session to a file. Useful for stealing ANSIs and debugging
session to a file. Useful for stealing ANSIs and debugging
emulation issues.
emulation issues.
ALT-D: Begins a download from the remote system.
ALT-D::
Begins a download from the remote system.
ALT-E: Brings up the Dialing Directory
ALT-E::
Brings up the Dialing Directory
ALT-F: Allows selecting a different font. In some output modes, the
ALT-F::
Allows selecting a different font. In some output modes, the
selected font will change text that is already on the screen.
selected font will change text that is already on the screen.
In most modes however, only newly displayed text will be in the
In most modes however, only newly displayed text will be in the
new font.
new font.
ALT-H: Hangup and return to the main menu.
ALT-H::
Hangup and return to the main menu.
ALT-L: Send auto-login information. For protocols that allow auto-
ALT-L::
Send auto-login information. For protocols that allow auto-
login, only the system password is sent. For all others, the
login, only the system password is sent. For all others, the
username is sent followed by a carriage return, then the password
username is sent followed by a carriage return, then the password
followed by a CR, then the system password followed by the CR.
followed by a CR, then the system password followed by the CR.
If any of these are not configured for the current entry, neither
If any of these are not configured for the current entry, neither
them, nor the CR are sent for that item.
them, nor the CR are sent for that item.
ALT-M: Changes the currently supported "ANSI" Music prefix.
ALT-M::
Changes the currently supported "ANSI" Music prefix.
ALT-O: Toggles remote mouse support. With the remote capturing mouse
ALT-O::
Toggles remote mouse support. With the remote capturing mouse
events, it can be difficult to select text to copy. ALT-O allows
events, it can be difficult to select text to copy. ALT-O allows
taking the mouse away from the remote.
taking the mouse away from the remote.
ALT-U: Upload a file to the remote.
ALT-U::
Upload a file to the remote.
ALT-X: Disconnect and exit SyncTERM. Does not return to the main
ALT-X::
Disconnect and exit SyncTERM. Does not return to the main
menu.
menu.
ALT-Z: Brings up the Online Menu (see below)
ALT-Z::
Brings up the Online Menu (see below)
ALT-UpArrow: Selects the next fastest character pacing speed. If the
ALT-UpArrow::
Selects the next fastest character pacing speed. If the
fastest speed is currently selected, disables character pacing.
fastest speed is currently selected, disables character pacing.
If pacing is currently disabled, selects the slowest pacing speed.
If pacing is currently disabled, selects the slowest pacing speed.
ALT-DownArrow: Selects the next slowest character pacing speed. If
ALT-DownArrow::
Selects the next slowest character pacing speed. If
the slowest speed is currently selected, disables character pacing.
the slowest speed is currently selected, disables character pacing.
If pacing is currently disabled, selects the fastest pacing speed.
If pacing is currently disabled, selects the fastest pacing speed.
Online Menu
===
Online Menu
Allows menu-based selection of some of the above options, as well as
Allows menu-based selection of some of the above options, as well as
some less-common operations that don't have a keyboard shortcut.
some less-common operations that don't have a keyboard shortcut.
Scrollback: See ALT-B
Scrollback::
Same as ALT-B
Disconnect: See ALT-H
Disconnect::
Same as ALT-H
Send Login: See ALT-L
Send Login::
Same as ALT-L
Upload: See ALT-U
Upload::
Same as ALT-U
Download: See ALT-D
Download::
Same as ALT-D
Change Output Rate:
Allows selecting a specific character pacing to
Change Output Rate:
:
use.
Allows selecting a specific character pacing to
use.
Change Log Level: Temporarily changes the file transfer log level
Change Log Level::
Temporarily changes the file transfer log level
Capture Control: See ALT-C
Capture Control::
Same as ALT-C
ANSI Music Control: See ALT-M
ANSI Music Control::
Same as ALT-M
Font Setup: See ALT-F
Font Setup::
Same as ALT-F
Toggle Doorway Mode: Turns on or off Doorway mode without the host
Toggle Doorway Mode::
Turns on or off Doorway mode without the host
specifying it. Can be used to recover from broken remote software.
specifying it. Can be used to recover from broken remote software.
Toggle Remote Mouse: See ALT-O
Toggle Remote Mouse::
Same as ALT-O
Toggle Operation Overkill ][ Mode: Turns on or off OO][ mode.
Toggle Operation Overkill ]\[ Mode::
Turns on or off OO]\[ mode.
Can be used to recover from broken remote software.
Can be used to recover from broken remote software.
Exit: See ALT-X
Exit::
Same as ALT-X
Edit Dialing Directory::
Same as ALT-E
== Techical Details
The following sections delve deeper into technical details, and should
not be required for normal use.
=== MBBS GHost
"GHost" in SyncTERM refers to the "Galacticomm Host Program" (called Ghost)
that was included in Major BBS and Worldgroup (MBBS/WG) that allowed a Sysop
to connect another (DOS-based) PC to the BBS by use of a null modem cable.
This was a way for a MBBS/WG Sysop to offer DOS doors, something that wasn't
normally possible.
The functions of the Ghost software itself are beyond the scope of SyncTERM,
and you should consult the MBBS/WG Ghost documentation for operation details.
However, broadly speaking, it worked like this:
1) MBBS/WG would send a signal down the null modem cable to alert the DOS PC
(running Ghost) that it wanted to run a door.
2) Using a simple protocol, MBBS/WG would transmit information required to
run the door (username, time remaining, whether ANSI-BBS graphics were
supported, etc) to Ghost.
3) Ghost would then launch the door in DOS, using a batch file to call Ghost
back once the door exited to wait for the next request.
While few people are connecting DOS-based PC's to anything by null modem
cables anymore, the Ghost protocol (as offered in SyncTERM) is still useful
because it's a way to run DOS doors inside a virtual machine and expose them
outside of that virtual machine. The idea being that the VM would configure
a serial port as some kind of network passthrough, so when SyncTERM connects,
it's passed through to the VM and then Ghost.
One use case for this is to offer DOS doors in environments where it would
normally be difficult or impossible. For example, a UNIX user could run
SyncTERM on a remote system in curses mode, where it would then connect to
a VM and launch a DOS door via Ghost. This would all be presented to the
end UNIX user in a seamless way, so all they would see is the door startup.
The Ghost protocol consists of a single line starting with 'MBBS:',
terminated with \r\n, and contains five parameters:
MBBS: PROGRAM PROTOCOL 'USER' TIME GR
You don't need to worry about sending this since SyncTERM will format it
for you based on the SyncTERM configuration options. But it is helpful
to understand how various SyncTERM options will translate to the Ghost
protocol parameters:
PROGRAM: The name of the DOS door/software to ask the Ghost side to run.
Configured in SyncTERM in the 'GHost Program' field of a directory entry,
or after the final slash in a ghost:// style URL.
For example: ghost://user@203.0.113.64/program
PROTOCOL: Always set to 2. Not configurable in SyncTERM.
USER: Username of the person connecting. Configured in SyncTERM in the
'username' field of a directory entry, or before the '@' in a ghost://
style URL. For example: ghost://user@203.0.113.64/program
Edit Dialing Directory: See ALT-E
TIME: Amount of time the user has remaining. Always set to 999. Not
configurable in SyncTERM.
GR: Set to GR (for "GRaphics", meaning ANSI-BBS support) or NG
(for "No Graphics"). Always set to GR. Not configurable in SyncTERM.
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment