mirror of
https://github.com/by-sonic/tglock.git
synced 2026-11-05 15:21:55 +03:00
1d96609563
* 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>
50 lines
3.0 KiB
Markdown
50 lines
3.0 KiB
Markdown
# Свой домен на Cloudflare (CF-прокси)
|
||
|
||
Ещё один резервный маршрут на случай, когда провайдер режет все обычные адреса
|
||
Telegram. В отличие от [Cloudflare Worker](CLOUDFLARE_WORKER.md) здесь нет
|
||
скрипта и лимитов Worker'ов: Cloudflare сам проксирует WebSocket до Telegram
|
||
по DNS-записям вашего домена. Нужен только домен (подойдёт любой, обычно это
|
||
150–300 ₽ в год).
|
||
|
||
Схема та же, что у CF-прокси в [Flowseal/tg-ws-proxy](https://github.com/Flowseal/tg-ws-proxy/blob/main/docs/RU/CfProxy.md)
|
||
(идея — [Nekogram/WSProxy](https://github.com/Nekogram/WSProxy)):
|
||
|
||
```
|
||
Telegram → TGLock → wss://kws2.ваш-домен/apiws → Cloudflare → 149.154.167.51 (DC2)
|
||
```
|
||
|
||
## Настройка
|
||
|
||
1. Добавьте домен в Cloudflare: купите его там или смените NS-серверы у
|
||
регистратора ([инструкция Cloudflare](https://developers.cloudflare.com/dns/zone-setups/full-setup/setup/)).
|
||
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, как и провайдер.
|