Skip to content

Vision/3 Bundle v0.2.0

Choose a tag to compare

@robbiew robbiew released this 20 Jul 16:15
· 61 commits to main since this release
5edd8f3

Vision/3 Full Distribution v0.2.0

Each bundle is a full distribution: extract and run. No need to build from source or clone the vision3 repo.

What's new since v0.1.1

FidoNet / FTN

  • FTN Setup Wizard in the config editor — pick a network from an embedded registry, download its echo list, and auto-create conferences, areas, and binkd.conf.
  • Integrated binkd server — binkd now runs in-process for FTN mail sessions; identity, domains, addresses, and link passwords stay in sync with the TUI config.
  • Event scheduler defaults for poll / toss / scan / pack.

QWK offline mail

  • Packet export/import rebuilt as a service, with a stable conference map and private-mail routing.
  • REP destination validation and upload deduplication; sysop-configurable QWK BBS ID.
  • Reply threading (local and in-packet) and HEADERS.DAT extended headers for long To/From/Subject.
  • Experimental packet transport API (off by default), with a QWK Mobile API screen in the system config TUI.

Sysop tools

  • Waiting-For-Caller (WFC) console with an access toggle in the config TUI.
  • Config editor: ANSI art backdrop and startup splash, exit confirmation, wider door list, doors now split internal Code from display Name (Synchronet-style), and doors.json load errors surface instead of showing an empty list.
  • Per-door dropfile filename casing.

Security & reliability

  • Optional pre-login Challenge Gate plus a connection-rate limiter.
  • SSH public-key authentication via a new user PublicKeys field.
  • Resource-safety hardening: JAM recovery/lock handling, bounded network reads, goroutine-lifecycle fixes.
  • Fixed session idle timeout being lost after a door reset the input handler.

Logging

  • New internal/logging package with a Logging screen in System Configuration; the whole codebase migrated to structured slog.

Under the hood

  • Large refactor and quality pass: errcheck findings 1092 → 0, ~1,050 lines of dead code removed, monolithic menu/executor files decomposed, and CI lint + test coverage floors added.

Quick start

  1. Download the archive for your platform (see Assets below).
  2. Extract to a directory (e.g. /opt/vision3 or C:\vision3).
  3. From that directory, optionally run once: ./setup.sh (Unix) or .\setup.ps1 (Windows) to generate the SSH host key.
  4. Start the BBS: ./vision3 (Unix) or .\vision3.exe (Windows).

Default login: felonius / password — change after first login!

Bundle contents

  • Root — vision3, ue, strings, helper, v3mail, config, menuedit (main executables)
  • bin/ — binkd, sexyz, sexyz.ini (and zip/unzip on Windows)
  • configs/ — template configs (edit configs/config.json for your BBS)
  • menus/v3/ — menu set
  • data/ — skeleton (users, files, logs, msgbases, ftn, infoforms, oneliners)
  • ziplab/ — ZIP processing templates (BBS ad, file comment)
  • scripts/examples/ — example JS scripts for the scripting engine
  • setup.sh / setup.ps1 (+ setup.bat on Windows) — one-time setup (SSH key, dirs)

Paths on Windows

Path strings in the JSON configs use forward slashes; they work on Windows too. For paths you edit (e.g. doors), you can use forward or backslashes.

Platforms

  • linux-amd64, linux-arm64, linux-armv7
  • macOS: one universal bundle (Intel + Apple Silicon), built for amd64 and arm64 then combined
  • windows-amd64, windows-386