owenthereal / upterm

Instant Terminal Sharing
https://upterm.dev
Apache License 2.0
809 stars 53 forks source link

"Waiting for upterm to be ready" failed with heroku server deploy #273

Open codebytere opened 2 weeks ago

codebytere commented 2 weeks ago

I'm using the stock deploy to Heroku as well as your Actions fork:

    - name: Setup upterm session
      uses: owenthereal/action-upterm@v1
      with:
        limit-access-to-actor: true
        upterm-server: wss://electron-upterm-5a8dedcc6c26.herokuapp.com

The deploy was successful and i don't see any initial errors, yet I can't seem to connect in via actions - I see:

Auto-generating ~/.ssh/known_hosts by attempting connection to uptermd.upterm.dev
Adding actor "codebytere" to allowed users.
Creating a new session. Connecting to upterm server wss://electron-upterm-5a8dedcc6c26.herokuapp.com
Created new session successfully
Waiting for upterm to be ready...
Waiting for upterm to be ready...
Waiting for upterm to be ready...
Waiting for upterm to be ready...
Waiting for upterm to be ready...
Waiting for upterm to be ready...
Waiting for upterm to be ready...
Waiting for upterm to be ready...
Waiting for upterm to be ready...
Waiting for upterm to be ready...
Error: Failed to start upterm

Sample Actions Failure

Running heroku logs --tail --app <name> shows me:

sg="dialing sshproxy sshd" app=uptermd com=ws-sshproxy-dialer host="runner:" network=mem network-opt="[]" node-addr="0.0.0.0:2222" ssh-addr="[::]:2222" sshproxy-addr="[::]:2222" ws-addr="[::]:52765"
2024-06-18T07:57:12.508935+00:00 app[web.1]: time="2024-06-18T07:57:12Z" level=info msg="dialing sshproxy sshd" app=uptermd com=ws-sshproxy-dialer host="runner:" network=mem network-opt="[]" node-addr="0.0.0.0:2222" ssh-addr="[::]:2222" sshproxy-addr="[::]:2222" ws-addr="[::]:52765"
2024-06-18T07:57:13.703239+00:00 heroku[router]: at=info method=GET path="/" host=electron-upterm-5a8dedcc6c26.herokuapp.com request_id=7e9f8227-fdc0-454b-b5e6-451f011bb129 fwd="13.105.117.187" dyno=web.1 connect=0ms service=3001ms status=101 bytes=129 protocol=https
2024-06-18T07:57:15.510133+00:00 heroku[router]: at=info method=GET path="/" host=electron-upterm-5a8dedcc6c26.herokuapp.com request_id=54656208-47f8-4859-be23-43a24242909e fwd="13.105.117.186" dyno=web.1 connect=0ms service=3001ms status=101 bytes=129 protocol=https

during the failed connection attempt above.

Running `` locally does give me a connection string:

SSH Session:            ssh -o ProxyCommand='upterm proxy wss://TOKEN@electron-upterm-5a8dedcc6c26.herokuapp.com' TOKEN@electron-upterm-5a8dedcc6c26.herokuapp.com:443

But then connecting fails:

Error: websocket: close 1006 (abnormal closure): unexpected EOF
Usage:
  upterm proxy [flags]

Examples:
  # Host shares a session running $SHELL over WebSocket:
  upterm host --server wss://uptermd.upterm.dev -- YOUR_COMMAND

  # Client connects to the host session via WebSocket:
  ssh -o ProxyCommand='upterm proxy wss://TOKEN@uptermd.upterm.dev' TOKEN:uptermd.uptermd.dev:443

Flags:
  -h, --help   help for proxy

FATA[0003] websocket: close 1006 (abnormal closure): unexpected EOF
Connection closed by UNKNOWN port 65535
src on git:ef2a363e0fa7a ❯ ssh -o ProxyCommand='upterm proxy wss://TOKEN@electron-upterm-5a8dedcc6c26.herokuapp.com' TOKEN@electron-upterm-5a8dedcc6c26.herokuapp.com:443
Error: websocket: close 1006 (abnormal closure): unexpected EOF
Usage:
  upterm proxy [flags]

Examples:
  # Host shares a session running $SHELL over WebSocket:
  upterm host --server wss://uptermd.upterm.dev -- YOUR_COMMAND

  # Client connects to the host session via WebSocket:
  ssh -o ProxyCommand='upterm proxy wss://TOKEN@uptermd.upterm.dev' TOKEN:uptermd.uptermd.dev:443

Flags:
  -h, --help   help for proxy

FATA[0003] websocket: close 1006 (abnormal closure): unexpected EOF
Connection closed by UNKNOWN port 65535

Is there a step I'm potentially missing?