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:11] – Links to util:binkit changed to module:binkit digital man | server:terminal [2024/03/04 20:42] (current) – [Configure] Updated SCFG screenshot for SSH 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 | ||
+ | ╠═══════════════════════════════════════════╣ | ||
+ | ║ │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 Login Inactivity | ||
+ | ║ │Max New User Inactivity | ||
+ | ║ │Max User Inactivity | ||
+ | ║ │Output Buffer Drain Timeout | ||
+ | ║ │Execute Timed Events | ||
+ | ║ │Execute QWK-related Events | ||
+ | ║ │Lookup Client Hostname | ||
+ | ║ │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 117: | ||
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 277: | ||
* [[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 286: | ||
* [[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 ====== | ||
- | * [[module:binkit|Synchronet External Plain Old Telephone System Support (SEXPOTS)]] | + | * [[:util: |
* [[: | * [[: | ||
{{indexmenu_n> | {{indexmenu_n> | ||