Both sides previous revisionPrevious revisionNext revision | Previous revision |
module:telgate [2018/07/18 18:09] – [See Also] Added RLogin module link digital man | module:telgate [2024/08/19 19:04] (current) – [Command-line] document new -N option digital man |
---|
====== Telgate ====== | ====== Telnet Gateway ====== |
The Telnet Gateway (''telgate.js'') module allows users of your system's [[server:Terminal]] Server to connect to other TCP/Telnet services on the Internet through your BBS. Typically, these services would be other telnetable BBSes, door game servers, and MUDs, although really, you can theoretically create a gate to any single-port TCP service (e.g. POP3, but not FTP). | The Telnet Gateway (''telgate.js'') module allows users of your system's [[server:Terminal]] Server to connect to other TCP/Telnet services on the Internet through your BBS. Typically, these services would be other telnetable BBSes, door game servers, and MUDs, although really, you can theoretically create a gate to any single-port TCP service (e.g. POP3, but not FTP). |
| |
| |
===== Usage ===== | ===== Usage ===== |
To use the module: | The Telnet Gateway module is normally executed via a command-line configured in [[util:SCFG]], often as an "External Program". By convention, JavaScript modules are executed from the Synchronet Terminal Server by starting the command-line with a question mark (''?'') symbol. An asterisk (''*'') prefix will also work, but will fallback to execute the old ''[[dir:exec]]/telgate.bin'' if the ''telgate.js'' file is absent. |
| |
Execute ''telgate.js <address> [mode]'' | ==== Command-line ==== |
| The Telnet Gateway module accepts command-line arguments to control its behavior when invoked. The command-line syntax is: |
| ?telgate <address>[:port] [mode] [options] |
| |
| Where: |
| * ''<address>'' is the IPv4 address or host name to connect to |
| * ''[:port]'' is the optional TCP port number to connect to (default is ''23'') |
| * ''[mode]'' is an optional set of [[:module:telgate#mode|telgate mode flags]] (''TG_*'') OR'd together the pipe (''|'') symbol |
| * ''[options]'' are one or more of the following options: |
| |
The brackets are not part of the syntax but only used to clarify which arguments are required (''<>'') and which are optional (''[]''). | ^ Option ^ Value ^ Description ^ |
| | ''-T'' | connect-timeout-seconds | Connection timeout (default: 10 seconds) | |
| | ''-m'' | telnet-gateway-mode| Set of one or more [[:module:telgate#mode|telgate mode flags]] (''TG_*'') separated by pipe (''|'') symbols (default is ''0'') | |
| | ''-q'' | //none// | Don't display banner or pause prompt (be quiet) | |
| | ''-v'' | //none// | Display remote host name/address/port in messages | |
| | ''-P'' | //none// | Don't pause for user key-press before connection attempt | |
| | ''-C'' | //none// | Don't clear screen after successful session | |
| | ''-N'' | //none// | Send a blank line (CRLF) after connecting (may be used multiple times) | |
| | ''-s'' | characters | Send string of characters after connecting (may be used multiple times) | |
| | ''-S'' | characters | Send CRLF-terminated string of characters after connecting (may be used multiple times) | |
| |
When executed from a command-line with the [[server:Terminal]] Server (e.g. as a //door//), the ''?'' or ''*'' prefix is required. | Option values may immediately following the option flag or may be provided as the next argument on the command-line (separated by white-space). |
| |
If no //mode// value is specified, the default mode is ''TG_PASSTHRU''. | |
| |
==== Address ==== | ==== Address ==== |
| |
^ Flag ^ Description ^ | ^ Flag ^ Description ^ |
| ''TG_ECHO'' | Turn on telnet echo | | | ''TG_ECHO'' | Echo back to the user's client what it sends (i.e. keyboard input) | |
| ''TG_CRLF'' | Expand sole CR to CRLF | | | ''TG_CRLF'' | Expand sole CR (on input) to CRLF | |
| ''TG_LINEMODE'' | Send entire lines only | | | ''TG_LINEMODE'' | Send entire lines only | |
| ''TG_NODESYNC'' | Call Nodesync, get msgs, etc. | | | ''TG_NODESYNC'' | Call Nodesync, get msgs, etc. | |
| ''TG_CTRLKEYS'' | Interpret control key (e.g. Ctrl-P, Ctrl-U, Ctrl-T, etc.) locally | | | ''TG_CTRLKEYS'' | Interpret control key (e.g. Ctrl-P, Ctrl-U, Ctrl-T, etc.) locally | |
| ''TG_PASSTHRU'' | Pass-through telnet commands/responses | | | ''TG_PASSTHRU'' | Pass-through Telnet commands/responses (don't proxy the Telnet command responses) | |
| ''TG_RLOGIN'' | Use BSD RLogin protocol (not Telnet) | | | ''TG_RLOGIN'' | Use BSD RLogin protocol (not Telnet) | |
| ''TG_NOCHKTIME'' | Don't check time left online | | | ''TG_NOCHKTIME'' | Don't check time left online | |
| ''TG_NOLF'' | Do not send line-feeds | | | ''TG_NOLF'' | Do not send line-feeds | |
| ''TG_RLOGINSWAP'' | Swap the RLogin alias/real-names | | | ''TG_RLOGINSWAP'' | Swap the RLogin alias/real-names | |
| | ''TG_RAW'' | Connect to a raw TCP (not Telnet) server | |
| | ''TG_EXPANDLF'' | Expand received sole-LFs to CR/LF pairs | |
| |
Multiple mode flags may be specified by ORing them together with the pipe (''|'') character, like so: | Multiple mode flags may be specified by ORing them together with the pipe (''|'') character, like so: |
| |
TG_PASTHRU|TG_ECHO|TG_CRLF | TG_ECHO|TG_CRLF |
| |
==== Others ==== | ==== Others ==== |
| |
The Baja ''TELNET_GATE'' function and the corresponding ''[[dir:exec]]/*gate.bin'' files have been deprecated. Use the corresponding JavaScript alternatives instead. | The Baja ''TELNET_GATE'' function and the corresponding ''[[dir:exec]]/*gate.bin'' files have been deprecated. Use the corresponding JavaScript alternatives instead. |
| |
| ===== Configure ===== |
| |
| The default Telnet Gateway option values and display messages can be over-ridden by creating/editing key in the ''[telgate]'' section of your ''[[dir:ctrl]]/[[config:modopts.ini]]'' file. |
| |
| ^ Key ^ Default ^ Description ^ |
| | quiet | false | Don't display banner or pause prompt (quiet) | |
| | pause | true | Pause for user key-press before connecting | |
| | clear | true | Clear screen after disconnect | |
| | timeout | 10 | Connect timeout (in seconds) | |
| | verbosity | 0 | Display remote host address/port when non-zero | |
| | help_msg | //see code// | Message to display for help ("" to disable) | |
| | connecting_msg | //see code// | Message to display when connecting to remote host ("" to disable) | |
| | failed_conntect_msg | //see code// | Message to display upon connection failure ("" to disable) | |
| |
| **Note**:\\ |
| You'll likely want to use string literal syntax for message strings. |
| |
===== See Also ===== | ===== See Also ===== |