Files
tglock/docs/CF_PROXY.md
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

3.0 KiB

Свой домен на Cloudflare (CF-прокси)

Ещё один резервный маршрут на случай, когда провайдер режет все обычные адреса Telegram. В отличие от Cloudflare Worker здесь нет скрипта и лимитов Worker'ов: Cloudflare сам проксирует WebSocket до Telegram по DNS-записям вашего домена. Нужен только домен (подойдёт любой, обычно это 150–300 ₽ в год).

Схема та же, что у CF-прокси в Flowseal/tg-ws-proxy (идея — Nekogram/WSProxy):

Telegram → TGLock → wss://kws2.ваш-домен/apiws → Cloudflare → 149.154.167.51 (DC2)

Настройка

  1. Добавьте домен в Cloudflare: купите его там или смените NS-серверы у регистратора (инструкция Cloudflare).

  2. SSL/TLS → Overview — режим Flexible. До Cloudflare соединение остаётся HTTPS с проверкой сертификата, а от Cloudflare до Telegram идёт по порту 80: у адресов Telegram нет сертификата на ваш домен.

  3. DNS → Records — A-записи с включённым проксированием (оранжевое облако):

    Name IPv4
    kws1 149.154.175.50
    kws2 149.154.167.51
    kws3 149.154.175.100
    kws4 149.154.167.91
    kws5 149.154.171.5
    kws203 91.105.192.100
  4. Укажите в TGLock только домен, без kws и без https://:

    • в приложении: Настройки → Свой домен на Cloudflare → example.com;
    • в CLI: tglock-cli --cf-proxy example.com или cf_proxy = ["example.com"] в tglock.toml.

    В журнале появится строка CF-прокси в списке маршрутов: kws1.example.com …. Если строка начинается с «не похож на имя домена» — домен вписан со схемой или со слэшем.

Что учесть

  • Если у провайдера заблокирована сама сеть Cloudflare, этот маршрут не поможет, как и Worker.
  • Маршрут участвует в общем переборе вместе с Worker'ом: его проверка начинается сразу после основного адреса Telegram, успешный запоминается.
  • Шифрование Telegram не меняется: Cloudflare видит только зашифрованный поток MTProto, как и провайдер.