Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| server:terminal [2018/03/01 12:21] – old revision restored digital man | server:terminal [2026/03/08 19:44] (current) – [Configure] Update SCFG screent shot with SCFG v3.21d digital man | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Terminal Server ====== | ====== Terminal Server ====== | ||
| - | The Synchronet Terminal Server is responsible for providing that "old school" | + | The Synchronet |
| ===== Features ===== | ===== Features ===== | ||
| - | * Supports ANSI X3.64 (color and monochrome), | + | * Supports ANSI X3.64 (color and monochrome), PETSCII, [[wp> |
| - | * Supports [[wp> | + | * Supports [[wp> |
| - | * Supported Protocols: [[# | + | * Supported Protocols: [[# |
| + | |||
| + | ===== Configure ===== | ||
| + | |||
| + | The Synchronet Terminal Server can be configured via [[util: | ||
| + | |||
| + | ╔═══════════════════════════════════════════╗ | ||
| + | ║ Terminal Server Settings | ||
| + | ╠═══════════════════════════════════════════╣ | ||
| + | ║ │Enabled | ||
| + | ║ │Log Level | ||
| + | ║ │Serving Nodes | ||
| + | ║ │SSH Support... | ||
| + | ║ │Telnet Support... | ||
| + | ║ │RLogin Support... | ||
| + | ║ │40 Column PETSCII Support | ||
| + | ║ │80 Column PETSCII Support | ||
| + | ║ │DOS Program Support | ||
| + | ║ │Max Concurrent Connections | ||
| + | ║ │Max Dumb Login Inactivity | ||
| + | ║ │Max User Login Inactivity | ||
| + | ║ │Max New User Inactivity | ||
| + | ║ │Max User Inactivity | ||
| + | ║ │Output Buffer Drain Timeout | ||
| + | ║ │Execute Timed Events | ||
| + | ║ │Execute QWK-related Events | ||
| + | ║ │Event Log Level | ||
| + | ║ │Lookup Client Hostname | ||
| + | ║ │Login Requirements | ||
| + | ║ │JavaScript Settings... | ||
| + | ║ │Failed Login Attempts... | ||
| + | ╚═══════════════════════════════════════════╝ | ||
| + | |||
| + | ... or configured (on Windows) via [[monitor: | ||
| + | |||
| + | {{: | ||
| + | |||
| + | ... or configured by manually editing the '' | ||
| + | |||
| + | ===== Key Bindings ===== | ||
| + | |||
| + | ==== Global Ctrl-Keys ==== | ||
| + | |||
| + | These control-key combinations have special purpose at almost any-time while using the Terminal Server: | ||
| + | |||
| + | ^ Ctrl-Key ^ Description ^ | ||
| + | | Ctrl-K | ||
| + | | Ctrl-C | ||
| + | | Ctrl-O | ||
| + | | Ctrl-Z | ||
| + | | Ctrl-U | ||
| + | | Ctrl-P | ||
| + | | Ctrl-T | ||
| + | |||
| + | Global control-keys are handled in sbbs_t:: | ||
| + | |||
| + | Global control key handling may be disabled/ | ||
| + | js.on_exit(" | ||
| + | console.ctrlkey_passthru|=(1<< | ||
| + | |||
| + | Custom global control-key handlers may be installed via [[util: | ||
| + | |||
| + | < | ||
| + | ╔═══════════════════════════════════════════╗ | ||
| + | ║ | ||
| + | ╠═══════════════════════════════════════════╣ | ||
| + | ║ │Ctrl-P | ||
| + | ║ │Ctrl-U | ||
| + | ║ │ ║ | ||
| + | ╚═══════════════════════════════════════════╝ | ||
| + | </ | ||
| + | ==== Line Input ==== | ||
| + | |||
| + | Additional control-key combinations have special behavior during line (text string) input: | ||
| + | |||
| + | ^ Ctrl-Key ^ Description ^ | ||
| + | | Ctrl-N | ||
| + | | Ctrl-\ | ||
| + | | Ctrl-D | ||
| + | | Ctrl-W | ||
| + | | Ctrl-Y | ||
| + | | Ctrl-X | ||
| + | | Ctrl-L | ||
| + | | Ctrl-Z | ||
| + | | Ctrl-R | ||
| + | | Ctrl-A | ||
| + | | Ctrl-G | ||
| + | |||
| + | The line/string input control-keys are handled via sbbs_t:: | ||
| + | |||
| + | ==== Extended Keys ==== | ||
| + | |||
| + | The Synchronet Terminal Server endeavors to support most extended-keys (e.g. home, end, arrow-keys, etc.) on most terminals while simultaneously supporting control-key equivalents for all terminals. | ||
| + | |||
| + | ^ Extended Key ^ Decimal ^ Hex ^ Ctrl-Key ^ ANSI((ANSI X3.64/ | ||
| + | | Home | 2 | 02 | Ctrl-B | ||
| + | | End | 5 | 05 | Ctrl-E | ||
| + | | Up-arrow | ||
| + | | Down-arrow | ||
| + | | Left-arrow | ||
| + | | Right-arrow | ||
| + | | Page-up | ||
| + | | Page-down | ||
| + | | Insert | ||
| + | | Delete | ||
| - | ===== Configuration ===== | ||
| - | * Configured via the '' | ||
| - | * Optionally configured (on Windows) via [[monitor: | ||
| - | * Configured behavior may be over-ridden via '' | ||
| ===== Telnet ===== | ===== Telnet ===== | ||
| Line 18: | Line 118: | ||
| The Synchronet Terminal Server will negotiate Telnet options with the client (enforcing echo and non-line-at-a-time modes), perform '' | The Synchronet Terminal Server will negotiate Telnet options with the client (enforcing echo and non-line-at-a-time modes), perform '' | ||
| + | |||
| + | ==== Configure ==== | ||
| + | Telnet support in the Synchronet Terminal Server can be configured via [[util: | ||
| + | |||
| + | < | ||
| + | ╔══════════════════════════════════╗ | ||
| + | ║ Telnet Support | ||
| + | ╠══════════════════════════════════╣ | ||
| + | ║ │Enabled | ||
| + | ║ │Interfaces | ||
| + | ║ │Port | ||
| + | ║ │Command Debug | ||
| + | ║ │Send Go-Aheads | ||
| + | ╚══════════════════════════════════╝ | ||
| + | </ | ||
| + | |||
| + | ==== Options ==== | ||
| + | |||
| + | Telnet options are negotiated between the client and server, normally without any indication to the user. | ||
| + | |||
| + | If no Telnet options are received by the Terminal Server during an initial client session on the configured Telnet port, the Terminal Server will revert the client to just "Raw TCP" protocol. | ||
| + | |||
| + | Telnet options can be re-negotiated at any time during a Telnet session, but most options are only negotiated during the initial connection. | ||
| + | |||
| + | ^ Options | ||
| + | | ECHO | WILL | Server will provide the echo of input keys, so request the the terminal does not echo (RFC-[[rfc> | ||
| + | | SUP_GA | ||
| + | | TERM_TYPE | ||
| + | | TERM_SPEED | ||
| + | | SEND_LOCATION | DO | Server would like the client to provide the user's location, if available (RFC-[[rfc> | ||
| + | | NEGOTIATE_WINDOW_SIZE | DO | Server would like the client to provide the terminal dimensions (cols x rows), if available (RFC-[[rfc> | ||
| + | | NEW_ENVIRON | ||
| + | |||
| + | The BINARY_TX option (disabling special treatment of CR/LF and CR/NUL) is dynamically negotiated as needed, for file transfers. | ||
| + | |||
| + | === Debugging === | ||
| + | |||
| + | The Terminal server logs all Telnet option negotiations using a // | ||
| + | |||
| + | < | ||
| + | 6/20 05: | ||
| + | 6/20 05: | ||
| + | 6/20 05: | ||
| + | 6/20 05: | ||
| + | 6/20 05: | ||
| + | 6/20 05: | ||
| + | 6/20 05: | ||
| + | 6/20 05: | ||
| + | 6/20 05: | ||
| + | 6/20 05: | ||
| + | 6/20 05: | ||
| + | 6/20 05: | ||
| + | 6/20 05: | ||
| + | 6/20 05: | ||
| + | 6/20 05: | ||
| + | 6/20 05: | ||
| + | 6/20 05: | ||
| + | 6/20 05: | ||
| + | 6/20 05: | ||
| + | 6/20 05: | ||
| + | 6/20 05: | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== SSH ===== | ||
| + | [[wp> | ||
| + | |||
| + | SSHv2 support provided by [[dev: | ||
| + | |||
| + | ==== Configure ==== | ||
| + | |||
| + | SSH support in the Synchronet Terminal Server can be configured via [[util: | ||
| + | < | ||
| + | ╔══════════════════════════════════════════════════════╗ | ||
| + | ║ SSH Support | ||
| + | ╠══════════════════════════════════════════════════════╣ | ||
| + | ║ │Enabled | ||
| + | ║ │Interfaces | ||
| + | ║ │Port | ||
| + | ║ │Connect Timeout | ||
| + | ║ │Error Level | ||
| + | ║ │User Authentication Type Valid Key or Username ║ | ||
| + | ║ │File Transfer (SFTP) Support | ||
| + | ║ │Max SFTP Inactivity | ||
| + | ╚══════════════════════════════════════════════════════╝ | ||
| + | </ | ||
| + | |||
| + | ==== cryptlib.key ==== | ||
| + | |||
| + | The SSH private key is stored in the file '' | ||
| + | |||
| + | The following Terminal Server log message indicates a problem decrypting the '' | ||
| + | ' | ||
| ===== RLogin ===== | ===== RLogin ===== | ||
| - | [[ftp://ftp.rfc-editor.org/ | + | BSD Rlogin (RFC-[[rfc>1282]]) clients are supported, by default, on the standard RLogin TCP port: 513. |
| + | |||
| + | ==== Configure ==== | ||
| + | RLogin support in the Synchronet Terminal Server can be configured via [[util: | ||
| + | |||
| + | < | ||
| + | ╔══════════════════════════════════╗ | ||
| + | ║ RLogin Support | ||
| + | ╠══════════════════════════════════╣ | ||
| + | ║ │Enabled | ||
| + | ║ │Interfaces | ||
| + | ║ │Port | ||
| + | ╚══════════════════════════════════╝ | ||
| + | </ | ||
| + | |||
| + | ==== History | ||
| - | ==== History of Synchronet' | + | Synchronet' |
| === SBBS v3.00c 2000 === | === SBBS v3.00c 2000 === | ||
| Line 70: | Line 278: | ||
| * [[person: | * [[person: | ||
| - | * [[person: | + | * [[person: |
| - | ===== SSH ===== | + | |
| - | [[wp>Secure Shell]] version 2 clients are supported, by default, on the standard SSH TCP port: 22. | + | |
| - | + | ||
| - | SSHv2 support provided by [[dev: | + | |
| ===== JavaScript ===== | ===== JavaScript ===== | ||
| Line 83: | Line 287: | ||
| * [[http:// | * [[http:// | ||
| - | ===== Source Code ===== | ||
| - | |||
| - | The Synchronet Terminal Server source code makes up the majority of the C (and all of the C++) files found in '' | ||
| ====== See Also ====== | ====== See Also ====== | ||