Skip to content
Snippets Groups Projects
Commit 404875a5 authored by Deucе's avatar Deucе :ok_hand_tone4:
Browse files

Convert to asciidoc

parent 708d98b7
No related branches found
No related tags found
No related merge requests found
Pipeline #6673 failed
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
Synchronet specific, it just happens to share a large portion of code 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
If you need help with SyncTERM, the best places are:
Support IRC::
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,
this is the quickest way to get a response.
If you need help with SyncTERM, the best places are: SourceForge::
The official http://www.sf.net/projects/syncterm[SyncTERM project page]
has a bug tracker and other features that will email me and provide
tracking for issues that are filed.
E-Mail::
I am usually fairly responsive to emails sent to me at
mailto:shurd@sasktel.net[shurd@sasktel.net]. Please describe your issue
as clearly as possible.
1) IRC: Dove-Net::
Connect to irc.synchro.net and find Deuce in #Synchronet. Ask your While I no longer read Dove-Net regularly, many other users can often
question, then idle. I can take hours to respond. Do not give up, help with support issues. Ask questions in the Hardware/Software Help
this is the quickest way to get a response. sub. If your local BBS does not carry Dove-Net, you can telnet to
2) SourceForge: vert.synchro.net and leave messages there.
The official SyncTERM project page at
http://www.sf.net/projects/syncterm has a bug tracker and other
features that will email me and provide tracking for issues that
are filed.
3) E-Mail:
I am usually fairly responsive to emails sent to me at
shurd@sasktel.net. Please describe your issue as clearly as possible.
4) Dove-Net:
I usually read Dove-Net regularly, and many other users can often
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
vert.synchro.net and leave messages there.
Throughout this document, I will mention things which are not supported. Throughout this document, I will mention things which are not supported.
These are things which I don't normally test, and are unlikely to work These are things which I don't normally test, and are unlikely to work
at any given time. If you ask for support on one of these issues, I may at any given time. If you ask for support on one of these issues, I may
help out, or I may not. It doesn't bother me if you ask for help on 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
was planned. since RLogin supports auto-login with user ID and password was planned. since RLogin supports auto-login with user ID and password
on Synchronet systems, and RLogin is a much simpler protocol than telnet, on Synchronet systems, and RLogin is a much simpler protocol than telnet,
no telnet support was planned. Digital Man (authour of Synchronet) added no telnet support was planned. Digital Man (authour of Synchronet) added
telnet and ZModem support a year later, and SyncTERM became a generally 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`
SyncTERM supports many command-line options to control behaviour. Options == Running SyncTERM
begin with a - followed by one or more other characters. The following
options are supported (options are not case sensitive):
-6 SyncTERM supports many command-line options to control behaviour. Options
Specifying -6 forces SyncTERM to use IPv6 addresses when possible. begin with a - followed by one or more other characters. The following
options are supported (options are not case sensitive):
-4 -6::
Specifying -4 forces SyncTERM to use IPv4 addresses when possible. Specifying -6 forces SyncTERM to use IPv6 addresses when possible.
-B/path/to/bbs/list.lst -4::
Loads the user BBS list from the specified file instead of the default. Specifying -4 forces SyncTERM to use IPv4 addresses when possible.
-C -B/path/to/bbs/list.lst::
Changes the default to no status line. Loads the user BBS list from the specified file instead of the default.
-E## -C::
Specifies the escape delay in ANSI on Curses modes. The escape delay Changes the default to no status line.
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
are millisecods, and the default is 25.
-H -E##::
Use SSH mode when connecting. 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
user to see if it's a control sequence or a bare ESC press. The units
are millisecods, and the default is 25.
-I[ACFXWS[WF]O[WF]] -H::
Selects the output mode. Not all modes are available in all builds or Use SSH mode when connecting.
on all platforms. Legal vales are:
A - ANSI output mode. This mode outputs ANSI control sequences to stdout. -I\[ACFXWS\[WF]O\[WF]]::
This can be used as a door on BBSs or on some terminals. This is not Selects the output mode. Not all modes are available in all builds or
generally something a normal user would ever want to use. 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.
C - Curses output mode. UNIX only mode which uses the curses library to C:::
run in a terminal window. 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]:::
the default for Windows. Additionally, a 'W' or 'F' can be Windows GDI output mode. Uses the Win32 API directly, and is
specified to force windowed or full-screen mode respectively. the default for Windows. Additionally, a 'W' or 'F' can be
specified to force windowed or full-screen mode respectively.
I - Curses in ASCII mode. I:::
Curses in ASCII mode.
X[WF] - X11 output mode. UNIX only mode which directly uses the X11 S\[WF]:::
libraries for drawing. The default where supported. Additionally, SDL window output mode. Uses the SDL library for output. The
a 'W' or 'F' can be specified to force windowed or full-screen default mode. Additionally, a 'W' or 'F' can be specified to
mode respectively. force windowed or full-screen mode respectively.
W - Windows console mode. Windows only mode which uses the system console W:::
APIs for output. Windows console mode. Windows only mode which uses the system
console APIs for output.
S[WF] - SDL window output mode. Uses the SDL library for output. The X\[WF]:::
default mode. Additionally, a 'W' or 'F' can be specified to force X11 output mode. UNIX only mode which directly uses the X11
windowed or full-screen mode respectively. libraries for drawing. The default where supported. Additionally,
a 'W' or 'F' can be specified to force windowed or full-screen
mode respectively.
-L## -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:::
If there is a blank line at the end of the menu, you can select Select an item in a menu.
it to insert a new item. +
If there is a blank line at the end of the menu, you can select
Menus have a standard set of mouse controls it to insert a new item.
+
If you click outside of a menu, that menu is usually closed, but Menus have a standard set of mouse controls
in some cases, it may simply become inactive. +
If you click outside of a menu, that menu is usually closed, but
At the top of each menu is a block which is used to close the menu. in some cases, it may simply become inactive.
+
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
up the help.
+
If there are more options than fit in the window, there is a scrollbar
on the left side.
Left-Drag:::
Select and copy a region (the copy is made when the button is
released).
Middle-click:::
Paste from PRIMARY selection or clipboard.
Keyboard Controls::
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
item.
If there is help for the menu, there is also a ? button to bring Escape:::
up the help. Exit the current menu.
If there are more options than fit in the window, is a scrollbar Backspace::: An alias for Escape.
on the left side. CTRL-C: An alias for Escape.
Left-Drag: Select and copy a region (the copy is made when the button is released). Home:::
Jump to the beginning of the menu
Middle-click: Paste from PRIMARY selection or clipboard. Up Arrow:::
Move to the previous item in the list
Keyboard Controls: Page Up:::
Jump up in the menu by one screen.
Return: Select the currently highlighted option. If there is a blank Page Down:::
line at the end of the menu, you can select it to insert a new Jump down in the menu by one screen.
item.
Escape: Exit the current menu. End:::
Backspace: An alias for Escape. Jump to the end of the menu
CTRL-C: An alias for Escape.
Home: Jump to the beginning of the menu Down Arrow:::
Move to the next item in the list.
Up Arrow: Move to the previous item in the list F1:::
Help
Page Up: Jump up in the menu by one screen. F2:::
Edit
Page Down: Jump down in the menu by one screen. F5:::
Copy
End: Jump to the end of the menu CTRL-Insert:::
An alias for F5
Down Arrow: Move to the next item in the list. Shift-Delete:::
Cut
F1: Help F6:::
Paste
F2: Edit Shift-Insert:::
An alias for F6
F5: Copy Insert:::
CTRL-Insert: An alias for F5 Inserts a new item.
Shift-Delete: Cut +:::
An alias for Insert
F6: Paste Delete:::
Shift-Insert: An alias for F6 Delete item at current location
Insert: Inserts a new item. -:::
+: An alias for Insert An alias for Delete
Delete: Delete item at current location Any letter or number:::
-: An alias for Delete Jumps to the next item that has that character
earliest in it's name.
Any letter or number: Jumps to the next item that has that character ALT-Left:::
earliest in it's name. 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. At the top is the program name and version, a build date,
This is the default startup screen if no BBS is specified on the command-line. the current output mode, and the current date and time.
At the top is the program name and version, a build date, 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::
menu if there is no current entry. Move to the comment field for the current entry, or the settings
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,303 +390,307 @@ dialing directory. ...@@ -327,303 +390,307 @@ 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]]
is an obsolete, unencrypted protocol that can allow auto-login, and RLogin::
is 8-bit clean (unlike telnet). It is very simple. Instead of the Uses the historic RFC1282 RLogin protocol without OOB data. This
local username, the users password is sent. is an obsolete, unencrypted protocol that can allow auto-login, and
is 8-bit clean (unlike telnet). It is very simple. Instead of the
RLogin Reversed: Some RLogin servers that support password auto-login have local username, the users password is sent.
reversed the remote and local username fields. This allows connecting
to these servers. RLogin Reversed::
Some RLogin servers that support password auto-login have
Telnet: Uses the historic and highly complex telnet protocol. This is an reversed the remote and local username fields. This allows connecting
obsolete, unencrypted protocol and is not 8-bit clean and predates to these servers.
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 Telnet::
most common way to connect to a remote system as a terminal, so is Uses the historic and highly complex telnet protocol. This is an
widely supported. obsolete, unencrypted protocol and is not 8-bit clean and predates
TCP/IP. It has been the source of many security vulnerabilities over
Raw: A raw 8-bit clean TCP connection. This is often what retro BBSs the fifty years or so it has existed. Historically, it has been the
actually support when they say they support telnet. most common way to connect to a remote system as a terminal, so is
widely supported.
SSH: The Secure Shell v2 protocol. This is the modern replacement for both
telnet and rlogin, and is widely supported. This is encrypted and Raw::
performs user and server authentication as part of the protocol instead A raw 8-bit clean TCP connection. This is often what retro BBSs
of inline. SyncTERM supports authenticating with both a password and actually support when they say they support telnet.
a public key.
SSH::
SSH (no auth): The SSH protocol, but will not send a password or public The Secure Shell v2 protocol. This is the modern replacement for both
key. Used for auto-login systems where the user name by itself is telnet and rlogin, and is widely supported. This is encrypted and
sufficient. performs user and server authentication as part of the protocol instead
of inline. SyncTERM supports authenticating with both a password and
Modem: SyncTERM can directly control a modem for making outgoing calls. a public key.
Serial: Direct communication with a serial port. SSH (no auth)::
The SSH protocol, but will not send a password or public
3-wire: Serial, but with only transmit and receive. In this mode, there key. Used for auto-login systems where the user name by itself is
is no way to detect if the remote has hung up and there is no flow sufficient.
control, so bytes can easily be lost. This is primarily used for
communicating with embedded hardware, and not BBSs. Modem::
SyncTERM can directly control a modem for making outgoing calls.
Shell: Runs a shell in the terminal.
Serial::
MBBS GHost: The MajorBBS 'GHost' protocol. Direct communication with a serial port.
TelnetS: Telnet over TLS. All the drawbacks of the telnet protocol, but 3-wire::
at least it's encrypted. 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
Finally, you will be promted for the "address". This is the DNS addres, IP control, so bytes can easily be lost. This is primarily used for
address, serial port, or command to connect to. communicating with embedded hardware, and not BBSs.
Shell::
Runs a shell in the terminal.
MBBS GHost::
The <<_mbbs_ghost,MajorBBS 'GHost' protocol>>.
TelnetS::
Telnet over TLS. All the drawbacks of the telnet protocol, but
at least it's encrypted.
Finally, you will be promted for the "address". This is the DNS addres,
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
/bin/sh) Command (Shell only)::
The command to run (usually a shell such as /bin/sh)
Address: IP address or host name
Address::
Connection Type: Protocol to use. See pervious section IP address or host name
Flow Control (Modem, Serial, and 3-wire): The type of flow control Connection Type::
to use. RTC/CTS, XON/XOFF, Both, or None Protocol to use. See <<protocols
TCP Port: The TCP port to connect to. Flow Control (Modem, Serial, and 3-wire)::
The type of flow control
SSH Username (SSH (no auth)): The username to send for the SSH to use. RTC/CTS, XON/XOFF, Both, or None
protocol. This may not be the same as the BBS username.
TCP Port:: The TCP port to connect to.
BBS Username (SSH (no auth)): The username to send when ALT-L is entered.
SSH Username (SSH (no auth))::
BBS Password (SSH (no auth)): The password to send on ALT-L. The username to send for the SSH
protocol. This may not be the same as the BBS username.
Username: The user name to send. Used by SSH, RLogin, and GHost.
For other protocols, send when ALT-L is pressed. BBS Username (SSH (no auth))::
The username to send when ALT-L is entered.
Password: The password to send.
BBS Password (SSH (no auth))::
GHost Program (GHost): The program name to send to the remote. The password to send on ALT-L.
System Password: An additional password that can be sent after the Username::
first ALT-L using successive ALT-Ls. The user name to send. Used by SSH, RLogin, and GHost.
For other protocols, send when ALT-L is pressed.
Screen Mode: Selects the format of the window when connected.
A mode specifies the number of columns, the number of rows, Password::
the aspect ratio, and the font size. Some modes such as the The password to send.
Commodore and Atari modes will also change the selected font.
If the current font is a mode-specific one (such as C64 or Atari), GHost Program (GHost)::
Changing from that mode to a standard one will change the font The program name to send to the remote.
to Codepage 437 English. See Current Screen Mode and Custom
Screen Mode for additional information. System Password::
An additional password that can be sent after the
Hide Status Line: Indicates that the "status line" at the bottom of first ALT-L using successive ALT-Ls.
the window when connected should not be displayed. This allows
for an extra line of text from the remote to be shown. Screen Mode::
Selects the format of the window when connected.
Download Path: The location to save downloaded files. A mode specifies the number of columns, the number of rows,
the aspect ratio, and the font size. Some modes such as the
Upload Path: The location to start at when browsing for files to Commodore and Atari modes will also change the selected font.
upload. If the current font is a mode-specific one (such as C64 or Atari),
Changing from that mode to a standard one will change the font
Log Configuration: This brings up a sub-menu to control a debug log. to Codepage 437 English. See Current Screen Mode and Custom
There are four options in this sub-menu: Screen Mode for additional information.
Log Filename: If this is not blank, specifies the file to write
the log data to. When this is blank, disable logging. Hide Status Line::
File Transfer Log Level: May be one of None, Alerts, Critical Errors, Indicates that the "status line" at the bottom of
Errors, Warnings, Notices, Normal, or Debug. the window when connected should not be displayed. This allows
Telnet Command Log Level: Chosen from the same list as above. for an extra line of text from the remote to be shown.
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 Download Path::
for each new connection. The location to save downloaded files.
Comm Rate: For networked modes, specifies the sharacter pacing speed. Upload Path::
For serial and modem types, specifies the speed to open the port at. The location to start at when browsing for files to upload.
ANSI Music: There are three options in this sub-menu. Log Configuration::
ESC [ | only: With this setting, ANSI music is fully compliant with This brings up a sub-menu to control a debug log.
the standards (ECMA-48, ANSI, etc), but almost not software There are four options in this sub-menu:
works with this. Log Filename:::
BANSI Style: Supports both the SyncTERM (CSI |) and BananaCom (CSI N) If this is not blank, specifies the file to write
ANSI music styles. Support is still very rare, but slightly the log data to. When this is blank, disable logging.
more common than the first. File Transfer Log Level:::
All ANSI Music Enabled: In addition to the previous two, also May be one of None, Alerts, Critical Errors,
supports CSI M for ANSI music. This is by far the most common Errors, Warnings, Notices, Normal, or Debug.
sequence used by software that supports ANSI music. Telnet Command Log Level:::
Unfortunately, this prevents the ANSI Delete Line sequence from Chosen from the same list as above.
working correctly. 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
Address Family: Selected IP address family for network connections. for each new connection.
As per DNS: Uses the first address returned by getaddrinfo()
IPv4 only: Will only connect over an IPv4 address. If none is Comm Rate::
available, the connection will fail. For networked modes, specifies the sharacter pacing speed.
IPv6 only: Will only connect over an IPv6 address. If none is For serial and modem types, specifies the speed to open the port at.
available, the connection will fail.
ANSI Music::
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
works with this.
BANSI Style:::
Supports both the SyncTERM (CSI |) and BananaCom (CSI N)
ANSI music styles. Support is still very rare, but slightly
more common than the first.
All ANSI Music Enabled:::
In addition to the previous two, also
supports CSI M for ANSI music. This is by far the most common
sequence used by software that supports ANSI music.
Unfortunately, this prevents the ANSI Delete Line sequence from
working correctly.
Address Family::
Selected IP address family for network connections.
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.
IPv6 only:::
Will only connect over an IPv6 address. If none is
available, the connection will fail.
Font: Choses a font (and by implication, a codepage) for the connection. Font::
Custom fonts are also listed in this menu. Choses a font (and by implication, a codepage) for the connection.
Custom fonts are also listed in this menu.
Hide Popups: Do not show status and progress popups.
Hide Popups::
RIP: Selects the version for Remote Imaging Protocol ("RIP"). Do not show status and progress popups.
RIP allows graphics and mouse usage, and was used by doors and
BBSs starting in the early 90s. The RIP support in SyncTERM is RIP::
not complete, and may not be compatible with other terminals. Selects the version for Remote Imaging Protocol ("RIP").
RIPv1 is the one most commonly used by old BBS software, and it RIP allows graphics and mouse usage, and was used by doors and
requires that the Screen Mode be set to an EGA mode. RIPv3 BBSs starting in the early 90s. The RIP support in SyncTERM is
is an updated version that is not backward compatible, but can not complete, and may not be compatible with other terminals.
be used in any mode. RIPv1 is the one most commonly used by old BBS software, and it
requires that the Screen Mode be set to an EGA mode. RIPv3
Force LCF Mode: This setting will force the DEC terminal is an updated version that is not backward compatible, but can
"Last Column Flag" mode to always be enabled. This mode is almost be used in any mode.
always used in modern terminal emulators, which are almost all
VT-102 emulators at least. LCF controls the wrapping behaviour Force LCF Mode::
when the cursor is on the last column of a line. The specific This setting will force the DEC terminal
rules used are complex and not implemented the same in all terminal "Last Column Flag" mode to always be enabled. This mode is almost
emulators even today. always used in modern terminal emulators, which are almost all
VT-102 emulators at least. LCF controls the wrapping behaviour
Yellow is Yellow: By default, SyncTERM displays low-intensity yellow when the cursor is on the last column of a line. The specific
as brown. This originated in the IBM CGA monitors, and was carried rules used are complex and not implemented the same in all terminal
forward to EGA and even most VGA modes. Some digital monitors that emulators even today.
were CGA compatible did not have the brown hack. While the vast
majority of software will assume that low-intensity yellow should Yellow is Yellow::
be brown, this allows strict standard compliance. By default, SyncTERM displays low-intensity yellow
as brown. This originated in the IBM CGA monitors, and was carried
SFTP Public Key: For SSH connections, SyncTERM can open another SSH forward to EGA and even most VGA modes. Some digital monitors that
channel and write the public key to .ssh/authorized_keys on the were CGA compatible did not have the brown hack. While the vast
remote, which will enable authentication using the private key on majority of software will assume that low-intensity yellow should
at least OpenSSH and new versions of Synchronet. This option be brown, this allows strict standard compliance.
requires SFTP support from the remote side, and may cause connection
stability issues if SFTP is not available or does not work correctly. SFTP Public Key::
For SSH connections, SyncTERM can open another SSH
channel and write the public key to .ssh/authorized_keys on the
Modifying the Sort Order remote, which will enable authentication using the private key on
at least OpenSSH and new versions of Synchronet. This option
You can change the order that entries appear in the Directory via the CTRL-S requires SFTP support from the remote side, and may cause connection
key. This brings up a menu where you can add entries by either pressing stability issues if SFTP is not available or does not work correctly.
Insert to add before the current item, or by pressing Return on the enpty
line at the end. This will bring up a list of fields that can be sorted on.
==== Modifying the Sort Order
Pressing enter on a field will toggle if it's reversed (highest to lowest) or
not. You can change the order that entries appear in the Directory via the
CTRL-S key. This brings up a menu where you can add entries by either
pressing Insert to add before the current item, or by pressing Return on
Viewing the Scrollback 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 not.
==== 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)
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, L::
and you should consult the MBBS/WG Ghost documentation for operation details. Move down one screen
However, broadly speaking, it worked like this:
1) MBBS/WG would send a signal down the null modem cable to alert the DOS PC Escape::
(running Ghost) that it wanted to run a door. Exit scrollback mode
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 === SyncTERM Settings
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
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::
entry. See Edit Directory Entry for details on these options. Set the default values for a new directory
entry. See Edit Directory Entry for details on these options.
Current Screen Mode: Changes the current screen mode. For directory Current Screen Mode::
entries where the screen mode is "Current", will be used during the Changes the current screen mode. For directory
connection. This setting is not saved across program restarts. entries where the screen mode is "Current", will be used during the
To change the startup screen mode, see connection. This setting is not saved across program restarts.
SyncTERM Settings → Program Settings → Startup Screen Mode. To change the startup screen mode, see
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::
reboots. Allows changing settings that are preserved across
reboots.
File Locations: Shows the paths to the various files and directories File Locations::
that SyncTERM will access. Shows the paths to the various files and directories
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::
ESC or right-clicking in the main SyncTERM screen. Asks if you are sure you want to quit when pressing
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::
not in a dialing directory, asks if you want to add the entry to the If enabled, when SyncTERM is started with a URI that is
directory. not in a dialing directory, asks if you want to add the entry to the
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::
will vary by OS, compile-time options, and installed libraries. See The method of displaying SyncTERM output. The options
the -I option to SyncTERM for details on the various modes. will vary by OS, compile-time options, and installed libraries. See
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::
scrollback. Once this number is reached, the oldest lines are The maximum number of lines to keep in the
removed to make room for new lines. scrollback. Once this number is reached, the oldest lines are
removed to make room for new lines.
Modem/Comm Device: The device name for the Modem device. For UNIX-like Modem/Comm Device::
systems, this will be something like "/dev/ttyd0". For Windows, this The device name for the Modem device. For UNIX-like
will be "COM1" to "COM9". If it's COM10 or higher, it needs to be systems, this will be something like "/dev/ttyd0". For Windows, this
specified as "\\.\COM10". will be "COM1" to "COM9". If it's COM10 or higher, it needs to be
specified as "\\.\COM10".
Modem/Comm Rate: Specifies the speed to communicate with the modem at. Modem/Comm Rate::
If set to 0, the speed is not set by SyncTERM, and the default is Specifies the speed to communicate with the modem at.
used. If set to 0, the speed is not set by SyncTERM, and the default is
used.
Modem Init String: The string to send to the modem when the device is Modem Init String::
first opened to prepare it to be used. The string to send to the modem when the device is
first opened to prepare it to be used.
Modem Dial String: A string that is sent immediately before the phone Modem Dial String::
number to cause the modem to dial. A string that is sent immediately before the phone
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::
type connections. The value that the TERM variable is set to for shell
type connections.
Scaling: Select to cycle through the values "Blocky", "Pointy", and Scaling::
"External". Blocky scales each pixel to a rectangle, and Pointy Select to cycle through the values "Blocky", "Pointy", and
will use 45° angles. External will use hardware scaling if possible. "External". Blocky scales each pixel to a rectangle, and Pointy
The quality of External scaling varies wildly based on OS, device will use 45° angles. External will use hardware scaling if possible.
drivers, and output mode. The quality of External scaling varies wildly based on OS, device
drivers, and output mode.
Custom Screen Mode: Allows defining the Rows, Columns, Font Size, and Custom Screen Mode::
Aspect Ratio of the "Custom" screen mode. Allows defining the Rows, Columns, Font Size, and
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::
contents to the remote. Pastes the current PRIMARY selection or clipboard
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::
session to a file. Useful for stealing ANSIs and debugging Capture Control. Allows starting and stopping capturing the
emulation issues. session to a file. Useful for stealing ANSIs and debugging
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::
selected font will change text that is already on the screen. Allows selecting a different font. In some output modes, the
In most modes however, only newly displayed text will be in the selected font will change text that is already on the screen.
new font. In most modes however, only newly displayed text will be in the
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::
login, only the system password is sent. For all others, the Send auto-login information. For protocols that allow auto-
username is sent followed by a carriage return, then the password login, only the system password is sent. For all others, the
followed by a CR, then the system password followed by the CR. username is sent followed by a carriage return, then the password
If any of these are not configured for the current entry, neither followed by a CR, then the system password followed by the CR.
them, nor the CR are sent for that item. If any of these are not configured for the current entry, neither
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::
events, it can be difficult to select text to copy. ALT-O allows Toggles remote mouse support. With the remote capturing mouse
taking the mouse away from the remote. events, it can be difficult to select text to copy. ALT-O allows
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::
menu. Disconnect and exit SyncTERM. Does not return to the main
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::
fastest speed is currently selected, disables character pacing. Selects the next fastest character pacing speed. If the
If pacing is currently disabled, selects the slowest pacing speed. fastest speed is currently selected, disables character pacing.
If pacing is currently disabled, selects the slowest pacing speed.
ALT-DownArrow: Selects the next slowest character pacing speed. If ALT-DownArrow::
the slowest speed is currently selected, disables character pacing. Selects the next slowest character pacing speed. If
If pacing is currently disabled, selects the fastest pacing speed. the slowest speed is currently selected, disables character pacing.
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::
specifying it. Can be used to recover from broken remote software. Turns on or off Doorway mode without the host
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::
Can be used to recover from broken remote software. Turns on or off OO]\[ mode.
Can be used to recover from broken remote software.
Exit: See ALT-X Exit::
Same as ALT-X
Edit Dialing Directory: See ALT-E 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
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.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment