Kalgoorlie Retro Docs

Documentation for the Kalgoorlie Retro BBS, its games and servers

User Tools

Site Tools


lanternterminal:capabilities

Differences

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

Link to this comparison view

Next revision
Previous revision
lanternterminal:capabilities [2026-11-07 16:04] – Add Lantern Terminal 0.1.0 documentation slatermlanternterminal:capabilities [2026-11-11 08:56] (current) – Update Lantern Terminal guides for 0.6.0 slaterm
Line 1: Line 1:
-====== Capabilities — 0.1.0 ======+====== Capabilities — 0.6.0 ======
  
 ===== Included ===== ===== Included =====
  
-  * C++/Qt desktop application, dark/system/light selection, dockable navigation/command/activity panes, toolbar and button bar. +  * C++/Qt desktop application, immediate System/Light/Dark theme selection with readable wizard pages, dockable navigation/command/activity panes, toolbar and button bar. 
-  * Saved session folders, filtering, natural/alphabetical ordering, create/edit/rename/cut/copy/paste/delete, bulk edits of changed fields, quick connections and default-session settings. +  * Saved session folders, filtering, natural/alphabetical/manual ordering, remembered expanded folders, stable-ID desktop shortcuts, create/edit/rename/cut/copy/paste/delete, bulk edits of changed fields, quick connections and default-session settings. 
-  * Linux PTY and Windows ConPTY process backends; interactive local shells; SSH2 and SFTP through OpenSSH; raw TCP; Telnet terminal-type/window-size negotiation; serial ports and format/flow/break controls.+  * Linux PTY and Windows ConPTY process backends; interactive local shells; SSH2 and SFTP through OpenSSH, with a built-in libssh engine as the default for SSH2 sessions (Linux and Windows; on Windows it uses the Windows OpenSSH agent; host keys, agent/key/passphrase, keyboard-interactive and password logins, jump hosts (chains, each hop with its own host-key check and login), X11 and agent forwarding, Kerberos (GSSAPI, Linux), RSA/ECDSA/Ed25519 OpenSSH certificates, about 40 OpenSSH ''-o'' options, a FIPS-approved-algorithms mode, local/remote/dynamic SOCKS4/5 forwarding, forwarding-only sessions and negotiated-algorithm display; sessions using other OpenSSH options use OpenSSH automatically); RDP sessions through FreeRDP (NLA, certificate trust, fitted or fixed size, keyboard, mouse, text clipboard, Windows domains); raw TCP; Telnet terminal-type/window-size negotiation; RLogin with credential-backed user names and passwords; serial ports and format/flow/break controls.
   * Per-profile SSH host trust, key authentication, terminal password/challenge prompts, jump/proxy commands, configurable algorithms, compression, agent/X11 forwarding and local/remote/dynamic forwards. Actual provider/agent/X11 availability depends on the OS and server.   * Per-profile SSH host trust, key authentication, terminal password/challenge prompts, jump/proxy commands, configurable algorithms, compression, agent/X11 forwarding and local/remote/dynamic forwards. Actual provider/agent/X11 availability depends on the OS and server.
-  * VT220/Xterm terminal engine with ANSI/256/true colour, Unicode, alternate screens, cursor/key modes, mouse tracking, scrollback, selection/copy/paste, search, font zoom, input mappings, temporary and configured keyword highlighting. +  * VT220/Xterm terminal engine (plus Wyse 60 and SCO ANSI translation and keys) with sixel images, 132-column mode, double-width/height lines, left/right margins, selective erase, C1 controls, ANSI/256/true colour, Unicode, alternate screens, cursor/key modes, mouse tracking, scrollback, selection/copy/paste, search, font zoom, input mappings, temporary and configured keyword highlighting. 
-  * Tabs, horizontal/vertical group splits, tab rename/reset/clone/reorder, move-to-next-group, active-session list and password-protected local session locking. +  * Tabs, tear-off tabs in their own windows (drag out, drag onto a tab bar, or menus), horizontal/vertical group splits, tab rename/reset/clone/reorder, move-to-next-group, active-session list and password-protected local session locking. 
-  * Workspace snapshots, scoped command broadcasting, saved commands/buttons, text/raw logging, timestamps/templates, pause/resume and rotation; text/binary terminal sends; interactive SFTP transfers.+  * Workspace snapshots, scoped command broadcasting, saved commands with script arguments and validated cut/copy/paste, named button bars with ordered buttons, copy/rename/delete, global and per-session selection, text/raw logging, timestamps/templates, pause/resume and rotation; text/binary terminal sends; interactive SFTP transfers; a two-pane SFTP browser (resume, permissions, modification times, jump hosts); built-in Xmodem (checksum/CRC/1K), Ymodem batch and Kermit (long packets, CRC, 8th-bit prefixing, repeat counts, automatic download start).
   * Explicit optional TFTP server with roots, client restrictions, overwrite policy, block-size negotiation and octet-mode transfer. It is stopped by default. Privileged UDP ports may require OS permissions; an unprivileged port can be selected.   * Explicit optional TFTP server with roots, client restrictions, overwrite policy, block-size negotiation and octet-mode transfer. It is stopped by default. Privileged UDP ports may require OS permissions; an unprivileged port can be selected.
-  * Python automation with a local authenticated application API, prompt waits/capture, tab/configuration/logging access and cancellation; editable send-action recording. +  * SyncTERM-Lua compatible scripting: scripts written for the SyncTERM 1.9 Lua fork run unchanged (send/expect/screen/regex/triggers/bbs), with a CP437 session encoding for BBSes. 
-  * Key-generation/agent command launchers, host-trust editor, named credential metadata, native JSON/XML export/import and simple text session import; printing through the OS.+  * BBS use (spec section 14, all Core items): a BBS session template (Tools → New BBS session…, or applied to existing sessions); ANSI-BBS emulation (DOS ANSI.SYS behaviour: bold = bright, blink or iCE colours by option or ''CSI ?33h'', last-column wrap, ''CSI s''/''u'', ''CSI 6n'', clear-screen homes, CP437 symbols for control bytes, ANSI music ignored); a built-in 8×16 VGA bitmap font with seamless blocks and line drawing; terminal type ''ansi-bbs''; RLogin with credential-backed user names and vault-stored passwords; Telnet binary mode both ways; BBS keys; Zmodem auto-start download and upload (CRC-16/32, error recovery, cancel, rename/overwrite/skip, partial-file cleanup); SyncTERM BBS list import with preview; a BBS Directory (0.6.0) with the Synchronet BBS List (Telnet first) and the Telnet BBS Guide downloaded on request, Recent first, your own BBSes, search, Save as session, and list updates that never change BBSes you have used or added. 
 +  * Python and bundled Lua 5.4.9 automation with a local authenticated application API, prompt waits/capture, tab/configuration/logging access and cancellation; editable Python/Lua send-action recording. 
 +  * Copy Public Key to Server (ssh-copy-id style, with a key-only test login), an SSH Agent window (keys, lifetimes, confirm-on-use, PKCS#11 tokens, lock/unlock, agent started for Lantern), sync of sessions/folders/credential names/commands/bars through a shared folder, daily update notifications with Update Now, function-key shortcuts. 
 +  * Key-generation launcher, host-trust editor, named credential metadata, native JSON/XML export/import and simple text session import; printing through the OS.
   * Linux Debian installer, Windows user installer/portable ZIP, complete source package and build scripts.   * Linux Debian installer, Windows user installer/portable ZIP, complete source package and build scripts.
  
Line 19: Line 22:
 This release does not implement every item in the comprehensive specification. The following are explicit limits: This release does not implement every item in the comprehensive specification. The following are explicit limits:
  
-  * Legacy SSH1, RLogin, TN3270, TVI/WYSE/SCO-specific emulation, RDP/TAPI, Telnet/TLS and integrated graphical FTP/S3 browsers are not included. The core terminal engine is VT220/Xterm-compatible; changing its advertised terminal type is not a promise of every legacy emulator's behaviour. +  * Legacy SSH1, TN3270, TVI and VShell emulation, TAPI, Telnet/TLS and FTP/S3 browsers are not included. Wyse 60 and SCO ANSI are translations of their common sequences onto the VT engine, not complete emulators. RDP clipboard and follow-the-tab resizing have not yet been tried against a real Windows server (the automated test server supports neither). The core terminal engine is VT220/Xterm-compatible; changing its advertised terminal type is not a promise of every legacy emulator's behaviour. 
-  * Kermit/X/Y/Zmodem transfers and terminal pass-through/raw printer emulation are not included. Use SFTP or terminal text/binary sends. TFTP supports octet mode, not netascii. +  * Terminal pass-through/raw printer emulation is not included. Zmodem, Xmodem, Ymodem and Kermit are (tested over Telnet binary mode and raw TCP against lrzsz and G-Kermit; RLogin and SSH use the same path but are untested). ANSI music is ignored, not played. The optional BBS extras (BBS-07: simulated line speed, saving to ''.ans'' with SAUCE, ANSI-art viewer) are not included. TFTP supports octet mode, not netascii. 
-  * Session cloning uses independent connections; SSH transport multiplexing, drag-to-detach into a separate application window, arbitrary nested split trees and some tab-indicator customisation remain to be implemented. +  * Session cloning uses independent connections; SSH transport multiplexing, arbitrary nested split trees and some tab-indicator customisation remain to be implemented. 
-  * Command/button manager has create/edit/delete/folders and button rendering; full command/bar clipboard interchange and live-character broadcast mode are not yet included. Manual folder ordering and desktop session shortcut creation are not included. +  * Command/bar clipboard interchange is included. Live-character broadcast mode and full per-button appearance customisation remain to be implemented. Named bars reference shared command definitions; copying commands creates independent definitions. 
-  * Saved credentials currently store username/key-file metadata; passwords remain terminal prompts and are not saved. Vault adapter code is present but a full saved-password authentication UI is not included. Optional certificate/provider/GSSAPI support is supplied by the installed OpenSSH client and must be tested with that provider. +  * Saved credentials store username/key-file metadata. A credential can hold a password in the system vault (Windows Credential Manager or the Linux Secret Service); RLogin and RDP sessions use it. SSH and Telnet passwords remain terminal prompts. Optional certificate/provider/GSSAPI support is supplied by the installed OpenSSH client and must be tested with that provider; the built-in engine supports OpenSSH certificates and (Linux) GSSAPI, and PKCS#11 keys through the SSH agent. 
-  * Recording creates send-action Python skeletons. It does not infer reliable expected prompts or automatically redact every arbitrary secret typed as ordinary terminal data. Edit recordings before retaining/sharing them. +  * Recording creates send-action Python or Lua skeletons. It does not infer reliable expected prompts or automatically redact every arbitrary secret typed as ordinary terminal data. Edit recordings before retaining/sharing them. 
-  * The implemented Python interface is listed in SCRIPTING-GUIDE.md. The larger SCRIPTING-API.md contract contains additional members for future implementation. Lua is not part of this build unless explicitly added in a later update.+  * The implemented interfaces are listed in SCRIPTING-GUIDE.md and LUA-SCRIPTING.md. The larger SCRIPTING-API.md contract contains additional members for future implementation. Lua prompt capture is synchronous; setting Synchronous=false is rejected. Third-party Lua binary modules are not bundled. Scripts run with the current user’s privileges and must be trusted.
   * Not all advanced global/session controls from OPTIONS-CATALOGUE.md are surfaced. The application presents the controls its current implementation handles; the catalogue and SPECIFICATION.md retain the fuller product contract.   * Not all advanced global/session controls from OPTIONS-CATALOGUE.md are surfaced. The application presents the controls its current implementation handles; the catalogue and SPECIFICATION.md retain the fuller product contract.
   * Physical serial flow-control lines, X11/provider/certificate/GSSAPI integrations, physical printers and physical Windows hardware require dedicated target testing. A Wine launch is a Windows binary/packaging smoke test, not validation of all those integrations.   * Physical serial flow-control lines, X11/provider/certificate/GSSAPI integrations, physical printers and physical Windows hardware require dedicated target testing. A Wine launch is a Windows binary/packaging smoke test, not validation of all those integrations.
Line 31: Line 34:
 ===== Runtime packaging ===== ===== Runtime packaging =====
  
-Linux uses distribution OpenSSH/Python and dynamically linked Qt libraries. The supplied ''.deb'' declares its actual dependencies and targets the build distribution.+Both platforms include the statically linked Lua worker; a separate Lua installation, LuaSocket or Python is not required for Lua scripts.
  
-Windows packages include Qt plugins/compiler runtimes, Python 3.14.10 and portable OpenSSH tools. When Windows already supplies OpenSSH, the application prefers that system client. The bundled fallback is Microsoft's 10.4.0.0p1 **Preview** build; its preview status is retained here rather than described as a stable OS component. No SSH server service is installed. Users can replace the tools through an updated compatible distribution.+Linux uses distribution OpenSSH/Python/libssh and dynamically linked Qt libraries. The supplied ''.deb'' declares its actual dependencies and targets the build distribution.
  
-See TEST-RESULTS.md for the checks actually performed on this release.+The Linux build uses the distribution's FreeRDP 3 libraries for RDP.
  
-===== Verification =====+Windows packages include Qt plugins/compiler runtimes, Python 3.14.10, libssh 0.11.3 with OpenSSL 3.5.9 and zlib 1.3.1 for the built-in SSH engine, FreeRDP 3.32.2 for RDP sessions, and portable OpenSSH tools. When Windows already supplies OpenSSH, the application prefers that system client. The bundled fallback is Microsoft's 10.4.0.0p1 **Preview** build; its preview status is retained here rather than described as a stable OS component. No SSH server service is installed. Users can replace the tools through an updated compatible distribution.
  
 +The Windows SSH diagnostic trace uses a private temporary directory and a regular file whose creation handle is released before OpenSSH starts. Failed trace creation reports an error before connection startup.
  
- +See TEST-RESULTS.md for the checks actually performed on this release.
-Date: 7 November 2026. Linux build environment: x86-64 Ubuntu, GCC 15.2, Qt 6.10.2, CMake/Ninja. Windows cross build: MinGW-w64 GCC 13 POSIX, Qt 6.8.3, Windows resource metadata and NSIS user installer. +
- +
-===== Automated checks ===== +
- +
-  * **28 core checks pass:** JSON/XML persistence and invalid-input rollback, Unicode configuration, duplicate protection, stale-instance save rejection, CR overwrite, SGR palette state, split UTF-8 input, alternate screen restoration, bounded scrollback, lock protection, bracketed paste, Ctrl+C/Ctrl+V/Tab transmission, Telnet IAC escaping and log template expansion. +
-  * **28 native integration checks pass:** actual local PTY output and geometry; desktop-launched Python script, module and arguments; authenticated local RPC; locking/unlock rejection; snapshots; raw TCP with all 256 byte values and exact raw logs; fragmented Telnet negotiation/NAWS/CR-NUL/IAC; bidirectional serial PTY bytes; TFTP option negotiation, upload/download hashes and traversal denial; SSH first-use verification and key authentication; a forwarding-only SSH tunnel carrying traffic; SFTP upload/download hashes; clean shutdown. +
-  * **Windows/Wine package checks pass:** per-user install, application startup with bundled Qt dependencies, bundled Python importing the application interface, script arguments, Windows named-pipe API and raw TCP round trip, same-version upgrade preserving the user profile, uninstall removing owned files while preserving the profile and an unrelated file deliberately placed in the install directory. +
-  * Linux package extraction/launch and fresh-source rebuild checks are recorded in the release verification files supplied alongside the packages. +
- +
-Commands: +
- +
-<code sh> +
-ctest --test-dir build/linux --output-on-failure +
-python3 tests/integration.py build/linux/lantern-terminal +
-python3 tests/windows_smoke.py  # Linux + Wine, dedicated prefix and Xvfb display :98 +
-</code> +
- +
-Tests use disposable profiles, temporary keys and loopback endpoints. No production SSH server, service configuration, user SSH trust store or pre-existing terminal profile is modified. +
- +
-===== Limits ===== +
- +
-Wine is a Windows binary/installer smoke test. It does not validate physical Windows ConPTY/serial/provider/printer behaviour. Physical Windows hardware, real serial control lines, physical printers, X11 and organisation-specific certificate/GSSAPI/provider integrations remain untested. The broader compatibility and API limits are in CAPABILITIES.md; the full 65-scenario acceptance contract is not being represented as entirely implemented or passed. +
- +
-The supplied Linux package declares its actual Qt/system dependencies and targets a compatible build distribution. Source build instructions are provided for other Linux systems. Windows uses a system OpenSSH client when present; the bundled portable fallback retains its upstream Preview designation. +
- +
-[[https://retro.theiguru.au/lantern-terminal/download/RELEASE-CHECKS.md|Final package verification]]+
  
 [[lanternterminal:start|Back to Lantern Terminal]] [[lanternterminal:start|Back to Lantern Terminal]]
  
lanternterminal/capabilities.1794067470.txt.gz · Last modified: by slaterm