Files
tglock/tglock.example.toml
T
Никита Sonic 1d96609563 feat: запасной MTProto TCP и CF-прокси через свой домен (по образцу Flowseal/tg-ws-proxy); 2.0.0-beta.17 (#73)
* feat: native MTProto TCP fallback and CF-proxy domains, after Flowseal/tg-ws-proxy; 2.0.0-beta.17

Two routes Flowseal/tg-ws-proxy has and TGLock lacked.

Native TCP fallback. When every WebSocket route for a DC fails, TGLock now
tries plain obfuscated2 MTProto to the DC's primary address, which the
CDN203 route already used. Measured from a Russian ISP: TLS to .51, .91,
.50, .100 and .5 was cut, while native TCP to each answered req_pq_multi,
for main and media DCs alike. 149.154.167.220 is a WebSocket frontend only
and gets no TCP route. TCP opens before Telegram answers, so it is raced
only after all other routes failed; it can never displace a slower working
WebSocket. Raw TCP stays restricted to the pinned Telegram addresses.

CF proxy. A user's own Cloudflare domain with kws1..kws5/kws203 records
pointing at Telegram proxies the WebSocket without a Worker or its limits
(--cf-proxy, cf_proxy in tglock.toml, a GUI field; docs/CF_PROXY.md).

GUI settings now deserialize with serde(default): a file written before a
field existed used to fail to parse and silently reset to defaults.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* style: cargo fmt

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: babin <Thartewerner536e@engineer.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 18:24:38 +00:00

47 lines
2.6 KiB
TOML

# Настройки tglock-cli.
#
# Положите этот файл рядом с бинарём под именем tglock.toml — он подхватится
# сам. Либо укажите путь явно: tglock-cli --config /etc/tglock.toml
#
# Все поля необязательны. Флаги командной строки перекрывают то, что здесь.
# Адрес и порт локального прокси.
# По умолчанию 127.0.0.1:1080 — доступ только с этого компьютера.
# bind = "127.0.0.1"
# port = 1080
# Слушать 0.0.0.0, чтобы подключались другие устройства в сети.
# Нельзя задавать одновременно с bind.
# lan = true
# Секрет прокси — вторая половина ссылки tg://proxy.
#
# Для сервиса его нужно закрепить, иначе после перезапуска секрет будет новым и
# все настроенные клиенты перестанут подключаться. Достаточно один раз
# запустить tglock-cli, скопировать секрет из напечатанной ссылки и вписать
# сюда. Принимается и с префиксом dd, и без него.
#
# Файл с секретом внутри держите с правами 600: это доступ к вашему прокси.
# secret = "dd00112233445566778899aabbccddeeff"
# Либо хранить секрет в отдельном файле — он создастся при первом запуске.
# Игнорируется, если задан secret выше.
# secret_file = "secret"
# Свои Cloudflare Worker'ы как резервный маршрут — на случай, когда у
# провайдера легли все обычные маршруты. Установка описана в
# docs/CLOUDFLARE_WORKER.md
# worker = ["my-name.workers.dev"]
# Свой домен на Cloudflare (CF-прокси): записи kws1…kws5 и kws203 указывают
# на адреса Telegram, Worker не нужен. Настройка описана в docs/CF_PROXY.md
# cf_proxy = ["example.com"]
# Пропускать и не-Telegram адреса.
# На loopback это включено само. На сетевом адресе означает открытый
# SOCKS5-прокси для всего интернета — включайте осознанно.
# allow_direct = false
# Печатать только ошибки.
# quiet = false