ZaStoGram_desktop/Telegram/SourceFiles/mtproto/session/private
Repository files (latest commit first)
Filename Latest commit message Latest commit date
loop-uh 70a70e809d
Some checks failed
Desktop source guards / guards (push) Has been cancelled
WSS: прямой TCP — последняя ступень с охраной, перед фронтами без учёта паузы
Прямой TCP убрали из лестницы в сентябре (f74d97f0df): без охраны он
держал DC в «подключении» минутами. Но там, где закрыт только Cloudflare,
а Telegram открыт, он единственный путь. Теперь WssOfficialRoute снова
отдаёт его после туннеля — WssRoute::direct, — но под охраной:

- свой ключ здоровья direct-dc<N> по сети (metered/unmetered), пауза
  после первой же неудачи 2 → 4 → 8 → 16 → 30 мин, хранится в tdata;
- фабрика сокетов строит WssDirectStepSocket: обычный TcpSocket внутри и
  вердикт один раз — тайм-аут бюджета (нет TCP, нет ответа, заморозка),
  ошибка или закрытие раньше 32 КБ — неудача; 32 КБ ответа снимают
  историю пауз. Неудачи IPv6-попыток не считаются: без IPv6 в сети они
  падают всегда и ставили бы на паузу рабочий IPv4;
- бюджет подключения прямого шага не меньше 4 с: первая секунда ставила
  бы на паузу медленный, но рабочий путь.

Лестница: релей → фронты → туннель → прямой TCP (если не на паузе) →
фронты без учёта паузы; DC203 так же. Тест test_proxy_wss_default это
закрепляет; блок __main__ перенесён в конец файла — раньше запуск
скриптом, как в CI, не выполнял тест DC203. Та же схема в Android
(c7575323d) и ZapretGUI (605d76f3).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 21:48:41 +03:00
..
auth.cpp Держать файловые сессии тёплыми и не использовать забытый ключ 2026-10-01 17:57:18 +03:00
auth_factory.cpp Fix MTProto session compile contracts 2026-07-08 20:51:55 +03:00
auth_factory.h продолжение 2026-07-08 15:39:38 +03:00
connection.cpp WSS: прямой TCP — последняя ступень с охраной, перед фронтами без учёта паузы 2026-10-16 21:48:41 +03:00
connection_factory.cpp продолжение 2026-07-08 15:39:38 +03:00
connection_factory.h продолжение 2026-07-08 15:39:38 +03:00
message_handler.cpp глубокая перекройка монолитных god файлов 2026-07-08 15:39:27 +03:00
message_handler.h fix 2026-07-08 16:28:12 +03:00
receive.cpp Record that a server told us the time, not that it moved the clock 2026-07-26 14:08:52 +03:00
send.cpp Pace MTProxy dials instead of steering them 2026-07-25 16:58:05 +03:00
session_private.cpp WSS: прямой TCP — последняя ступень с охраной, перед фронтами без учёта паузы 2026-10-16 21:48:41 +03:00
session_private.h Держать файловые сессии тёплыми и не использовать забытый ключ 2026-10-01 17:57:18 +03:00
timings.h fix 2026-07-08 16:28:12 +03:00
transport.cpp Качать файлы через туннель частями по 8 КБ на коротких соединениях 2026-09-25 15:01:01 +03:00
transport.h Гнать фронт наперегонки с релеем, пока релей не ответил 2026-10-02 21:27:00 +03:00