In a continous integration job, download the agent, chmod it and run it.
     curl https://HOSTPORT/docs/agent > agent
     ./agent wss://HOST:PORT/agent/ID
    chmod 755 agent
    
    Above, HOST:PORT is the hostname:port of the converge server and ID is a unique id for the job. This should not conflict with other ids. This connects the agent to the converge server. Clients can now connect to converge to establish a connection to the CI job through converge.
    curl https://HOST:PORT/docs/wsproxy > wsproxy
    chmod 755 wsproxy
    
    This is a command that can be used as a proxy command for SSH which performs the connection to the remote server.
Next step is to run a local SSH of SFTP client:
    ssh -oProxyCommand="wsproxy https://HOST:PORT/client/ID" -p 10000 abc@localhost
    sftp -oProxyCommand="wsproxy https://HOST:PORT/client/ID" -oPort 10000 abc@localhost
    
    
        abc is a fixed user defined by converge. It has a very exciting password.
    
Local clients can connect using regular ssh and sftp commands through a tunnel that translates a local TCP port to a websocket connection in converge. First step is to download the tcptows program (see below):
    # for HTTP hosted server
    curl http://HOST:PORT/docs/tcptows > tcptows
    chmod 755 tcptows
    ./tcptows 10000 ws://HOST:PORT/client/ID
    # for HTTPS hosted server
    curl https://HOST:PORT/docs/tcptows > tcptows
    chmod 755 tcptows
    ./tcptows 10000 wss://HOST:PORT/client/ID
    
    This runs a local client that allows SSH to port 10000 and connects to converge using a websocket connection.
Next step is to run a local SSH of SFTP client:
    ssh -p 10000 abc@localhost
    sftp -oPort 10000 abc@localhost
    
    
        abc is a fixed user defined by converge. It has a very exciting password.