Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
util:sexpots [2019/05/05 16:14] – [See Also] INI files... digital manutil:sexpots [2022/01/23 03:12] (current) – [Configure] Document the Prompt (multiple host) feature digital man
Line 5: Line 5:
 ===== Overview ===== ===== Overview =====
  
-Synchronet BBS Software version 3 was designed for client connections over TCP/IP protocols only (predominently, Telnet). Over the 7 years since Synchronet v3's release, I've received occasional (but persistent) inquiries about the possibility or likelihood of adding modem support back into Synchronet to support direct analog dial-up users of the old BBS days before the Internet/broadband boom.+Synchronet BBS Software version 3 was designed for client connections over TCP/IP protocols only (predominantly, Telnet). Over the 7 years since Synchronet v3's release, I've received occasional (but persistent) inquiries about the possibility or likelihood of adding modem support back into Synchronet to support direct analog dial-up users of the old BBS days before the Internet/broadband boom.
  
-I've resisted this idea (for a few significant reasons I won't go into here), and have instead, suggested alternative methods of supporting dial-up users (e.g. running Synchronet v2.3 for DOS concurrently with v3, using *getty on Linux/Unix, using Manning's Dialup-to-Telnet Win32 gateway program with a front-end application, etc.). But these solutions all seemed insufficient in some ways or excessively complex or inconvenient. I wanted to provide something easier, more seemless.... "nicer". Though I'm pretty sure there isn't much demand for dial-up BBSes today (30Kbps!), there has been enough interest from sysops to at least justify some effort (in my mind) to attempt to relive the BBS days of old, using actual *gasp* modems!+I've resisted this idea (for a few significant reasons I won't go into here), and have instead, suggested alternative methods of supporting dial-up users (e.g. running Synchronet v2.3 for DOS concurrently with v3, using *getty on Linux/Unix, using Manning's Dialup-to-Telnet Win32 gateway program with a front-end application, etc.). But these solutions all seemed insufficient in some ways or excessively complex or inconvenient. I wanted to provide something easier, more seamless.... "nicer". Though I'm pretty sure there isn't much demand for dial-up BBSes today (30Kbps!), there has been enough interest from sysops to at least justify some effort (in my mind) to attempt to relive the BBS days of old, using actual *gasp* modems!
  
 I knew exactly what was required to write a Serial<->TCP tunneling program and blogged on the www.synchro.net web-site way back in 2002 that I planned on writing just such a program to give dial-up capabilities to Synchronet v3 Win32 sysops. I knew exactly what was required to write a Serial<->TCP tunneling program and blogged on the www.synchro.net web-site way back in 2002 that I planned on writing just such a program to give dial-up capabilities to Synchronet v3 Win32 sysops.
Line 33: Line 33:
 SEXPOTS is freeware, licensed under the GNU General Public License ([[http://www.fsf.org/licensing/licenses/gpl.txt|GPL]]) with portions licensed under the GNU Lesser General Public License ([[http://www.fsf.org/licensing/licenses/lgpl.txt|LGPL]]). SEXPOTS is freeware, licensed under the GNU General Public License ([[http://www.fsf.org/licensing/licenses/gpl.txt|GPL]]) with portions licensed under the GNU Lesser General Public License ([[http://www.fsf.org/licensing/licenses/lgpl.txt|LGPL]]).
  
-You can find the current source code (in C) in the Synchronet [[dev:CVS]] repository.+You can find the current source code (in C) in the Synchronet [[dev:Git]] repository.
  
 The latest and greatest build will be included in Synchronet-Win32 releases. The latest and greatest build will be included in Synchronet-Win32 releases.
Line 73: Line 73:
 </code> </code>
  
-===== Installation =====+Additional options for Unix versions: 
 + 
 +<code> 
 +    -syslog               log to syslog rather than stdout/err 
 +</code> 
 +===== Install =====
  
 No installation is required. You should be able to just run "sexpots", optionally specifying command-line options to over-ride the default values (shown below), or the values in your ''[[config:sexpots.ini]]'' file (if you have one). No installation is required. You should be able to just run "sexpots", optionally specifying command-line options to over-ride the default values (shown below), or the values in your ''[[config:sexpots.ini]]'' file (if you have one).
Line 80: Line 85:
  
  
-===== Configuration =====+===== Configure =====
  
-Configuration is normally performed by editing the file ''[[config:sexpots.ini]]'', located in the same directory where the SEXPOTS program (e.g. ''sexposts.exe'') is located (e.g. ''[[dir:exec]]''). If ''[[config:sexpots.ini]]'' file doesn't exist or any of the ''key=value'' pairs are missing or blank in the file, the default values (indicated below) will be used.+Configuration is normally performed by editing the file ''[[config:sexpots.ini]]'', located in the same directory where the SEXPOTS program (e.g. ''sexpots.exe'') is located (e.g. ''[[dir:exec]]''). If ''[[config:sexpots.ini]]'' file doesn't exist or any of the ''key=value'' pairs are missing or blank in the file, the default values (indicated below) will be used.
  
 Optionally, a different [[config:ini files|.ini file]] may be specified on the command-line (e.g. for running multiple concurrent instances of SEXPOTS on different COM ports). If an .ini file is specified on the command-line, it will be loaded **after** ''[[config:sexpots.ini]]'' (if the file exists), over-riding any settings in ''[[config:sexpots.ini]]''. Optionally, a different [[config:ini files|.ini file]] may be specified on the command-line (e.g. for running multiple concurrent instances of SEXPOTS on different COM ports). If an .ini file is specified on the command-line, it will be loaded **after** ''[[config:sexpots.ini]]'' (if the file exists), over-riding any settings in ''[[config:sexpots.ini]]''.
Line 88: Line 93:
 Command-line options that modify values of the same name in the ''.ini'' file(s) will over-ride (take precedence over) the value in the ''.ini'' file(s). Command-line options that modify values of the same name in the ''.ini'' file(s) will over-ride (take precedence over) the value in the ''.ini'' file(s).
  
-The order of precendence for configuration values is (lower number is higher precedence):+The order of precedence for configuration values is (lower number is higher precedence):
   - Command-line options   - Command-line options
   - Command-line specified ''.ini'' file   - Command-line specified ''.ini'' file
Line 101: Line 106:
 Debug = FALSE               ; enable debug logging (overrides LogLevel) Debug = FALSE               ; enable debug logging (overrides LogLevel)
 PauseOnExit = FALSE         ; wait for key-press on exit (non-service) PauseOnExit = FALSE         ; wait for key-press on exit (non-service)
 +CLS = FALSE                 ; send a form feed (clear screen) before copyright banner
 +Prompt = 
 +PromptTimeout = 60          ; seconds to wait for a remote character after sending prompt (0=infinite)
  
 [COM] [COM]
Line 126: Line 134:
 Port = 23                   ; TCP port number of TCP server Port = 23                   ; TCP port number of TCP server
 NoDelay = TRUE              ; Set to TRUE to disable the Nagle Algorithm NoDelay = TRUE              ; Set to TRUE to disable the Nagle Algorithm
 +Telnet = TRUE               ; Set to FALSE to disable Telnet mode
  
 [Telnet] [Telnet]
-Enabled = TRUE              ; Set to FALSE to disable Telnet mode 
 Debug = FALSE               ; Set to TRUE to log Telnet commands sent/recv Debug = FALSE               ; Set to TRUE to log Telnet commands sent/recv
 AdvertiseLocation = FALSE   ; Set to TRUE to send "WILL SEND LOCATION" AdvertiseLocation = FALSE   ; Set to TRUE to send "WILL SEND LOCATION"
Line 144: Line 152:
  
 Note: Support for the ''[modem] ReInit'' key was added in SEXPOTS v1.27. Note: Support for the ''[modem] ReInit'' key was added in SEXPOTS v1.27.
 +
 +==== Prompting for a TCP Host ====
 +
 +By setting the ''Prompt'' key value (to a text string asking the remote user to press a key), you can have SexPOTS connect to one of a set of TCP hosts by creating additional ''[TCP:x]'' sections in your ''.ini'' file, where ''x'' is a single non-control character that the user may respond with to choose that host to connect with. If the user does not respond by the configured ''PromptTimeout'' duration (default: 60 seconds) or responds with an invalid key press, the default host is connected to.
 +
 +Example .ini file (with default values given):
 +<file sexpots.ini>
 +Prompt: "Hit 'P' for PBX or ENTER for BBS now"
 +
 +[TCP]
 +Host=mybbs
 +Port=23
 +Telnet=true
 +
 +[TCP:P]
 +Host=thepbx
 +Port=2600
 +Telnet=false
 +</file>
 +
 ===== NT Service Control ===== ===== NT Service Control =====
  
Line 160: Line 188:
   net stop sexpots   net stop sexpots
  
 +==== DebugView ====
 +
 +When running SEXPOTS as an NT Service, you may want to use a debugger viewer (e.g. [[https://docs.microsoft.com/en-us/sysinternals/downloads/debugview|DebugView]], run as Administrator) to see the detailed log messages:
 +
 +{{:util:dbgview_sexpots.jpg?600|}}
 ===== Notes on Advanced Features ===== ===== Notes on Advanced Features =====
  
Line 175: Line 208:
 ===== Linux/Unix Version ===== ===== Linux/Unix Version =====
  
-There is a preliminary *nix port of SEXPOTS in [[dev:CVS]], but it's not being distributed or supported at this time. Use ''mgetty'' instead.+There is a *nix port of SEXPOTS in [[dev:Git]].
  
 ===== See Also ===== ===== See Also =====
util/sexpots.1557098048.txt · Last modified: 2019/05/05 16:14 by digital man
Back to top
CC Attribution 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0