# Public namespace

> A subdomain where anyone can claim ephemeral public URLs without a token.

A public namespace lets a server operator allow token-less, session-scoped public routes under one reserved label.

For example, a server for `example.com` could enable the namespace `try`, producing hosts like:

```txt
https://random.try.example.com
```

## Client usage

Generate a random name locally and claim it through the public namespace:

```bash
routeup serve --random --port 8080 --server https://edge.example.com --expose
```

Or request a specific single-label name if the server allows it:

```bash
routeup serve demo --port 8080 --server https://edge.example.com --expose
```

## Operator behavior

The public namespace is disabled by default on self-hosted servers. Enable it with `--public-namespace` when running `routeup server`.

The hosted `routeup.dev` server uses `try` for token-less names, so `--random`
grants two-word URLs like `https://happy-fox.try.routeup.dev`. Reusable named
URLs under `*.routeup.dev` still require a token and are reachable only while a
tunnel is connected.
