Repository navigation
Releases
Total IP Control 2.0.0
A new settings menu, full IPv6 caller support, an SSH proxy policy, longer proxy and whitelist lists, and several stability fixes.
Added
/TIPsettings menu (replaces/TOTALIPand the full-screen forms). Six sections — General, Telnet Trusted Proxies, IPv4 Whitelist, IPv6 Whitelist, GeoIP Location, SSH Settings. Pick a setting by number and type the new value; every change applies and saves at once and is noted in the Audit Trail.?explains any setting,His a quick-start guide, and the menu tells you when a setting can't take effect yet.- Menu item access: a BBS menu item with the command line
MENU=SYSOPMENUopens the same menu. - Longer lists: 10 trusted proxies each for telnet and SSH (was 2), and 50-entry IPv4 and IPv6 whitelists (was 10).
- IPv6 callers behind a proxy (
PROXY TCP6): the caller's real IPv6 address is used by/MYIP,/WHOSON, the logs, GeoIP, the per-IP connection limit and the user profile. - SSH proxy policy, configured separately from telnet: block direct connections, trusted-proxy enforcement, its own proxy list, and PROXY header support.
/MYIPfor any caller, and/WHOSONfor staff (connection type, real IP, module, time on line).- Text variables for your own messages:
N!SNTIP,N!SNTIPSHORT,N!SNTUSERID,N!SNTMODULE,N!SNTTOL,N!SNTTIPCT,N!SNTVER. - Debug trace log option for troubleshooting.
Fixed
- A board crash (
OVERSIZED SPR() CALL) when the module gateway refused a user while several users were on from the same IP. - Real IPs lost while WorldLink was connected.
- SSH connections through a PROXY front end failing intermittently.
- Every refused connection froze the board for half a second; the refusal message is now also delivered reliably.
- Log writing could stall the board.
Upgrading from 1.x
Install all four files together. Your settings carry over unchanged. Every message in SNTIPCTL.MSG is new, so if you reworded any Total IP Control message in the message editor, note your text first and redo it afterwards. The settings command is now /TIP.
Install
Copy the files from this package into your BBS installation directory (typically C:\BBSV10) and restart. See SNTIPCTL.RLN for full details and CHANGELOG.MD for the complete list of changes.
Total IP Control 1.1.2
New GeoIP provider and formatting options for the GeoIP Location feature.
Added
- ipinfo.io is now a selectable GeoIP provider. It derives city/region data
from its own network probing rather than a shared free database, so it is
typically more accurate at the city level. ipinfo requires a free API token
(each sysop supplies their own): sign up at https://ipinfo.io/signup, then
paste the token into the Key field on the GeoIP Location screen. The free
tier allows 50,000 lookups per month. - New State format option (CODE or FULL), mirroring the existing Country
format option. CODE shows the two-letter state code (Minnesota→MN); FULL
shows the full name. Defaults to CODE.
Changed
- US states are mapped to their two-letter code and ISO country codes are mapped
to full names, so every provider renders consistently and the Country format
(full/code) option works with ipinfo. Non-US regions keep their full name
(e.g.London, England, GB). - The API host field is now optional: leave it blank to use the selected
provider's default host. This also fixes a case where a stale default host
left after switching providers could route lookups to the wrong host.
Upgrading is drop-in and preserves all existing settings (no settings-file
change).
Install
Copy the files from this package into your BBS installation directory
(typically C:\BBSV10) and restart. See SNTIPCTL.RLN for full details.
Total IP Control 1.1.1
Fixed
- Refused connections no longer record a
SEND error 10038 (Socket operation on non-socket)in the audit trail. Connections refused by Require trusted proxy (or the pre-login connection limit) are now turned away before the connection is handed to the telnet daemon, so nothing is written to the closed socket. This also removes stray characters that could follow the refusal message.
Audit logging
- Audit logging is now a four-way choice cycled with the space bar:
NO/AUDIT/LOG/BOTH. It controls two independent destinations — the BBS Audit Trail (the live sysop log) and the daily log files underTOTALIPCONTROL\. - New login access log — a dedicated
TOTALIPCONTROL\LOGINS\folder records who connected and from where: one line per successful login, for every protocol (telnet, SSH, and others), with the date/time, user ID, real IP address, and protocol.
SSH server module compatibility
- Require trusted proxy (block direct) now applies to telnet only. SSH, Rlogin, and other daemons are no longer refused by it — they are direct and already encrypted. Connection limiting, audit logging, GeoIP location, and profile IP recording continue to apply to them.
Upgrading
Existing settings are migrated automatically with all values preserved — no reconfiguration required. See SNTIPCTL.RLN in the download for full install and upgrade notes.
Developer: Mark Laudenbach (Sysop Network) · R&D / Testing: Gregory McGill (Sysop Network)
Total IP Control 1.1.0
Added
GeoIP Location — looks up each caller's approximate City / State / Country from their IP address at login and stores it in configurable user-profile field(s). US states are stored as the standard two-letter abbreviation; locations elsewhere use the most appropriate subdivision plus country.
- Write modes — Split (default) stores the city/state and the country in two separate fields (Address 3 and Address 4 by default); Combined stores the whole location in one field. Country renders as its full name or two-letter code.
- Non-blocking by design — lookups run on a background worker thread and are applied on the main thread by a once-per-second drain, so login is never delayed and a slow or unreachable provider can never prevent a user from logging in.
- Per-IP caching with a selectable cache mode (TIME, IP, or OFF). Private, loopback, and reserved IP ranges are never looked up.
- Provider abstraction — ships with ipwho.is as the default provider (keyless free tier, HTTPS); additional providers can be added over time.
- Configurable via a new GeoIP Location form in the
/TOTALIPeditor, plus a dedicated GeoIP log folder with its own verbosity control.
Changed
- Settings record advanced to version 9, migrated in place from 1.0.0 with all existing settings preserved (the GeoIP options start disabled).
- The
/TOTALIPeditor now presents four forms with a consistent layout.
Install
Copy the three files from the release archive (SNTIPCTL.DLL, SNTIPCTL.MDF, SNTIPCTL.MSG) into the BBS directory and restart. On first run a settings file is created with all features disabled; configure with /TOTALIP.
Total IP Control 1.0.0
Total IP Control 1.0.0 — a unified IP-management module for The Major BBS v10. It restores real caller IPs from a reverse proxy, enforces per-IP connection limits, records caller IPs to user profiles, and writes a full audit trail — all configurable live from the BBS.
Install
- Copy the three files from the attached ZIP into your BBS installation directory:
SNTIPCTL.DLL,SNTIPCTL.MDF,SNTIPCTL.MSG - Run GCNF to compile
SNTIPCTL.MSGintoSNTIPCTL.MCV. - Add
SNTIPCTLtowgserv.cfg, listed afterGALTNTD(load order is required). - Restart the BBS, then configure with
/TOTALIP(Master key required).
If replacing PROXCLIP or IPControl, remove those module lines from wgserv.cfg first.
Features
- Proxy Protocol v1 real-IP restoration (event-driven
recv()hook inGALTNTD.DLL) - Trusted-proxy enforcement and optional block of direct/untrusted connections
- Global per-IP connection limits, with whitelist and bypass-key exemptions
- Per-module IP gateway (
MODULE=/MAXIP=/BYPASS=) - User-profile IP recording on login
- Daily, thread-safe audit logging
- Live full-screen Sysop configuration editor (
/TOTALIP)
See README.MD for full configuration details and CHANGELOG.MD for the complete change list.