1. 13 Sep, 2025 15 commits
  2. 12 Sep, 2025 25 commits
    • Stefy Lanza (nextime / spora )'s avatar
      Add explicit ping/pong message handling to Python implementations · b3e5e3d2
      Stefy Lanza (nextime / spora ) authored
      - Implement ping/pong event handlers in wsscp.py and wsssh.py
      - Register ping_handler and pong_handler functions for WebSocket connections
      - Enable debug logging for ping/pong events when debug mode is enabled
      - Maintain automatic pong responses via websockets library while adding explicit handling
      b3e5e3d2
    • Stefy Lanza (nextime / spora )'s avatar
      Add ping/pong message handling to wsssh C implementation · e230ee7c
      Stefy Lanza (nextime / spora ) authored
      - Implement explicit ping/pong frame parsing and response in wsssh.c
      - Add send_pong_frame function to handle WebSocket ping frames
      - Maintain WebSocket protocol compliance for connection keep-alive
      - Python implementations handle ping/pong automatically via websockets library
      e230ee7c
    • Stefy Lanza (nextime / spora )'s avatar
      Apply same performance optimizations to wsssh C version as wsscp · 7c247fe7
      Stefy Lanza (nextime / spora ) authored
      - Replace blocking recv() with select() for efficient I/O multiplexing
      - Add 50ms timeouts to prevent indefinite blocking operations
      - Increase buffer size from 4KB to 1MB for optimal throughput
      - Add 3-second exit delay after SSH completion for clean shutdown
      - Fix setup_tunnel return codes to prevent segmentation faults
      - Correct memory management in argument cleanup
      7c247fe7
    • Stefy Lanza (nextime / spora )'s avatar
      Optimize C wsscp performance and add SSH options · 7eb01b2a
      Stefy Lanza (nextime / spora ) authored
      - Replace busy-waiting usleep loops with select() for efficient I/O multiplexing
      - Add 50ms timeouts to prevent blocking operations
      - Maintain 1MB buffers for optimal throughput
      - Add 3-second exit delay after SCP completion for clean shutdown
      - Fix critical bug in setup_tunnel return codes to prevent segfaults
      - Correct memory management in argument cleanup to avoid corruption
      - Add StrictHostKeyChecking=no option to wsscp and wsssh in both Python and C implementations
      7eb01b2a
    • Stefy Lanza (nextime / spora )'s avatar
      Update logo and icon assets · 92294668
      Stefy Lanza (nextime / spora ) authored
      - Regenerated logo variants from source image
      - Updated banner and icon files for consistency
      92294668
    • Stefy Lanza (nextime / spora )'s avatar
      Update documentation examples to match current command line interfaces · 8d1997cf
      Stefy Lanza (nextime / spora ) authored
      - Fixed wssshd examples to include required --password parameter
      - Updated wsssh examples to remove obsolete 'ssh' command requirement
      - Updated wsscp examples to remove obsolete 'scp' command requirement
      - Fixed debug mode examples to use current CLI syntax
      8d1997cf
    • Stefy Lanza (nextime / spora )'s avatar
      Update README.md and DOCUMENTATION.md examples to include --password parameter for wssshc · 846679e7
      Stefy Lanza (nextime / spora ) authored
      - Fixed obsolete command line examples that were missing the required --password parameter
      - Updated all wssshc usage examples in both files
      846679e7
    • Stefy Lanza (nextime / spora )'s avatar
      Update CHANGELOG.md to document license header additions · f7988bdf
      Stefy Lanza (nextime / spora ) authored
      - Added entry for GPL-3.0 license headers in shell scripts and C implementations
      - Updated version 1.1.0 'Changed' section
      f7988bdf
    • Stefy Lanza (nextime / spora )'s avatar
      Add GPL-3.0 license headers to shell scripts and C implementations · c47e4736
      Stefy Lanza (nextime / spora ) authored
      - Added license headers to build.sh, clean.sh, and wssshtools/configure.sh
      - Added license headers to wssshtools/wsscp.c, wssshtools/wsssh.c, and wssshtools/wssshc.c
      - Headers match the format used in Python files for consistency
      c47e4736
    • Stefy Lanza (nextime / spora )'s avatar
      Fix --wssshtools-only option to build only C implementations · 7240da10
      Stefy Lanza (nextime / spora ) authored
      - Move C building logic outside Python-building conditional block
      - Ensure --wssshtools-only builds all C tools (wssshc, wsssh, wsscp)
      - Skip Python binary building when --wssshtools-only is specified
      - Maintain compatibility with other build options
      7240da10
    • Stefy Lanza (nextime / spora )'s avatar
      e6376dfa
    • Stefy Lanza (nextime / spora )'s avatar
      Fix wsscp C implementation hang issues · 87e45f53
      Stefy Lanza (nextime / spora ) authored
      - Fix critical WebSocket frame parsing bug: signed char causing negative payload lengths
      - Add comprehensive message type handling for tunnel_response, tunnel_request, tunnel_ack
      - Implement buffered data transmission to prevent data loss from blocking sends
      - Add frame processing safeguards to prevent infinite loops
      - Optimize performance with increased sleep times to reduce CPU usage
      - Clean up inappropriate debug output from utility functions
      - Add proper resource management and error handling throughout
      
      Root causes fixed:
      1. Signed/unsigned char bug in frame length calculation
      2. Missing tunnel_response message handling breaking SSH protocol
      3. Data loss from non-blocking socket operations
      4. Infinite loops from malformed frame processing
      5. High CPU usage from short sleep intervals
      
      The C implementation now properly handles WebSocket frames of all sizes and maintains SSH protocol data integrity.
      87e45f53
    • Stefy Lanza (nextime / spora )'s avatar
      Add .buildinfo file cleanup to clean.sh · bc0d305a
      Stefy Lanza (nextime / spora ) authored
      - Added removal of wsssh-tools*.buildinfo files from both dist/ and root directories
      - .buildinfo files are generated by dpkg-buildpackage for reproducible build information
      - Ensures complete cleanup of all Debian packaging artifacts including build metadata
      bc0d305a
    • Stefy Lanza (nextime / spora )'s avatar
      Enhance clean.sh to remove all Debian package building artifacts · 2a597626
      Stefy Lanza (nextime / spora ) authored
      - Added cleanup for dist/ directory Debian files (moved by build.sh)
      - Added cleanup for root directory Debian files (fallback)
      - Added cleanup for wssshtools/debian/ build artifacts:
        - debian/wsssh-tools/ build directory
        - debian/files
        - debian/*.debhelper* files
        - debian/*.substvars files
        - debian/debhelper-build-stamp
      - Ensures complete cleanup of all Debian packaging artifacts
      - Maintains existing cleanup for PyInstaller and C build artifacts
      2a597626
    • Stefy Lanza (nextime / spora )'s avatar
      Update configure.sh and Makefile for proper Debian package installation · 26c706cd
      Stefy Lanza (nextime / spora ) authored
      - Modified configure.sh to generate Makefile with Debian-aware installation logic
      - Added conditional installation: /usr/bin for Debian packages, /usr/local/bin for manual installs
      - Detects Debian builds by checking if DESTDIR contains 'debian/'
      - Updated uninstall target to clean both installation locations
      - Fixes dh_usrlocal error by ensuring proper file locations in Debian packages
      - Maintains backward compatibility for manual installations
      26c706cd
    • Stefy Lanza (nextime / spora )'s avatar
      Fix Debian packaging issues for successful package builds · 0cc04c4f
      Stefy Lanza (nextime / spora ) authored
      - Fixed debian/changelog: Replaced $(date -R) with proper RFC 2822 formatted date
      - Removed debian/compat: Eliminated conflict with debhelper-compat in debian/control
      - Both files were causing dpkg-buildpackage errors during Debian package creation
      - Package builds should now complete successfully
      0cc04c4f
    • Stefy Lanza (nextime / spora )'s avatar
      Add --debian-only option to build.sh for rebuilding Debian packages only · 2828b2e6
      Stefy Lanza (nextime / spora ) authored
      - Added --debian-only flag that skips Python/C building and SSL/logo generation
      - Only performs Debian package building and dependency checking
      - Useful for quick package rebuilds after Debian packaging changes
      - Maintains all existing functionality when used with --debian
      - Provides focused output showing only Debian package results
      2828b2e6
    • Stefy Lanza (nextime / spora )'s avatar
      Add Debian build dependency checking to build.sh · 751d6c8a
      Stefy Lanza (nextime / spora ) authored
      - Added dependency verification for Debian package building
      - Checks for required packages: debhelper, gcc, make, pkg-config, libssl-dev
      - Provides clear error messages with installation commands
      - Prevents failed builds due to missing dependencies
      - Only runs checks when --debian flag is used
      751d6c8a
    • Stefy Lanza (nextime / spora )'s avatar
      Added what's added · aa4be3b1
      Stefy Lanza (nextime / spora ) authored
      aa4be3b1
    • Stefy Lanza (nextime / spora )'s avatar
      Fix README logo to use proper Markdown syntax instead of HTML · b018fb7a
      Stefy Lanza (nextime / spora ) authored
      - Changed logo inclusion from HTML img tag to Markdown image syntax
      - Removed HTML alignment and sizing attributes
      - Now uses standard Markdown: ![WebSocket SSH Logo](logos/logo-256.png)
      - Maintains clean Markdown formatting throughout the document
      b018fb7a
    • Stefy Lanza (nextime / spora )'s avatar
      Add comprehensive logo and icon generation from image.jpg · 385d7fbf
      Stefy Lanza (nextime / spora ) authored
      - Created logos/ directory with multiple logo and icon sizes
      - Generated PNG logos: 512x512, 256x256, 128x128, 64x64
      - Generated PNG icons: 16x16, 32x32, 48x48, 64x64, 128x128, 256x256
      - Created favicon.ico (32x32) for web use
      - Added banner version (800x200) for marketing
      - Included high-quality version with maximum quality settings
      - Updated README.md with logo display and comprehensive asset documentation
      - Updated DOCUMENTATION.md with logos directory in project structure
      - Enhanced build.sh to automatically generate logos during build process
      - Updated .gitignore to track logo assets (commented out for inclusion)
      - All assets derived from original image.jpg using ImageMagick
      
      Logo and icon assets now available for:
      - Web deployment (favicon.ico)
      - Desktop applications (various PNG sizes)
      - Documentation (README logo)
      - Marketing materials (banner)
      - Professional presentation across all platforms
      385d7fbf
    • Stefy Lanza (nextime / spora )'s avatar
      Add slogan, donations, and --help options to C implementation tools · 86a921dc
      Stefy Lanza (nextime / spora ) authored
      - Added 'Protect the dolls!' slogan to all C tools
      - Added BTC and ETH donation addresses to all C tools
      - Implemented --help (-h) option for all C tools (wssshc, wsssh, wsscp)
      - Updated configure.sh to generate Makefile with man pages support
      - All C tools now display help information and donation details
      - Consistent branding and community support across implementations
      86a921dc
    • Stefy Lanza (nextime / spora )'s avatar
      Add comprehensive man pages for C implementation tools · 9b3855df
      Stefy Lanza (nextime / spora ) authored
      - Added man/wssshc.1: Complete manual page for WebSocket SSH client
      - Added man/wsssh.1: Complete manual page for SSH wrapper
      - Added man/wsscp.1: Complete manual page for SCP wrapper
      - Updated Makefile to install man pages during 'make install'
      - Updated Debian packaging to include man pages in .deb package
      - Updated .gitignore to exclude compressed man pages
      - Updated clean.sh to clean man page artifacts
      - Updated documentation to mention man pages
      - Updated CHANGELOG.md with man page additions
      
      All man pages follow standard troff format with:
      - SYNOPSIS, DESCRIPTION, OPTIONS sections
      - EXAMPLES and SEE ALSO references
      - Proper licensing and author information
      - Comprehensive command-line option documentation
      9b3855df
    • Stefy Lanza (nextime / spora )'s avatar
      Update documentation for C implementation and Debian packaging · a9c261ad
      Stefy Lanza (nextime / spora ) authored
      - Updated README.md with C tools, Debian packaging, and simplified CLI
      - Updated DOCUMENTATION.md with dual implementation details
      - Updated CHANGELOG.md with version 1.1.0 featuring all new components
      - Enhanced project structure documentation
      - Added build instructions for C tools and Debian packages
      - Updated API reference with C implementation details
      - Improved dependency documentation for both implementations
      a9c261ad
    • Stefy Lanza (nextime / spora )'s avatar
      Add C implementation and Debian packaging · cc2798c3
      Stefy Lanza (nextime / spora ) authored
      - Added wssshtools/ directory with C implementations:
        * wssshc.c - WebSocket SSH client (registration)
        * wsssh.c - SSH wrapper for tunneling
        * wsscp.c - SCP wrapper for tunneling
        * configure.sh - Build configuration script
        * Makefile - Build system
      
      - Added Debian packaging:
        * debian/control - Package metadata and dependencies
        * debian/rules - Build rules
        * debian/changelog - Package changelog
        * debian/copyright - Copyright information
        * debian/compat - Debhelper compatibility level
      
      - Updated build.sh to support C builds and Debian packaging (--debian flag)
      - Updated clean.sh to clean C artifacts and Debian build files
      - Updated .gitignore to exclude C build artifacts and Debian files
      - All C tools use OpenSSL for SSL/TLS WebSocket connections
      cc2798c3