# TG WS Proxy для Docker

## Установка из исходников

Вводите команды последовательно, одну за другой:

```bash
# Скачиваем репозиторий
git clone https://github.com/Flowseal/tg-ws-proxy.git

# Переходим в папку с проектом
cd tg-ws-proxy

# Собираем образ
docker build -t tg-ws-proxy .

# Запускаем контейнер
docker run -d \
  --name tg-ws-proxy \
  --restart=always \
  -p 1443:1443 \
  tg-ws-proxy:latest

# Получаем ссылку для подключения
docker logs tg-ws-proxy 2>&1 | grep 'tg://proxy'
```

После выполнения последней команды вы увидите ссылку вида:

```text
tg://proxy?server=172.17.0.2&port=1443&secret=dd68f127db1d...
```

## Настройка параметров

Все настройки задаются переменными окружения при запуске контейнера:

| Переменная              | Описание                          | По умолчанию                          |
| ----------------------- | --------------------------------- | ------------------------------------- |
| `TG_WS_PROXY_HOST`      | `Адрес для приёма подключений`    | `0.0.0.0`                             |
| `TG_WS_PROXY_PORT`      | `Порт внутри контейнера`          | `1443`                                |
| `TG_WS_PROXY_SECRET`    | `Секретный ключ`                  | `random`                              |
| `TG_WS_PROXY_DC_IPS`    | `Пары «номер DC:IP» через пробел` | `2:149.154.167.220 4:149.154.167.220` |
| `TG_WS_PROXY_CF_WORKER` | `Домен Cloudflare Worker`         | `None`                                |

Пример с ручным указанием секрета:

```bash
docker run -d \
  --name tg-ws-proxy \
  --restart=always \
  -p 1443:1443 \
  -e TG_WS_PROXY_SECRET="ваш_секрет" \
  tg-ws-proxy:latest
```

Для генерации секрета можно использовать:

 ```bash
openssl rand -hex 16  
```

## Настройка Telegram Desktop

1. Telegram → **Настройки** → **Продвинутые настройки** → **Тип подключения** → **Прокси**
2. Добавьте прокси:
   - **Тип:** MTProto
   - **Сервер:** `127.0.0.1` (или переопределенный вами)
   - **Порт:** `1443` (или переопределенный вами)
   - **Secret:** из настроек или логов
