feat: complete Nexus Terminal — premium SSH/Telnet/RAW TCP desktop client
Production-minded Wails v2 desktop application with: - Full SSH client (password, key, keyboard-interactive, jump hosts, keepalive) - Telnet client (RFC 854/855 negotiation, NAWS, TTYPE, encoding) - RAW TCP client (binary-safe, text/hex/split views, payload presets) - SQLite storage with migrations and repository abstraction - Encrypted secret storage (AES-256-GCM + Argon2id) with keychain fallback - Known hosts verification (strict/ask/accept-new/insecure) - Session manager with multi-session lifecycle and Wails events - Dark charcoal Material-inspired design system (CSS custom properties) - Tabbed session management with rename, reorder, pin, context menu - Profile editor with protocol-aware form sections - Command palette, notifications, settings modal - JSON import/export, audit logging, preferences - 50+ tests across validation, secrets, storage, encoding, sessions - Makefile, build.sh, .gitignore, comprehensive README
This commit is contained in:
+8
-5
@@ -14,8 +14,11 @@ import (
|
||||
)
|
||||
|
||||
func main() {
|
||||
app := application.NewApp()
|
||||
nexus := application.NewApp()
|
||||
|
||||
// The API service is created during Startup once storage is initialised.
|
||||
// We bind the App itself so Wails can call lifecycle hooks, and use
|
||||
// OnStartup to wire everything, then bind the API service separately.
|
||||
err := wails.Run(&options.App{
|
||||
Title: "Nexus Terminal",
|
||||
Width: 1400,
|
||||
@@ -26,11 +29,11 @@ func main() {
|
||||
Assets: frontend.Assets,
|
||||
},
|
||||
BackgroundColour: &options.RGBA{R: 26, G: 26, B: 46, A: 255}, // #1a1a2e
|
||||
OnStartup: app.Startup,
|
||||
OnShutdown: app.Shutdown,
|
||||
OnDomReady: app.DomReady,
|
||||
OnStartup: nexus.Startup,
|
||||
OnShutdown: nexus.Shutdown,
|
||||
OnDomReady: nexus.DomReady,
|
||||
Bind: []interface{}{
|
||||
app,
|
||||
nexus.APIService(),
|
||||
},
|
||||
})
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user