Skip to content

xport start

If you find yourself typing the same xport 3000 --name demo every morning, give the endpoint a permanent home in your config:

~/.config/xport/config.yaml
endpoints:
demo:
port: 3000 # https://demo.xport.sh → localhost:3000
api:
port: 8080
policy_file: ~/policies/api.yml
db:
mode: tcp # tcp://… for a raw TCP service
target: "localhost:5432"
Terminal window
xport start demo # one endpoint
xport start demo api # several
xport start --all # every definition
____ _
__ _| _ \ ___ _ __| |_
\ \/ / |_) / _ \| '__| __|
> <| __/ (_) | | | |_
/_/\_\_| \___/|_| \__|
Endpoints: demo, api
NAME URL TARGET
demo https://demo.xport.sh http://localhost:3000
api https://q2mw9.xport.sh http://localhost:8080
Group: start:demo+api — stop all with: xport stop --group start:demo+api
Press Ctrl-C to stop all.
  • The endpoint name becomes the session name — demo serves demo.xport.sh (custom names need an account on hosted relays, same as --name).
  • mode: tcp relays raw TCP and requires an explicit target: "host:port" (see xport tcp).
  • Each endpoint may carry its own policy_file; --policy-file on the command line still wins for single shares.
  • All persistent flags apply (--expires, --detach, --json, …) and the started set is a registry group: xport stop --group start:demo stops everything at once.
  • For whole project stacks with preflight checks, use project profiles — xport start is the lightweight single-service counterpart.