ZaStoGram/TMessagesProj
Repository files (latest commit first)
Filename Latest commit message Latest commit date
loop-uh 12f2a119f7
Some checks failed
ZaStoGram source guards / guards (push) Failing after 29s
Build three ZaStoGram APKs / build (arm64-v8a, ZaStoGram-standalone-arm64-v8a, Arm64, arm64) (push) Failing after 1m51s
Build three ZaStoGram APKs / build (armeabi-v7a, ZaStoGram-standalone-armeabi-v7a, Armv7, armv7) (push) Failing after 1m57s
Build three ZaStoGram APKs / build (x86, ZaStoGram-standalone-x86, X86, x86) (push) Failing after 2m5s
Считать WEB-носитель одной общей трубой
Каждое соединение tgnet через WEB-прокси — отдельный поток на одном
носителе, у релея которого одна FIFO на направление. Медиа и выгрузки
забивали её, штатные таймеры tgnet (4–25 с и 5,5-секундная проверка
первого ответа MTProxy) срабатывали у всех соединений разом, а
переподключения ставили новые потоки в хвост той же очереди. Политика
повторяет десктоп (c8120a7a6d) и лежит в WebProxyFlow без Android-кода.

- Отдача: читатели сокетов только складывают байты в очередь потока
  (не больше 256 КиБ), кадры режет планировщик: сначала interactive,
  потом запросы download, потом upload по кругу кадрами по 64 КиБ; не
  больше 1 МиБ байт выгрузки без кредита релея, один upload-кадр после
  16 кадров других классов.
- Класс потока tgnet сообщает мосту сразу после connect() через JNI по
  локальному порту сокета; проверки прокси не трогаются.
- Приём: download-потоки держат долю общего кредита 2 МиБ
  (256 КиБ–1 МиБ) вместо окна 4 МиБ.
- Живость: соединение моста, молчащее дольше своего таймаута, спрашивает
  носитель: ждёт, пока запрос в очереди или по каналу идут чужие данные;
  мёртво после 8 с тишины после доставки, 30 с занятого канала или 64 с
  всего. Сторож моста один раз перезапускает весь носитель, если есть
  неподтверждённые байты и 20 с нет ничего от релея, или страница
  30 с не присылает WELCOME.
- Первый -404 на WEB-потоке только переподключает его; временный ключ
  сбрасывается на втором -404 до первого расшифрованного ответа.
- Выгрузка через WEB идёт по двум соединениям вместо четырёх.
- Диагностика web_proxy_carrier / web_proxy_receive_wait без секретов.

Прямые, SOCKS и настоящие MTProxy-соединения не меняются. Страж
check_web_proxy_isolation.py проверяет инварианты и собирает и
запускает JVM-тесты политики (Tools/web_proxy_flow_tests).
2026-09-23 20:34:07 +03:00
..
config Separate dev and stable application identities 2026-08-06 14:13:35 +03:00
emoji update to 12.10.2 (7086) 2026-09-17 02:11:18 +04:00
jni Считать WEB-носитель одной общей трубой 2026-09-23 20:34:07 +03:00
lib add third_party libs as submodules 2026-08-25 14:57:57 +04:00
libs Update to 5.13.0 (1818) 2019-12-31 16:08:08 +03:00
src/main Считать WEB-носитель одной общей трубой 2026-09-23 20:34:07 +03:00
build.gradle Обновить Telegram до 12.10.3 и подключить WEB-прокси 2026-09-23 16:31:29 +03:00
google-services.json update to 11.1.1 (5235) 2024-09-11 01:07:16 +04:00
proguard-rules-beta.pro update to 11.1.1 (5235) 2024-09-11 01:07:16 +04:00
proguard-rules.pro Обновить Telegram до 12.10.3 и подключить WEB-прокси 2026-09-23 16:31:29 +03:00