Skip to content

Releases

Total IP Control 2.0.0

Choose a tag to compare

@laudenbachm laudenbachm released this 13 Nov 00:14

A new settings menu, full IPv6 caller support, an SSH proxy policy, longer proxy and whitelist lists, and several stability fixes.

Added

  • /TIP settings menu (replaces /TOTALIP and 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, H is 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=SYSOPMENU opens 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.
  • /MYIP for any caller, and /WHOSON for 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

Choose a tag to compare

@laudenbachm laudenbachm released this 08 Jul 12:55

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

Choose a tag to compare

@laudenbachm laudenbachm released this 08 Jul 08:02

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 under TOTALIPCONTROL\.
  • 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

Choose a tag to compare

@laudenbachm laudenbachm released this 04 Jul 22:27

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 /TOTALIP editor, 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 /TOTALIP editor 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

Choose a tag to compare

@laudenbachm laudenbachm released this 22 Jun 21:25

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

  1. Copy the three files from the attached ZIP into your BBS installation directory:
    SNTIPCTL.DLL, SNTIPCTL.MDF, SNTIPCTL.MSG
  2. Run GCNF to compile SNTIPCTL.MSG into SNTIPCTL.MCV.
  3. Add SNTIPCTL to wgserv.cfg, listed after GALTNTD (load order is required).
  4. 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 in GALTNTD.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.