- 15 Sep, 2025 1 commit
-
-
nextime authored
- 'local' can only be used inside functions, not in main script body - Fixed both wssshd-watchdog and wssshc-watchdog scripts - Removed 'local count=0' from start case handlers
-
- 14 Sep, 2025 22 commits
-
-
nextime authored
- Watchdogs now run in infinite loop monitoring daemons every 30 seconds - Check START=yes configuration before starting monitoring - Restart daemons if they die, with max 20 restarts per minute limit - Double-check processes are actually running and correct - Fixed both wssshd and wssshc watchdogs to run continuously - Removed one-time start logic, restored continuous monitoring
-
nextime authored
- Add permission verification in postinst scripts for both wssshd and wssshc - Test if users can write to their home directories - Fix permissions if write access is denied (chmod 775) - Ensure users are in correct groups - Prevent 'Permission denied' errors when creating .config directories
-
nextime authored
- Implement one-time start logic (no continuous monitoring) - Add restart limiting: max 20 restarts per minute - Watchdog exits after successful start or if limits exceeded - Double-check processes are actually running and correct - Clean up PID files properly on exit - Fixed both wssshd and wssshc watchdogs
-
nextime authored
- Change watchdogs from continuous monitoring to one-time start - Check START=yes in /etc/default/ before starting services - Only start services if they're not already running - Double-check processes are actually running and correct - Improve status and stop functions with process verification - Fix both wssshd and wssshc watchdogs
-
nextime authored
- Watchdog scripts now wait for PID file creation before exiting - Reduced init script sleep time from 3 to 1 second - Prevents 'Watchdog failed to start properly' timing issues - Fixed both wssshd and wssshc watchdog/init scripts
-
nextime authored
- --debian-only now builds only wsssh-tools, not wsssh-server - Updated help text to clarify --debian-only behavior - Updated output messages for --debian-only vs --packages
-
nextime authored
-
nextime authored
- Add cleanup for wsssh-server*.deb packages and artifacts - Add cleanup for wsssh-server debian build directory - Ensure both wsssh-server and wsssh-tools packages are cleaned
-
nextime authored
- Create systemd service files for wssshd and wssshc - Add conditions to prevent conflicts with sysv init - Update debian/rules to install systemd services - Update postinst scripts to enable systemd services - Ensure sysv init has precedence over systemd
-
nextime authored
- Remove set -x tracing from init and watchdog scripts - Fix wssshd and wssshc watchdogs to accept various START values - Support yes, YES, Y, 1, true, TRUE as documented in config files
-
nextime authored
- Created logrotate configuration files for both wssshd and wssshc - wssshd.logrotate: Rotates /var/log/wssshd/watchdog.log weekly - wssshc.logrotate: Rotates /var/log/wssshc/watchdog.log weekly - Both configs include postrotate scripts to HUP watchdog processes - Install logrotate configs to /etc/logrotate.d/ in both packages - Added /etc/logrotate.d directory creation to debian/rules - Log rotation settings: weekly, 52 rotations, compress, proper permissions - Ensures logs don't grow indefinitely and consume disk space - Follows Debian packaging standards for log management - Automatic log rotation prevents production system issues
-
nextime authored
- Added fallback mechanism when start-stop-daemon fails - Try direct daemon execution if start-stop-daemon fails - Added better error checking for daemon binary existence - Simplified complex awk-based restart limit checking - Added proper error suppression for directory operations - Made watchdog scripts more robust for testing/development environments - Disabled restart limiting temporarily to avoid parsing issues - Improved logging for troubleshooting startup failures - Both wssshd-watchdog and wssshc-watchdog updated with same improvements
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
- 13 Sep, 2025 17 commits
-
-
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
-
nextime authored
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-