VS Code and Cursor over SSH
VS Code's and Cursor's Remote-SSH extensions open a folder in a sandbox as if it were local. froog ssh-config adds your sandboxes to ~/.ssh/config as froog-NAME:
$ froog ssh-config # all your sandboxes; or name some: froog ssh-config my-box
$ ssh froog-my-box # plain ssh, scp, rsync and git work too
In VS Code or Cursor, run Remote-SSH: Connect to Host, pick froog-my-box, and open /home/user/app (or any folder). SSH uses your own key, the one froog login registered (see froog keys list).
The entry keeps working across starts, although a stopped sandbox can come back with a new address and port. It doesn't hold an address: ProxyCommand froog ssh-proxy %n asks the API for the sandbox's current address at each connection, starts the sandbox first if it's stopped (billed like any start, --no-start writes entries that fail instead), records its host key in froog's own known-hosts file, and carries the SSH connection. The block froog writes, at the top of the file between # BEGIN froog and # END froog (run it again to update it):
# BEGIN froog (written by `froog ssh-config`; edits inside are replaced)
Host froog-my-box froog-api froog-*
User user
ProxyCommand "/usr/local/bin/froog" ssh-proxy %n
UserKnownHostsFile "/home/you/.config/froog/known_hosts"
StrictHostKeyChecking yes
ServerAliveInterval 30
# END froog
The froog-* pattern covers sandboxes you create later. Editors only list the names on that line, so run froog ssh-config again after creating one. --print prints the block instead of writing it, --file PATH writes another file, and --remove takes the block out.
- Auto-stop counts from the start, not from activity. A sandbox stops its timer's length after it starts (1 hour by default), even with an editor connected.
froog extend my-box --hours 8moves it to 8 hours from now, andfroog extend my-box --no-auto-stopremoves it. - froog's known-hosts file is
~/.config/froog/known_hosts($XDG_CONFIG_HOME/froogif set). On Windows it is%APPDATA%\froog\known_hosts. - Ports the editor forwards for you work like
froog forward. For a URL someone else can open, usefroog host.