
# Именованные туннели

По умолчанию Termbridge использует быстрые туннели Quick Tunnels без учетной записи Cloudflare (`trycloudflare.com`). Они удобны, но при интенсивном использовании могут действовать ограничения частоты запросов.

Если вы часто используете Termbridge, настройте именованный туннель с учетной записью Cloudflare.

## Зачем нужен именованный туннель?

- **Нет ограничений частоты запросов**: при интенсивном использовании Quick Tunnels могут возвращать ошибки 429
- **Стабильный URL**: получите постоянный поддомен вместо случайных строк
- **Собственный домен**: используйте собственный домен, например `term.example.com`
- **Повышенная надежность**: именованные туннели стабильнее при длительных сеансах

## Настройка

### 1. Создайте учетную запись Cloudflare

Зарегистрируйтесь на [cloudflare.com](https://cloudflare.com), если у вас еще нет учетной записи.

### 2. Создайте туннель в Zero Trust

1. Перейдите на [Cloudflare Zero Trust](https://one.dash.cloudflare.com/)
2. Перейдите в раздел **Networks** → **Tunnels**
3. Нажмите **Create a tunnel**
4. Выберите **Cloudflared** в качестве коннектора
5. Назовите туннель (например, e.g., `termbridge`)
6. Скопируйте токен туннеля

### 3. Добавьте общедоступное имя узла

1. В настройках туннеля перейдите в раздел **Public Hostname**
2. Добавьте имя узла, указывающее на `http://localhost:8080` (или выбранный вами порт)
3. Используйте поддомен, например `term.example.com`

### 4. Запустите Termbridge с токеном

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

Или используйте переменные окружения:

```bash
export TERMBRIDGE_TUNNEL_TOKEN=<TOKEN>
export TERMBRIDGE_TUNNEL_URL=https://term.example.com

termbridge --port 8080
```

> **Примечание**
> Для именованных туннелей требуется флаг `--port`, так как имя узла настроено для указания на определенный порт.


## Параметры конфигурации

| Флаг | Переменная окружения | Описание |
|------|---------------------|-------------|
| `--port <port>` | - | Локальный порт (требуется для именованных туннелей) |
| `--tunnel-token <token>` | `TERMBRIDGE_TUNNEL_TOKEN` | Токен туннеля |
| `--tunnel-url <url>` | `TERMBRIDGE_TUNNEL_URL` | Общедоступное имя узла URL |

## Полное отключение туннеля

Если у вас есть собственный обратный прокси или общедоступный адрес URL:

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

Или:

```bash
export TERMBRIDGE_TUNNEL=none
export TERMBRIDGE_PUBLIC_URL=https://your-server.com

termbridge
```

Termbridge пропустит запуск туннеля и будет использовать предоставленный вами URL для кода QR.

## Устранение неполадок

### «429 Too Many Requests»

Это означает, что частота запросов через Quick Tunnels ограничена. Решения:

1. Подождите несколько минут и повторите попытку
2. Завершите все зависшие процессы `cloudflared`: `pkill cloudflared`
3. Перейдите на именованный туннель (рекомендуется)

### Туннель запускается, но URL не работает

- Убедитесь, что имя узла в Cloudflare совпадает с `--tunnel-url`
- Проверьте, что порт в Cloudflare совпадает с `--port`
- Убедитесь, что cloudflared обновлен: `cloudflared update`

### Не удается подключиться к именованному туннелю

- Убедитесь, что токен указан правильно
- Проверьте Cloudflare Zero Trust на наличие ошибок
- Попробуйте запустить `cloudflared tunnel run <TOKEN>` напрямую, чтобы увидеть сообщения об ошибках
