1. 14 Sep, 2025 10 commits
    • nextime's avatar
      Fix wsssh-server Debian package build - missing /usr/sbin directory · c3479481
      nextime authored
      - Added mkdir command to create /usr/sbin directory in wsssh-server debian/rules
      - Fixed 'No such file or directory' error when installing wssshd-watchdog
      - Ensures proper directory structure for watchdog script installation
      - Resolves build failure when running build.sh --packages or --debian-only
      - Maintains consistency with other directory creation commands
      c3479481
    • nextime's avatar
      Fix wssshtools Debian package build - missing /usr/sbin directory · 28618aa1
      nextime authored
      - Added mkdir command to create /usr/sbin directory in debian/rules
      - Fixed 'No such file or directory' error when installing wssshc-watchdog
      - Ensures proper directory structure for watchdog script installation
      - Resolves build failure when running build.sh --packages or --debian-only
      - Maintains consistency with other directory creation commands
      28618aa1
    • nextime's avatar
      Add --packages option to build.sh script · 79489824
      nextime authored
      - Added new --packages option that builds all Debian packages
      - Equivalent to running --debian-only (builds both wsssh-server and wsssh-tools packages)
      - Updated help text and usage information
      - Updated final output message to handle --packages option
      - Provides convenient way to build all packages in one command
      - Maintains backward compatibility with existing options
      79489824
    • nextime's avatar
      Fix Debian init scripts and watchdog installation issues · 79e67da7
      nextime authored
      - Fixed wssshd.init and wssshc.init to work on Debian/Ubuntu systems
      - Changed function library from Red Hat (/etc/rc.d/init.d/functions) to Debian (/lib/lsb/init-functions)
      - Replaced Red Hat echo_success/echo_failure functions with simple echo statements
      - Added watchdog script installation to both wsssh-server and wssshtools debian/rules
      - wssshd-watchdog now installs to /usr/sbin/wssshd-watchdog
      - wssshc-watchdog now installs to /usr/sbin/wssshc-watchdog
      - Fixed init script compatibility issues that were causing 'command not found' errors
      - Ensured proper service management on Debian-based systems
      - Resolved missing watchdog script errors during service startup
      79e67da7
    • nextime's avatar
      Fix wssshtools Debian package build - missing directory creation · 14a4a0a3
      nextime authored
      - Added mkdir commands to create necessary directories before install
      - Fixed 'No such file or directory' error in debian/rules
      - Created directories: /etc/init.d, /usr/share/wsssh, /etc/default, /usr/bin
      - Ensures proper directory structure for package installation
      - Resolves build failure when running build.sh --debian-only
      - Maintains compatibility with existing build process
      14a4a0a3
    • nextime's avatar
      Add support for non-interactive wsssh-server package installations · d23b4438
      nextime authored
      - Modified debconf template to include note about non-interactive handling
      - Updated preinst script to detect DEBIAN_FRONTEND=noninteractive
      - Automatically stops service in non-interactive environments without prompting
      - Changed debconf priority from 'high' to 'medium' for better UX
      - Added fallback handling for when debconf fails or returns empty values
      - Updated README.md with instructions for non-interactive installations
      - Ensures compatibility with automated deployment scripts and CI/CD pipelines
      - Maintains user control in interactive environments while enabling automation
      d23b4438
    • nextime's avatar
      Fix PyInstaller binary upgrade handling for wsssh-server package · 0401fb37
      nextime authored
      - Created preinst script to stop wssshd service before upgrade
      - Modified postinst script to restart service if it was running before upgrade
      - Added proper state tracking using /tmp/wsssh-server-upgrade-state file
      - Ensures zero-downtime upgrades by handling PyInstaller binary file locks
      - Updated README.md to document the automatic upgrade handling
      - Prevents 'file in use' errors during package upgrades
      - Maintains service continuity across upgrades
      0401fb37
    • nextime's avatar
      Update repository URLs and version to 1.4.3 · 96632028
      nextime authored
      - Updated version to 1.4.3 in CHANGELOG.md
      - Changed all repository URLs from GitHub to git.nexlab.net/nexlab/wsssh
      - Updated debian/control files for both wsssh-server and wssshtools packages
      - Updated debian/changelog files with version 1.4.3 entries
      - Updated all man pages (wsssh.1, wssshc.1, wsscp.1, wssshd.1) with new repository URL
      - Updated README.md and DOCUMENTATION.md with correct repository URLs
      - Fixed all references to point to the correct NexLab Git repository
      - Maintained consistency across all documentation and packaging files
      96632028
    • nextime's avatar
      Update documentation to reflect standalone wsssh-server package · aab309c2
      nextime authored
      - Updated README.md to clarify that wsssh-server package requires no Python dependencies
      - Added note about PyInstaller standalone binary in installation instructions
      - Updated DOCUMENTATION.md to reflect minimal dependencies (only adduser)
      - Clarified that Python dependencies are bundled in the PyInstaller binary
      - Improved package description to emphasize standalone nature
      aab309c2
    • nextime's avatar
      Fix wsssh-server Debian package dependencies · e2e4c4ec
      nextime authored
      - Removed unnecessary Python package dependencies from debian/control
      - Since wsssh-server uses PyInstaller standalone binary, it doesn't need:
        - python3-websockets
        - python3-flask
        - python3-flask-login
        - python3-flask-sqlalchemy
        - python3-pty
        - python3 (base Python is still needed for the binary to run)
      - Kept only essential dependency: adduser (for user creation)
      - Updated package description to clarify it's a standalone binary
      - This resolves dpkg dependency issues when installing on remote machines
      e2e4c4ec
  2. 13 Sep, 2025 30 commits
    • nextime's avatar
      Update TODO.md with completed tasks for version 1.4.2 · 0dbb40fa
      nextime authored
      - Added 'Recently Completed' section documenting all v1.4.2 improvements
      - Marked ping frame parsing fix as completed
      - Marked WebSocket reconnection logic as completed
      - Marked professional watchdog scripts as completed
      - Marked enhanced init scripts as completed
      - Marked build system fixes as completed
      - Marked Debian package improvements as completed
      - Marked binary reuse logic as completed
      - Marked documentation updates as completed
      0dbb40fa
    • nextime's avatar
      Add debian package · 47cea202
      nextime authored
      47cea202
    • nextime's avatar
      Update documentation for version 1.4.2 build system fixes · b9fd9942
      nextime authored
      - Updated CHANGELOG.md with comprehensive build system fixes documentation
      - Updated README.md with version 1.4.2 changelog information
      - Updated DOCUMENTATION.md with build system improvements
      - Documented all Debian package build fixes and enhancements
      - Added details about binary reuse, error handling, and build efficiency improvements
      b9fd9942
    • nextime's avatar
      Fix debian/rules directory creation for install target · e75b2eda
      nextime authored
      - Added mkdir -p commands to create all necessary directories before install
      - Ensures debian/wsssh-server/usr/bin/ and other directories exist
      - Fixes 'No such file or directory' error during package installation
      - Resolves issue when installing files into non-existent directory structure
      - Makes the debian package build process more robust
      e75b2eda
    • nextime's avatar
      Fix debian/rules dist directory creation issue · 9407a332
      nextime authored
      - Added mkdir -p dist command before copying existing wssshd binary
      - Ensures dist directory exists when copying from ../dist/wssshd
      - Fixes 'No such file or directory' error during Debian package build
      - Resolves issue when reusing existing binary from parent dist directory
      9407a332
    • nextime's avatar
      Fix wsssh-server Debian package build issues · 98722483
      nextime authored
      - Removed redundant debian/compat file (compatibility level already specified in control)
      - Fixed debhelper compatibility conflict error
      - Modified debian/rules to reuse existing wssshd binary from dist/ directory
      - Updated override_dh_auto_build to check for existing binary and copy instead of rebuild
      - Modified override_dh_auto_clean to preserve dist directory
      - Eliminates unnecessary rebuilds and improves build efficiency
      - Resolves both compatibility and binary reuse issues
      98722483
    • nextime's avatar
      Fix debian/rules Makefile syntax error by replacing here document with echo commands · f42ff1ee
      nextime authored
      - Replaced cat > wssshd.spec << 'EOF' with individual echo commands
      - This completely avoids Makefile tab interpretation issues
      - Each line is now clearly a shell command starting with proper tab indentation
      - Resolves the 'missing separator' error when building wsssh-server package
      - PyInstaller spec file generation now works correctly in Makefile context
      f42ff1ee
    • nextime's avatar
      Fix debian/rules Makefile syntax error in wsssh-server package · b74faea5
      nextime authored
      - Fixed missing separator error on line 26 caused by tab indentation in here document
      - Changed cat > wssshd.spec << EOF to cat > wssshd.spec << 'EOF' to prevent shell expansion
      - This resolves the dpkg-buildpackage error when building wsssh-server package
      - The PyInstaller spec file generation now works correctly in the Makefile context
      b74faea5
    • nextime's avatar
      Fix --server-only option to build wsssh-server Debian package · 1eae155d
      nextime authored
      - Modified --server-only to automatically enable Debian package building
      - Updated build logic to build wsssh-server package when --server-only is used
      - Fixed output messages to show wsssh-server package in server-only builds
      - Updated help text to clarify that --server-only builds the Debian package
      - Improved build.sh help formatting and usage examples
      1eae155d
    • nextime's avatar
      Add watchdog scripts for high availability daemon monitoring · 6730a4d3
      nextime authored
      - Implement wssshd-watchdog and wssshc-watchdog scripts for automatic daemon restart
      - Update init scripts to use watchdog for process supervision
      - Add watchdog monitoring features to Debian packages
      - Update documentation and changelog for version 1.4.1
      - Professional enterprise-grade process monitoring with configurable restart limits
      - Comprehensive logging and error handling for production deployments
      6730a4d3
    • nextime's avatar
      Update documentation for wsssh-server Debian package v1.4.0 · 4e680dc1
      nextime authored
      - Updated README.md with wsssh-server package installation instructions
      - Updated DOCUMENTATION.md with wsssh-server package details and build instructions
      - Added comprehensive wsssh-server package features and usage examples
      - Updated project structure to include wsssh-server package directory
      - Enhanced build instructions with --server-only option details
      - Added wsssh-server package benefits and enterprise features
      - Updated changelog section to reflect version 1.4.0 features
      - Improved documentation consistency across all files
      4e680dc1
    • nextime's avatar
      Version 1.4.0: Complete wsssh-server Debian package implementation · ff20df1c
      nextime authored
      - Added comprehensive wsssh-server Debian package for wssshd daemon
      - Created wssshd man page with complete documentation
      - Updated build.sh to support wsssh-server package building
      - Enhanced --server-only option to build server components
      - Updated all version references to 1.4.0
      - Improved package separation between server and client components
      - Added PyInstaller binary packaging for standalone deployment
      - Integrated init scripts with proper user/group management
      - Added comprehensive postinst/postrm scripts for system integration
      - Created /etc/default configuration files for service control
      - Enhanced Debian packaging with professional standards compliance
      ff20df1c
    • nextime's avatar
      Create comprehensive wsssh-server Debian package for wssshd · dd9e35c6
      nextime authored
      - Package wssshd as PyInstaller binary for easy deployment
      - Include comprehensive init script with wssshd user/group support
      - Create postinst/postrm scripts for user/group management
      - Set up proper directory structure (/var/lib/wssshd, /var/log/wssshd, /etc/wssshd)
      - Integrate with Debian init system and rc2.d
      - Include configuration examples and documentation
      - Create /etc/default/wssshd for service control
      - Set up proper permissions and ownership
      - Enable secure daemon operation with dedicated user/group
      - Include PyInstaller spec file for reproducible builds
      dd9e35c6
    • nextime's avatar
      Implement configuration file precedence in wssshc C version · b5e9067b
      nextime authored
      - Add configuration hierarchy: CLI > ~/.config > /etc
      - Add --config option to specify custom configuration file
      - Refactor load_config to support multiple config file sources
      - Update argument parsing to handle --config option
      - Update usage message to document configuration hierarchy
      - Maintain backward compatibility with existing configurations
      - Support for interval configuration in config files
      b5e9067b
    • nextime's avatar
      Add comprehensive wssshc init script and Debian packaging support · 740cbe6c
      nextime authored
      - Create wssshc.init with /etc/default/wssshc START variable validation
      - Implement configuration hierarchy: CLI > ~/.config > /etc
      - Add syslog redirection for daemon output
      - Create Debian postinst/postrm scripts for user/group management
      - Add wssshc.conf.example with comprehensive configuration options
      - Update debian/rules to install init scripts and Python components
      - Create /etc/default/wssshc template file
      - Enable proper service management with chkconfig/update-rc.d
      - Support for custom config file via --config option
      - Comprehensive error handling and user feedback
      740cbe6c
    • nextime's avatar
      Add wssshd init script for system service management · 14525e6c
      nextime authored
      - Create comprehensive init script with start/stop/restart/status actions
      - Check for /etc/wssshd.conf existence on start with helpful error message
      - Redirect daemon output to syslog for proper logging
      - Implement proper process management with PID file handling
      - Follow LSB (Linux Standard Base) init script conventions
      - Support for daemon user/group configuration
      - Graceful shutdown with process termination and cleanup
      - Compatible with chkconfig and systemd service management
      14525e6c
    • nextime's avatar
      Add --config option support to wssshd.py · 92bed400
      nextime authored
      - Add --config command line option to specify configuration file path
      - Update config loading logic to use specified config file
      - Maintain backward compatibility with default /etc/wssshd.conf
      - Support for custom configuration file locations
      92bed400
    • nextime's avatar
      Add SIGINT signal handling to wssshd.py for clean Ctrl+C exit · 66f67695
      nextime authored
      - Implement asyncio Event-based signal handling for WebSocket daemon
      - Add graceful shutdown with proper resource cleanup
      - Terminate active terminal processes cleanly on shutdown
      - Clean up WebSocket connections, tunnels, and client registrations
      - Provide user feedback during shutdown process
      - Ensure compatibility with existing daemon functionality
      66f67695
    • nextime's avatar
      Add SIGINT signal handling for clean Ctrl+C exit · f32bbbd9
      nextime authored
      - Add signal handling to wsssh.py, wsscp.py, and wssshc.py
      - Implement asyncio Event-based shutdown mechanism
      - Enable clean exit when pressing Ctrl+C during connection setup
      - Maintain proper resource cleanup on signal interruption
      - Preserve existing functionality while adding graceful shutdown
      f32bbbd9
    • nextime's avatar
      Enhance Python implementations with reconnection logic · f7dc5d7f
      nextime authored
      - Add --interval option to both wsssh.py and wsscp.py (default: 30s)
      - Implement automatic WebSocket reconnection during active tunnels
      - Add retry logic for initial connection failures
      - Smart timing: 1-second WebSocket reconnections vs configurable initial setup retries
      - Enhanced connection resilience for both SSH and SCP operations
      - Maintain backward compatibility with existing functionality
      f7dc5d7f
    • nextime's avatar
      Remove "clean" duplicate · d803985a
      nextime authored
      d803985a
    • nextime's avatar
      Version 1.3.4: Enhanced WebSocket connection management · b77037ab
      nextime authored
      - Fixed ping frame parsing in wsssh.c to properly handle WebSocket ping frames
      - Added automatic pong responses with correct payload echoing
      - Implemented WebSocket reconnection logic for both wsssh.c and wsscp.c
      - Added --interval option for configurable connection retry intervals
      - Smart timing: 1-second WebSocket reconnections vs 30-second initial connection retries
      - Improved connection resilience and automatic recovery from network interruptions
      - Updated documentation and changelog for version 1.3.4
      b77037ab
    • nextime's avatar
      Add cross-platform wssshc implementations to TODO roadmap · 5c4d312a
      nextime authored
      - Added Windows wssshc implementation (C/C++)
      - Added macOS (OSX) wssshc implementation (C/C++)
      - Added Android wssshc implementation (future)
      - Included platform-specific features and integration details
      - Updated priority sections to include cross-platform development
      5c4d312a
    • nextime's avatar
      Add comprehensive TODO.md with future enhancement roadmap · 09dd0d29
      nextime authored
      - Added detailed roadmap for WebSocket SSH improvements
      - Included stability and performance enhancements
      - Added peer-to-peer with NAT traversal capabilities
      - Organized items by priority levels
      - Provided implementation guidance for contributors
      09dd0d29
    • nextime's avatar
      Fix: Correct config parameter name from 'jhost' to 'host' in wssshd.conf · d82e3355
      nextime authored
      - Fixed wssshd.py to use 'host' instead of 'jhost' in config file
      - Updated wssshd.conf.example to use correct parameter name
      - Updated all documentation to reflect 'host' parameter
      - Maintains consistency with command line --host argument
      d82e3355
    • nextime's avatar
      Version 1.3.2: Add wssshd configuration file support · 8feb3370
      nextime authored
      - Added system-wide config file /etc/wssshd.conf for wssshd daemon
      - Default jhost, port, password, domain, web-port, web-host, web-https settings
      - Command line arguments take precedence over config file values
      - Updated documentation and version numbers
      - Enhanced wssshc config file support from version 1.3.1
      8feb3370
    • nextime's avatar
      Add configuration file support for wsssh and wsscp · 3c9ab553
      nextime authored
      - Added INI-formatted config file ~/.config/wsssh/wsssh.conf
      - Default port and domain settings for both Python and C implementations
      - Command line arguments take precedence over config file
      - Enhanced hostname parsing with config-based defaults
      - Updated documentation and version to 1.3.0
      - Updated Debian package version to 1.3.0-1
      3c9ab553
    • Stefy Lanza (nextime / spora )'s avatar
      Fix web terminal issues: improve xterm.js configuration, fix PTY setup, and... · e91872f7
      Stefy Lanza (nextime / spora ) authored
      Fix web terminal issues: improve xterm.js configuration, fix PTY setup, and resolve output alignment
      
      - Enhanced xterm.js terminal configuration with proper theme, cursor, and font settings
      - Fixed PTY setup in wssshd.py for better subprocess connection
      - Improved terminal output formatting and line ending handling
      - Resolved terminal connection and data flow issues
      - Added proper terminal size configuration (80x24)
      - Simplified input handling for better SSH compatibility
      e91872f7
    • Stefy Lanza (nextime / spora )'s avatar
    • Stefy Lanza (nextime / spora )'s avatar