WSSSHD(1)

NAME
wssshd - WebSocket SSH Server daemon for secure tunneling

SYNOPSIS
wssshd [--config FILE] [--host HOST] [--port PORT] [--domain DOMAIN] [--password PASSWORD] [--web-host HOST] [--web-port PORT] [--web-https] [--web-proxy [PORT]] [--debug] [--debug-web] [--debug-database] [--help]

DESCRIPTION
wssshd is a WebSocket SSH server daemon that provides secure tunneling capabilities for SSH and SCP connections. It accepts WebSocket connections from wsssh and wsscp clients, manages SSH tunnels, and provides a web-based management interface for client registration and tunnel monitoring.

OPTIONS

--config FILE
    Configuration file path (default: /etc/wssshd.conf)

--host HOST
    WebSocket server bind address (default: 0.0.0.0)

--port PORT
    WebSocket server port (default: 9898)

--domain DOMAIN
    Domain name for the server

--password PASSWORD
    Server password for client authentication

--web-host HOST
    Web interface bind address (default: 127.0.0.1)

--web-port PORT
    Web interface port (default: 8080)

--web-https
    Enable HTTPS for web interface

--web-proxy  [PORT]
    Enable web proxy server on localhost (default port: 9090). The web proxy listens on 127.0.0.1 only and proxies HTTP requests to registered clients based on the requested hostname.

--debug
    Enable general debug output

--debug-web
    Enable web interface debug output

--debug-database
    Enable database operation debug output

--help
    Display help message and exit

CONFIGURATION
The server can be configured through command line options or configuration files. The configuration file supports the following options:

host
    WebSocket server bind address (default: 0.0.0.0)

port
    WebSocket server port (default: 9898)

domain
    Domain name for the server

password
    Server password for client authentication

web_host
    Web interface bind address (default: 127.0.0.1)

web_port
    Web interface port (default: 8080)

web_https
    Enable HTTPS for web interface (default: false)

web_proxy
    Enable web proxy server (default: false)

web_proxy_port
    Web proxy listen port (default: 9090)

debug
    Enable general debug output (default: false)

debug_web
    Enable web interface debug output (default: false)

debug_database
    Enable database operation debug output (default: false)

EXAMPLES

Start server with default configuration:
    wssshd

Start server with custom configuration:
    wssshd --config /etc/wssshd.conf

Start server with debug output:
    wssshd --debug --debug-web --debug-database

Start server with custom web interface:
    wssshd --web-host 0.0.0.0 --web-port 8080 --web-https

Start server with web proxy on default port:
    wssshd --web-proxy

Start server with web proxy on custom port:
    wssshd --web-proxy 8080

WEB INTERFACE
The server provides a web-based management interface accessible at https://server:port/ (when SSL is enabled) or http://server:port/ (without SSL). The web interface allows: - Client registration and management - Tunnel monitoring and control - System status and logs - Configuration management

WEB PROXY
The web proxy feature allows the server to act as a reverse HTTP proxy for registered clients. When a client registers with the "web" or "http" service, the server can proxy HTTP requests to that client based on the requested hostname. The hostname matching supports two patterns: clientid.domain (same as the client's registered ID) The web proxy listens only on 127.0.0.1 for security, preventing external access to proxied services.

SECURITY
The server supports SSL/TLS encryption for all communications. For production deployments: - Use properly signed SSL certificates - Configure strong passwords for the web interface - Use firewall rules to restrict access to the server port - The web proxy only listens on localhost (127.0.0.1) by default - Regularly update the server and dependencies

SIGNALS

SIGTERM, SIGINT
    Graceful shutdown of the server

SIGHUP
    Reload configuration (if supported)

FILES

/etc/wssshd.conf
    Main configuration file

~/.config/wssshd/users.db
    SQLite database for user management (per-user)

/etc/wssshd/users.db
    SQLite database for user management (system-wide, when running as root)

/var/log/wssshd/
    Log directory

/etc/init.d/wssshd
    Init script for service management

EXIT STATUS
wssshd returns 0 on successful operation, non-zero on errors.

SEE ALSO
wsssh(1), wssshc(1), wsscp(1), ssh(1)

AUTHOR
Written by Stefy Lanza <stefy@nexlab.net>

COPYRIGHT
Copyright © 2024-2026 Stefy Lanza and SexHack.me. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.

BUGS
Report bugs to: https://git.nexlab.net/nexlab/wsssh/issues