Getting started
xPort comes in two flavors, and the CLI is the same binary for both:
| Hosted (xPort Cloud) | Self-hosted | |
|---|---|---|
| Relay & edge | Operated by xPort (*.xport.sh paid, *.xport.free anonymous/free) |
Your server: relay + optional gateway |
| Accounts & dashboard | app.xport.dev — xport login |
Optional — your own account server via OAuth introspection |
| Names | Random (anonymous) or short custom names (logged-in) | Any valid name, no limits |
| Custom domains (BYOD) | Pro/Team, verified in the dashboard | Supported if you run the account server + cert manager |
| Branding | Account-driven (Pro/Team) | Local via share.branding.* in config.yaml |
Install the CLI
Section titled “Install the CLI”curl -fsSL https://releases.xport.dev/install.sh | shThe installer verifies the download against the signed release checksums
and also installs xport-mcp. If Claude Code, Kimi Code or Codex is
present, it offers to install the agent skill into the
matching skill directory.
Build from source
Section titled “Build from source”Requirements: Go 1.27 or later
git clone https://github.com/xport-dev/xport-cli.gitcd xport-cligo build -o xport ./cmd/xport./xport --help./xport infoHosted quick start
Section titled “Hosted quick start”xport login # browser OAuth, once per machinexport 3000 # https://<name>.xport.sh → localhost:3000No account? Anonymous shares work too — you get a random name on the free domain:
xport ./file.zipecho "$TOKEN" | xport --secret --once# → https://<20-char-random>.xport.freePaid plans serve from *.xport.sh instead — short names, fixed
subdomains, and custom domains (BYOD).
Self-hosting quick start
Section titled “Self-hosting quick start”-
Build and run the relay:
Terminal window git clone https://github.com/xport-dev/xport-relay.gitcd xport-relaygo build -o relay ./cmd/relay./relay -
Point the CLI at it (
relay.urlin config.yaml orXPORT_RELAY_URL):relay:url: "http://localhost:8080" -
Optionally put the gateway in front for wildcard TLS termination, and enable
auth.mode: oauthwith your own introspection endpoint for per-user names and accounts — seexport login— Self-hosting.
Configuration
Section titled “Configuration”Copy the example configuration and adjust it to your needs:
mkdir -p ~/.config/xportcp config.example.yaml ~/.config/xport/config.yamlSee Configuration file for all options.
Every option can also be set via an environment variable, e.g.
XPORT_RELAY_URL or XPORT_UPDATE_FEED_URL.

