Add expose_port previews with a Preview tab; leave setup to AGENTS.md
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
package tailscale
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"os/exec"
|
||||
"strconv"
|
||||
"strings"
|
||||
)
|
||||
|
||||
const cli = "/Applications/Tailscale.app/Contents/MacOS/Tailscale"
|
||||
|
||||
func Serve(ctx context.Context, port int) error {
|
||||
return run(ctx, "serve", "--bg", "--https="+strconv.Itoa(port), "http://127.0.0.1:"+strconv.Itoa(port))
|
||||
}
|
||||
|
||||
func Off(ctx context.Context, port int) error {
|
||||
return run(ctx, "serve", "--https="+strconv.Itoa(port), "off")
|
||||
}
|
||||
|
||||
func run(ctx context.Context, args ...string) error {
|
||||
out, err := exec.CommandContext(ctx, cli, args...).CombinedOutput()
|
||||
if err != nil {
|
||||
return fmt.Errorf("tailscale %s: %w: %s", strings.Join(args, " "), err, strings.TrimSpace(string(out)))
|
||||
}
|
||||
return nil
|
||||
}
|
||||
Reference in New Issue
Block a user