WSSHc(1)

NAME
wssshc - WSSH Client for registration

SYNOPSIS
wssshc [--server-ip IP] [--port PORT] [--id ID] [--password PASSWORD] [--interval SECONDS] [--tunnel TYPES] [--tunnel-control TYPES] [--wssshd-private-ip IP] [--ssh-host HOST] [--ssh-port PORT] [--tunnel-host HOST] [--tunnel-port PORT] [--services-path DIR] [--service NAME] [--debug] [--help]

DESCRIPTION
wssshc is a lightweight client for registering machines with a WSSSH daemon (wssshd). It establishes a persistent WebSocket connection and maintains registration with the server, allowing SSH/SCP tunneling through the registered machine.

Configuration can be provided via command line options or an optional INI-formatted configuration file at ~/.config/wsssh/wssshc.conf with a [wssshc] section. Command line options take precedence over configuration file values.

OPTIONS

--server-ip IP
    IP address or hostname of the wssshd server

--port PORT
    Port number of the wssshd server (default: 9898)

--id ID
    Unique client identifier for registration

--password PASSWORD
    Registration password for authentication

--interval SECONDS
    Reconnection interval in seconds if connection is lost (default: 30)

--tunnel TYPES
    Transport types for data channel (comma-separated or 'any', default: any)

--tunnel-control TYPES
    Transport types for control channel (comma-separated or 'any', default: any)

--wssshd-private-ip IP
    Private IP address of the wssshd server

--ssh-host HOST
    SSH host to forward tunnel data to (default: 127.0.0.1) [legacy, use --tunnel-host]

--ssh-port PORT
    SSH port to forward tunnel data to (default: 22) [legacy, use --tunnel-port]

--tunnel-host HOST
    Tunnel host to forward tunnel data to (default: 127.0.0.1)

--tunnel-port PORT
    Tunnel port to forward tunnel data to (default: 22)

--services-path DIR
    Directory containing service configuration files (default: /etc/wsssh.d/)

--service NAME
    Default service name for tunnel requests (default: ssh)

--debug
    Enable debug output for troubleshooting

--help
    Display help message and exit

CONFIGURATION
Configuration can be specified in ~/.config/wsssh/wssshc.conf using INI format:

[wssshc]
password = yourpassword
domain = example.com
server-ip = 192.168.1.100
port = 9898
id = client01

Command line options override configuration file values. If neither configuration file nor command line provides a required value, the program will exit with an error.

EXAMPLES

Register a client machine:
    wssshc --server-ip 192.168.1.100 --port 9898 --id workstation01 --password mysecret

Register with debug output:
    wssshc --server-ip server.example.com --id laptop01 --password secret --debug

SECURITY
All communications are encrypted using SSL/TLS. The client uses self-signed certificates by default. For production use, ensure proper certificate validation.

SEE ALSO
wssshd(1), wsssh(1), wsscp(1)

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

COPYRIGHT
Copyright © 2024 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