Today's quiz is to deploy a server-rendered hello world app (python3 -mhttp.server fine for these purposes, though I used Go below), publically visible, on your cloud of choice. On your marks, get set, GO!

$ ssh exe.dev new --name mr-rogers
$ ssh exe.dev share set-public mr-rogers
$ ssh mr-rogers.exe.xyz
# on that machine:
$ cat > main.go
package main

import (
        "fmt"
        "net/http"
)

func main() {
        http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
                fmt.Fprintln(w, "hello world")
        })
        http.ListenAndServe(":8000", nil)
}
^D
$ go run main.go  # maybe in a tmux

# back on your laptop, open https://mr-rogers.exe.xyz/

At exe.dev, our goal is to make sharing a web app that you built as easy as forwarding an e-mail. You saw the command-line approach above; there's an equivalent web-based flow as well.

If you don't want to share with the whole world, but only some friends, the share command also takes e-mail addresses, and your users can log into your site.

If you use exe.dev on a team, the sharing hierarchy is richer in that you can also share SSH access to your VM with a team member. The full hierarchy of sharing is:

Individual Accounts

Team Accounts

Administrative
(e.g., removing the VM)

Only owner

Owner, and, indirectly, team administrators

SSH access
(and agent access)

Only owner

Owner, or can be shared with team

Single web port

Can be shared publicly, or with individual e-mail addresses.

Can be shared publicly, with a team, or with individual e-mail addresses.