mirror of
https://github.com/by-sonic/tglock.git
synced 2026-11-05 07:11:56 +03:00
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>
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
# Свой домен на 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, как и провайдер.
|
||||
@@ -17,6 +17,8 @@
|
||||
|
||||
Если Telegram работает — **ничего настраивать не надо.** Поле Worker в настройках существует для случая, когда обычные маршруты умерли.
|
||||
|
||||
Если есть свой домен, проще [CF-прокси](CF_PROXY.md): тот же маршрут через Cloudflare, но без скрипта и без лимитов Worker'ов.
|
||||
|
||||
Обрати внимание: Worker не спасает, если Telegram недоступен *с самого воркера*. Он помогает, когда домены Telegram заблокированы **у тебя**, а датацентры Cloudflare до них дотягиваются.
|
||||
|
||||
## Что понадобится
|
||||
|
||||
Reference in New Issue
Block a user