Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| server:terminal [2019/06/08 15:17] – Document the terminal server key bindings digital man | server:terminal [2026/03/08 19:44] (current) – [Configure] Update SCFG screent shot with SCFG v3.21d digital man | ||
|---|---|---|---|
| Line 5: | Line 5: | ||
| * Supports ANSI X3.64 (color and monochrome), | * Supports ANSI X3.64 (color and monochrome), | ||
| - | * Supports [[wp> | + | * Supports [[wp> |
| - | * Supported Protocols: [[# | + | * Supported Protocols: [[# |
| - | ===== Configuration | + | ===== Configure |
| - | * Configured | + | The Synchronet Terminal Server can be configured |
| - | | + | |
| - | * Configured behavior may be over-ridden via '' | + | ╔═══════════════════════════════════════════╗ |
| + | ║ Terminal Server Settings | ||
| + | ╠═══════════════════════════════════════════╣ | ||
| + | ║ │Enabled | ||
| + | ║ │Log Level | ||
| + | ║ │Serving Nodes | ||
| + | ║ │SSH Support... Port 22 ║ | ||
| + | | ||
| + | ║ │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 ===== | ===== Key Bindings ===== | ||
| Line 18: | Line 49: | ||
| ==== Global Ctrl-Keys ==== | ==== Global Ctrl-Keys ==== | ||
| - | These control-key combinations | + | These control-key combinations |
| ^ Ctrl-Key ^ Description ^ | ^ Ctrl-Key ^ Description ^ | ||
| Line 29: | Line 60: | ||
| | Ctrl-T | | 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 ==== | ==== Line Input ==== | ||
| Line 43: | Line 91: | ||
| | Ctrl-Z | | Ctrl-Z | ||
| | Ctrl-R | | Ctrl-R | ||
| - | | Ctrl-A | + | | Ctrl-A |
| | Ctrl-G | | Ctrl-G | ||
| + | |||
| + | The line/string input control-keys are handled via sbbs_t:: | ||
| ==== Extended Keys ==== | ==== 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 | + | The Synchronet Terminal Server endeavors to support most extended-keys (e.g. home, end, arrow-keys, etc.) on most terminals while simultaneously supporting |
| - | ^ Extended Key ^ Ctrl-Key ^ ANSI((ANSI X3.64/ | + | ^ Extended Key ^ Decimal ^ Hex ^ Ctrl-Key ^ ANSI((ANSI X3.64/ |
| - | | Home | Ctrl-B | + | | Home | 2 | 02 |
| - | | End | Ctrl-E | + | | End |
| - | | Up-arrow | + | | Up-arrow |
| - | | Down-arrow | + | | Down-arrow |
| - | | Left-arrow | + | | Left-arrow |
| - | | Right-arrow | + | | Right-arrow |
| - | | Page-up | + | | Page-up |
| - | | Page-down | + | | Page-down |
| - | | Insert | + | | Insert |
| - | | Delete | + | | Delete |
| Line 68: | 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 ===== | ===== SSH ===== | ||
| Line 74: | Line 187: | ||
| SSHv2 support provided by [[dev: | 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 126: | Line 278: | ||
| * [[person: | * [[person: | ||
| - | * [[person: | + | * [[person: |
| ===== JavaScript ===== | ===== JavaScript ===== | ||
| Line 135: | 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 ====== | ||