
# Справочник за CLI

## Основна употреба

Просто изпълнете командата — не са нужни аргументи:

```bash
npx termbridge
```

Това стартира всичко: локален сървър, сесия tmux и тунела Cloudflare по подразбиране.

Стартирането на `termbridge` без подкоманда е равностойно на `termbridge start`.

Можете също да изпълните `termbridge start` изрично с всички флагове:

```bash
termbridge start --port 8080 --proxy 5173 --session dev --kill-on-exit --no-qr --tunnel cloudflare
```

## Флагове

| Флаг | Предназначение | По подразбиране |
|------|--------------|---------|
| `--port <port>` | Използване на конкретен порт вместо случаен | Случаен |
| `--proxy <port>` | Проксиране на локален сървър за разработка (активира изгледите Terminal/Preview) | - |
| `--session <name>` | Задаване на име за сесията tmux | Автоматично генерирано |
| `--kill-on-exit` | Почистване на сесиите tmux при излизане на Termbridge | Изключено |
| `--no-qr` | Да не се отпечатва кодът QR (полезно за скриптове) | Изключено |
| `--no-tunnel` | Изключване на тунела (изисква `--public-url`) | Изключено |
| `--public-url <url>` | Публичен URL при изключен тунел | - |
| `--tunnel <provider>` | Доставчик на тунела (`cloudflare` или `none`) | cloudflare |
| `--tunnel-token <token>` | Използване на токен за именуван Cloudflare Tunnel (изисква `--port`) | - |
| `--tunnel-url <url>` | Публичен URL за именувания тунел (задължителен с `--tunnel-token`) | - |
| `--backend <backend>` | Бекенд на терминала (`tmux` или `sandbox-daytona`) | tmux |
| `--sandbox-repo <url>` | Клониране на хранилището URL в sandbox Daytona | - |
| `--sandbox-branch <branch>` | Клон за извличане в sandbox | - |
| `--sandbox-path <path>` | Път до хранилището в sandbox | Извлича се от името на хранилището |
| `--sandbox-name <name>` | Име на sandbox | Случаен `termbridge-<hex>` |
| `--sandbox-preview-port <port>` | Порт за визуализация в sandbox | - |
| `--sandbox-public` | Създаване на публичен sandbox | Изключено (включено в директен режим) |
| `--sandbox-direct` | Стартиране на сървъра в sandbox Daytona (без тунел) | Изключено |
| `--dev-proxy-url <url>` | Препращане на трафика за визуализация към този URL вместо към `localhost:<proxy port>` (използва се от скриптовете за разработка) | - |
| `-h`, `--help` | Показване на помощен текст | - |

Всяка друга опция води до грешка с `unknown option: <flag>`. Флаг `--version` няма.

Флагът има предимство пред своята променлива на средата, с едно изключение: в момента `TERMBRIDGE_TUNNEL` отменя `--tunnel` и `--no-tunnel` ([#5](https://github.com/inline0/termbridge/issues/5)).

> **Забележка**
> Вграденото извеждане на `termbridge --help` все още показва флагове `--daytona-*` и `--backend tmux | daytona`. Тези имена се отхвърлят; използвайте флаговете `--sandbox-*` и `--backend sandbox-daytona` от таблицата по-горе ([#1](https://github.com/inline0/termbridge/issues/1)).

## Примери

### Свързване към съществуваща сесия tmux

Ако вече имате стартирана сесия tmux:

```bash
termbridge --session my-session
```

### Фиксиран порт и персонализирана сесия

```bash
termbridge --port 8080 --session codex
```

### Чисто излизане (без останали сесии)

```bash
termbridge --kill-on-exit
```

### Скриптове (без изход QR)

```bash
termbridge --no-qr
```

### Проксиране на сървър за разработка Vite

```bash
# Start your Vite app first
cd my-app && npm run dev  # runs on port 5173

# Then start Termbridge with proxy
termbridge --proxy 5173
```

Използвайте бутона **Views**, за да превключвате между Terminal и Preview. Preview зарежда приложението ви през проксито с поддръжка на HMR.

### Именуван тунел Cloudflare (базиран на токен)

Ако имате акаунт в Cloudflare и искате да избегнете ограниченията за честота на trycloudflare:

```bash
termbridge --port 8080 --tunnel-token <TOKEN> --tunnel-url https://term.example.com
```

### Изключване на тунела (използване на собствен публичен URL)

```bash
termbridge --no-tunnel --public-url https://example.com
```

## Променливи на средата

Termbridge чете променливите на средата от обвивката и от файл `.env` в директорията, от която го стартирате. Вече зададените в обвивката променливи имат предимство пред тези от файла `.env`.

### Основни настройки

| Променлива | Предназначение |
|----------|--------------|
| `TERMBRIDGE_SESSIONS=2` | Създаване на няколко сесии tmux при стартиране |
| `TERMBRIDGE_TMUX_CWD=/path` | Работна директория за новите сесии tmux |
| `TERMBRIDGE_PUBLIC_URL=https://example.com` | Публичен URL при изключен тунел |
| `TERMBRIDGE_TUNNEL=none` | Изключване на тунела |
| `TERMBRIDGE_TUNNEL_TOKEN=<token>` | Токен за именуван тунел (изисква `TERMBRIDGE_TUNNEL_URL`) |
| `TERMBRIDGE_TUNNEL_URL=https://term.example.com` | Публичен URL за именувания тунел |

### Разширени настройки

Daytona задава тези настройки за сървъра, който стартира вътре в sandbox. Можете да ги зададете и сами.

| Променлива | Предназначение |
|----------|--------------|
| `TERMBRIDGE_HOST=0.0.0.0` | Адрес, към който сървърът приема връзки (по подразбиране `127.0.0.1`). Отпечатаният локален URL винаги показва `127.0.0.1`. |
| `TERMBRIDGE_COOKIE_SAMESITE=lax` | Стойност `SameSite` на сесийната бисквитка: `lax`, `strict` или `none` (по подразбиране `Lax` или `None` в директен режим) |
| `TERMBRIDGE_SHARE_FILE=/path/share-url.txt` | Записване на споделения URL и в този файл |
| `TERMBRIDGE_HIDE_TERMINAL_SWITCHER=1` | Скриване на превключвателя на терминала в UI |
| `TERMBRIDGE_TMUX_PATH_PREFIX=/path/bin` | Добавяне на този текст в началото на `PATH` във всяка сесия tmux, към която се свързва или се стартира (въвежда се в сесията като команда `export`) Termbridge |

### Разработка

| Променлива | Предназначение |
|----------|--------------|
| `TERMBRIDGE_INSECURE_COOKIE=1` | Разрешаване на бисквитки HTTP (само за локална разработка) |
| `TERMBRIDGE_PROXY_PORT=5173` | Порт на проксито за скрипта dev:beam:proxy |
| `TERMBRIDGE_DEV_UI=http://127.0.0.1:5000` | Замяна на dev UI URL на Vite |
| `TERMBRIDGE_DEV_PORT=3000` | Замяна на порта на сървъра Termbridge при разработка (по подразбиране `8787`) |
| `TERMBRIDGE_DEV_SESSION=codex` | Име на сесия tmux за `dev:beam` (по подразбиране `codex`) |
| `TERMBRIDGE_SKIP_BUILD=1` | Пропускане на компилацията CLI в `dev:beam` |

### Пясъчник (Daytona)

| Променлива | Предназначение |
|----------|--------------|
| `TERMBRIDGE_BACKEND=sandbox-daytona` | Използване на бекенда за sandbox Daytona |
| `TERMBRIDGE_SANDBOX_DIRECT=true` | Стартиране на Termbridge вътре в sandbox |
| `TERMBRIDGE_SANDBOX_SERVER_PORT=8080` | Порт за сървъра в sandbox |
| `TERMBRIDGE_SANDBOX_AGENTS=claude-code,codex` | Автоматично инсталиране + синхронизиране на удостоверяването за агентите |
| `TERMBRIDGE_SANDBOX_AGENT_ENV=...` | Допълнителни променливи на средата за препращане |
| `TERMBRIDGE_SANDBOX_AGENT_AUTH_PATHS=...` | Локални файлове за удостоверяване, които да се синхронизират |

За пълната конфигурация на Daytona вижте [ръководството за Daytona](https://termbridge.inline0.dev/bg/docs/sandboxes/daytona).

## Спиране на Termbridge

Натиснете `Ctrl+C` в терминала, където работи Termbridge. Това:

- Затваря тунела (ако е активиран)
- Спира локалния сървър
- Оставя сесиите tmux активни (освен ако не сте използвали `--kill-on-exit`)

Сесиите tmux се запазват по подразбиране, за да можете да се свържете отново по-късно.
