- 24 Sep, 2025 1 commit
-
-
Stefy Lanza (nextime / spora ) authored
-
- 23 Sep, 2025 17 commits
-
-
Stefy Lanza (nextime / spora ) authored
- Remove WebSocket-level chunking of VNC data (breaks streaming protocol) - Send VNC data as complete WebSocket frames instead of chunks - Enhance SSL error handling with better retry logic and exponential backoff - Make VNC handler resilient to temporary SSL buffer issues - Add comprehensive debug logging for WebSocket frame transmission - Add client-side debug logging for VNC rectangle processing Root cause: WebSocket chunking interrupted VNC TightDecoder which expects complete compressed data blocks. Client accumulated partial data until connection reset with ECONNRESET.
-
Stefy Lanza (nextime / spora ) authored
- Remove wsProtocols: ['binary'] setting that was causing reserved bits error - WebSocket extension negotiation was failing with 'reserved3 = 1' - Use default WebSocket protocol negotiation instead
-
Stefy Lanza (nextime / spora ) authored
- Wrap client cards in Bootstrap row container - Each client uses col-md-4 for 3 columns per row on medium+ screens - Maintains responsive design for smaller screens
-
Stefy Lanza (nextime / spora ) authored
- Allow container to expand with height: auto and max-height: none in full-size mode - Set min-width and min-height to fit-content for #noVNC_screen to allow proper canvas sizing - Add debugging logs to check canvas and container dimensions after zoom toggle - Ensure scrollbars appear when remote desktop is larger than viewport
-
Stefy Lanza (nextime / spora ) authored
- Add CSS class .vnc-container.full-size with overflow: auto to show scrollbars - Modify toggleZoom() function to toggle the full-size CSS class on the container - When zoom button is active (full-size mode), scrollbars appear for navigation - Maintains scaled view (no scrollbars) when zoom button is inactive
-
Stefy Lanza (nextime / spora ) authored
- Add zoom/scale toggle button in the window titlebar - Implement toggle functionality between scaled view (fit to window) and full-size view with scrollbars - Add CSS styling for the zoom button with active state - Button toggles between search-plus and search-minus icons - When active, shows remote desktop at actual size with clipping and scrollbars enabled
-
Stefy Lanza (nextime / spora ) authored
- Add comprehensive logging to Display.flip() method for viewport and scaling debugging - Fix missing KeyboardUtil object in input/util.js - Add backbuffer content verification before and after rectangle processing - Enhance WebSocket message logging for frame data debugging - Improve error handling for corrupted FramebufferUpdate messages - Add data skipping for unsupported encodings to prevent connection stalls - Clean up excessive console.log statements for production readiness - Verify loading system with cancel button functionality
-
Stefy Lanza (nextime / spora ) authored
- Disable viewport clipping to prevent large screens from being hidden - Add proper handling of corrupted FramebufferUpdate messages - Skip data for unsupported encodings to prevent data accumulation - Add comprehensive debugging for message processing flow - Fix infinite loop in rectangle processing for corrupted data
-
Stefy Lanza (nextime / spora ) authored
- Added retry logic with partial write handling to ws_send_binary_frame() - Prevents WebSocket frame corruption during large VNC data transmission - Fixes 'server must not mask frames' error in noVNC browser connections - ws_send_binary_frame now handles SSL write interruptions properly
-
Stefy Lanza (nextime / spora ) authored
- Implements VNC protocol handshake (version exchange, security negotiation, client init) - Uses wsssht --pipe mode for bidirectional communication - Includes timeout handling and proper error management - Tested successfully with VNC server negotiation
-
Stefy Lanza (nextime / spora ) authored
- Replace ws_send_frame with ws_send_binary_frame for VNC WebSocket data - This ensures proper binary frame handling for VNC protocol data - Fixes immediate disconnection after 'VNC connected' message
-
Stefy Lanza (nextime / spora ) authored
- Fix Base64 object definition in wssshd2/templates/novnc/base64.js - Change 'window.{' to 'window.Base64 = {' to properly define global Base64 object - This resolves ReferenceError when decoding JPEG rectangles in Tight encoding - VNC connections now establish successfully instead of disconnecting immediately
-
Stefy Lanza (nextime / spora ) authored
- Implement bidirectional pipe communication for VNC sessions - Replace single pipe with separate stdin/stdout pipes - Fix child process redirection to properly handle both input and output - Add enhanced debug logging for VNC data flow - Update resource cleanup in vnc_free_session() This resolves the issue where VNC connections would hang after exchanging the first 12 bytes (RFB protocol version strings) because input from noVNC WebSocket wasn't reaching the wsssht process.
-
Stefy Lanza (nextime / spora ) authored
- Fix pipe handling in vnc.c: was writing to read end instead of write end - Add separate read_fd/write_fd fields to vnc_session_t struct - Add debug logging for VNC data exchange in websocket handler - Add hex dump logging for VNC pipe communication This resolves the 'Wrote -1 bytes to pipe' error that was preventing VNC connections from working properly.
-
Stefy Lanza (nextime / spora ) authored
- Add output buffering to vnc_session_t structure - Modify read_pipe_output to buffer wsssht stdout - Update vnc_get_output to return buffered data - Modify websocket_vnc_handler to send output to WebSocket client - Enable bidirectional communication for VNC WebSocket connections
-
Stefy Lanza (nextime / spora ) authored
- Remove secure context check in noVNC RFB.js to allow HTTP usage - Add --websocket-tls-only configuration option (defaults to true for security) - Implement mixed TLS/non-TLS WebSocket server support - Add plain WebSocket connection support in protocol layer - Fix critical bugs: buffer overflows, race conditions, HTML template issues - All changes maintain backward compatibility while enabling HTTP WebSocket usage
-
Stefy Lanza (nextime / spora ) authored
- Fix embed_assets.sh sed regex for CommonJS to ES6 conversion - Convert require() calls to import statements in deflate.js - Add missing messages.js file for error messages - Remove module.exports statements from deflate.js - Update all pako zlib files to use ES6 modules This resolves the 'require is not defined' and 'module is not defined' errors in the browser.
-
- 22 Sep, 2025 14 commits
-
-
Stefy Lanza (nextime / spora ) authored
- Modified embed_assets.sh to recursively embed all JS files in templates/novnc/ - Added automatic CommonJS to ES6 module conversion for pako library - Updated assets.c and assets.h to serve /novnc/* paths - Server now serves noVNC assets with correct path structure for tight encoding support
-
Stefy Lanza (nextime / spora ) authored
- Add 'active' field to service_config_t structure (defaults to true) - Parse 'active' field from service config files (accepts true/1/yes) - Skip inactive services during service loading - Maintain backward compatibility with existing configs
-
Stefy Lanza (nextime / spora ) authored
- Add send_registration_message_with_services() to send detailed service info during client registration - Update wssshc to send service configurations during registration - Enhance server to parse service arrays and legacy string format - Fix wsssht to use service from URL in tunnel request messages - Maintain backward compatibility with existing clients
-
Stefy Lanza (nextime / spora ) authored
- Add comprehensive service configuration documentation to README.md - Add detailed service configuration section to DOCUMENTATION.md - Document service config file format and examples for SSH, RDP, VNC - Explain service directory setup and multiple services configuration - Include service discovery and loading information
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
- Fix WebSocket upgrade handshake in web interface - Fix terminal session linking with WebSocket connections - Add binary type setting for WebSocket messages - Add terminal resize after session establishment - Change 'WebSocket SSH Daemon' to 'WSSSHD control panel' in all headers - Add GNOME-like window decorations to terminal interface - Implement window controls: close (disconnect), maximize (fullscreen), minimize (exit fullscreen) - Maintain window decorations in fullscreen mode
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
- Add polling delay to ensure terminal output appears immediately - Update dashboard to refresh client list dynamically without page reload - Fix dashboard layout with proper container - Update debug logging to exclude frequent polling requests - Embed updated HTML templates
-
- 21 Sep, 2025 8 commits
-
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
- Remove template copying from wsssh-server package since templates are now embedded in wssshd2 binary - Fix erroneous wssshd.py installation in wssshtools package - Update both package changelogs to version 1.7.0-1
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
- wssshd2/assets.c: Modified to handle users page dynamically instead of static HTML - wssshd2/configure.sh: Added SQLite3 library dependency checking and linking These changes ensure proper SQLite integration in the build system and dynamic user management interface.
-
Stefy Lanza (nextime / spora ) authored
- README.md: Updated installation, architecture, and build instructions for C implementation - CHANGELOG.md: Added v1.7.0 entry documenting major transition from Python to C - DOCUMENTATION.md: Updated project structure, dependencies, and build instructions - TODO.md: Added v1.7.0 completion status and updated roadmap All documentation now reflects the new C-based architecture with SQLite database and embedded web interface.
-
Stefy Lanza (nextime / spora ) authored
- Removed templates/ directory (no longer needed with embedded HTML) - Removed wssshd.py (Python server entry point) - Removed wsssd/ directory (entire Python server implementation) - Project now uses only wssshd2/ C implementation - Cleaner codebase with single server implementation - Reduced maintenance overhead and confusion
-
Stefy Lanza (nextime / spora ) authored
- Updated package version from 1.6.1-1 to 1.6.5-1 for consistency - Added changelog entry documenting the transition to C binary - Maintained version alignment with wssshtools package - Preserved all existing package functionality and dependencies
-