> ## Documentation Index
> Fetch the complete documentation index at: https://docs.boxd.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# Proxies

> Every machine gets an HTTPS proxy with its own domain. Create subdomain proxies for additional ports.

## How proxies work

A proxy is an HTTPS endpoint paired with a domain. It terminates TLS and forwards traffic to a port on your machine. No certificate setup required.

Every machine automatically gets a **default proxy** at `name.boxd.sh`, forwarding to port 8000:

```
https://myapp.boxd.sh  ->  your machine, port 8000 (default)
```

You can create additional **subdomain proxies**, each with its own domain, pointing to different ports:

```
https://api.myapp.boxd.sh  ->  your machine, port 3001
https://ws.myapp.boxd.sh   ->  your machine, port 8080
```

DNS records are created automatically when the machine boots. Records have a 60-second TTL.

## View your proxies

```bash theme={"theme":"github-dark"}
boxd machine proxy list
```

Filter by machine:

```bash theme={"theme":"github-dark"}
boxd machine proxy list --vm myapp
```

Each proxy shows its paired domain:

```json theme={"theme":"github-dark"}
[
  {
    "name": "default",
    "vm": "myapp",
    "domain": "myapp.boxd.sh",
    "port": 8000
  },
  {
    "name": "api",
    "vm": "myapp",
    "domain": "api.myapp.boxd.sh",
    "port": 3001
  }
]
```

## Create a subdomain proxy

Each subdomain proxy gets its own domain at `subdomain.vmname.boxd.sh`:

```bash theme={"theme":"github-dark"}
boxd machine proxy add api --vm myapp --port 3001
```

This creates the domain `api.myapp.boxd.sh` and forwards HTTPS traffic to port 3001 on your machine.

From inside the VM:

```bash theme={"theme":"github-dark"}
boxd machine proxy add api --port=3001
```

## Remove a proxy

```bash theme={"theme":"github-dark"}
boxd machine proxy remove api --vm myapp
```

This removes the proxy and its associated subdomain. Alias: `proxy rm`.

## Change the default port

```bash theme={"theme":"github-dark"}
boxd machine proxy set-port --vm myapp --port 3000
```

Or from inside the VM:

```bash theme={"theme":"github-dark"}
boxd machine proxy set-port --port=3000
```

## Non-HTTP services

Proxies route HTTPS only. To expose a database, an SSH daemon, a game server, or any other raw protocol, expose a raw TCP/UDP port instead — see [Port forwarding](/how-it-works/port-forwarding).

## Custom domains

Custom domain binding is not yet available. Contact the Azin team if you need a custom domain mapped to your machine.
