Sharing

You can share either a web app running on your VM or the VM itself.

Choose an access level

  • Web access lets someone open the VM's private HTTPS proxy after logging into exe.dev. It does not give them a shell.
  • Root access includes Web access plus SSH, the browser Terminal, and Shelley. A Root collaborator can read, change, or delete anything inside the VM, so only grant it to someone you trust. It does not transfer ownership of the VM.

Root access requires an existing exe.dev account. Unlike a Web share, a Root share does not invite an unregistered email address.

Share with a person

Grant Web access and send an email invitation if needed:

share add <vm> <email>

Grant Root access to an existing exe.dev user, or upgrade their Web access:

share add <vm> <email> --root

For example:

share add mybox collaborator@example.com --root

A team's sharing controls may restrict grants to people outside the team. When you share a VM, recipients can see your email address.

Share with your team

Share only the private web server with everyone on your team:

share add <vm> team

Grant the whole team Root access:

share add <vm> team --root

Team shares follow current membership: new members gain access and former members lose it. See Team VMs for details.

Create a link that grants Web access after the recipient registers and logs in:

share add-link <vm>

Revoke a link with share remove-link <vm> <token>. Revoking the link prevents new people from using it, but does not remove people who already accepted it. Remove those people individually with share remove <vm> <email>.

Share links grant Web access only, never Root access.

Make the web server public

To let anyone access the web server without logging in:

share set-public <vm>

To choose a different port first, run share port <vm> <port>. Return the web server to private access with share set-private <vm>.

Change or remove access

Downgrade a person's Root access to Web access:

share remove <vm> <email> --root

Remove all of a person's access, including Root access:

share remove <vm> <email>

Revoke whole-team Root access with share remove <vm> team --root. Any separately configured team Web share remains. Remove that with share remove <vm> team.

Run share show <vm> to inspect the current settings.