How k1tbyte/wand-enhancer works
WandEnhancer is a Windows patcher and interoperability layer for the Wand desktop client, with an optional LAN Remote Web Panel. The main workflows are selecting or reapplying local patches before launching Wand, and connecting a phone browser to the panel to inspect the library and control an active trainer. The README also documents injected custom renderer scripts and client-side configuration, layout, and theme adjustments. Several subsystems are represented from the tree and README; their internal wiring is omitted where source excerpts do not establish it.
Main entry points: server.ts HTTP and WebSocket · Program.cs Startup and launch · Enhancer.cs Enhancer workflow · app.tsx Panel application
Components 24
Desktop app
- Patch and settings UI
WandEnhancer/View/MainWindow/MainWindowVm.cs - Startup and launch
WandEnhancer/Program.cs - Local settings
WandEnhancer/Core/Services/SettingsManager.cs
Client patching
- Enhancer workflow
WandEnhancer/Core/Enhancer.cs - Patch strategies
WandEnhancer/Core/Patching/Strategies/StrategyFactory.cs - ASAR patching
AsarSharp/AsarCreator.cs - Renderer injection
WandEnhancer/Core/Patching/Content/RemotePanelInjector.cs - Injected scripts
WandEnhancer/Patches/remote-bridge-boot.js - Custom renderer scripts
web-panel/bridge/src/wand/renderer-scripts.ts
Panel interface
- Panel application
web-panel/src/app/app.tsx - Session management
web-panel/src/app/use-remote-panel.ts - WebSocket client
web-panel/src/remote-session/remote-session.client.ts - Trainer controls
web-panel/src/trainer/ui/CategorySection.tsx - Game library
web-panel/src/library/ui/LibraryDrawer.tsx - Panel preferences
web-panel/src/shared/storage.ts
Panel bridge
- HTTP and WebSocket
web-panel/bridge/src/server.ts - Protocol validation
web-panel/bridge/src/protocol-router.ts - Session snapshot
web-panel/bridge/src/bridge-state.ts - Wand integration
web-panel/bridge/src/wand/runtime.ts - Panel assets
web-panel/bridge/src/server-files.ts
Other components
- Wand user
- Local Wand install
- Wand client
- Phone browser
Connections 30
- Wand user → Patch and settings UI: configures patches
- Startup and launch → Patch and settings UI: opens UI
- Startup and launch → Local settings: loads settings
- Patch and settings UI → Local settings: saves settings
- Startup and launch → Enhancer workflow: auto-patches
- Startup and launch → Patch strategies: selects strategy
- Enhancer workflow → Patch strategies: applies strategy
- Enhancer workflow → ASAR patching: updates archive
- Enhancer workflow → Renderer injection: injects panel
- Renderer injection → Local Wand install: modifies files
- ASAR patching → Local Wand install: writes archive
- Renderer injection → Injected scripts: bundles scripts
- Local Wand install → Wand client: launches
- Wand user → Phone browser: scans QR code
- Phone browser → HTTP and WebSocket: connects over LAN
- HTTP and WebSocket → Panel assets: serves assets
- HTTP and WebSocket → Protocol validation: validates messages
- HTTP and WebSocket → Session snapshot: sends snapshots
- Session snapshot → HTTP and WebSocket: provides snapshot
- HTTP and WebSocket → Wand integration: dispatches commands
- HTTP and WebSocket → Wand integration: dispatches value changes
- Phone browser → Panel application: uses panel
- Panel application → Session management: renders session
- Session management → WebSocket client: manages connection
- WebSocket client → HTTP and WebSocket: exchanges messages
- Panel application → Trainer controls: renders controls
- Panel application → Game library: renders library
- Session management → Panel preferences: persists preferences
- Wand integration → Wand client: exchanges renderer data
- Wand client → Custom renderer scripts: runs injected scripts