Негіздер

MTProto прокси деген не және ол Telegram-да қалай жұмыс істейді

Telegram протоколы қалай құрылған, MTProto прокси трафикпен не істейді, нені көре алады және нені көрмейді, прокси сілтемесін қалай оқуға болады.

Мазмұны 12 бөлім

MTProto — Telegram қолданбаларының өз серверлерімен сөйлесетін меншікті протоколы. MTProto прокси, көбіне MTProxy деп аталады, — осы қосылымды қабылдап, әрі қарай жіберетін сервер. Төменде: протокол қалай құрылған, прокси нақты не істейді, нені көре алады және нені көре алмайды, сізге жіберілген сілтеменің ішінде не бар.

MTProto деген не

Telegram құжаттамасындағы анықтама бойынша, MTProto — мобильді құрылғылардағы қолданбалардан сервер API-ына қол жеткізуге арналған протокол. Қазіргі клиенттер 2.0 нұсқасын пайдаланады; бірінші нұсқа ескірген деп саналады. Протокол үш деңгейден тұрады, ал прокси тек соңғысымен жұмыс істейді:

  • API сұраулары. Жоғарғы деңгей шақырулар мен жауаптарды екілік хабарламаларға айналдырады.
  • Шифрлау. Әр хабарлама авторизация кілтімен AES-256 арқылы шифрланады. Кілт Diffie–Hellman алмасуымен жасалады және желі арқылы жіберілмейді.
  • Тасымал. Төменгі деңгей шифрланған деректерді TCP, WebSocket немесе HTTP сияқты қарапайым желі протоколымен тасиды.

MTProto прокси не істейді

Прокси — делдал. Қолданба Telegram деректер орталықтарына тікелей қосылудың орнына проксиге қосылады, ал прокси керекті деректер орталығымен байланыс орнатып, деректерді екі бағытта да жібереді. Қолданбаға бұл Telegram-мен сөйлесу сияқты көрінеді, ал желіге — проксиге қосылым сияқты.

HTTPS сияқты көрінедіMTProtoTelegramқолданбасүзгіпровайдер / DPIпрокси443-портTelegramсерверлеріхабарламалар прокси үшін шифрлы күйінде қалады
Сур. 1. Трафиктің прокси арқылы жолы: провайдердің сүзгісі Telegram емес, қарапайым HTTPS көреді, ал прокси сіздің чаттарыңызды оқи алмайды.

MTProxy — Telegram GitHub-та жариялайтын ресми іске асырудың атауы. Басқа танымал түрлері: mtg (Go тілінде) және telemt (Rust тілінде). Telegram қолданбалары прокси екі түрін қолдайды: SOCKS5 және MTProto.

Трафик қалай жүреді

  1. Қолданба сілтемеден сервер мекенжайын, портты және құпия кілтті алады.
  2. Ол обфускациямен қосылым орнатады: ағын кілттері кездейсоқ бастапқы пакеттен және құпия кілттен алынады.
  3. Бастапқы пакет қай Telegram деректер орталығына қосылу керектігін көрсетеді.
  4. Прокси Telegram-мен байланыс орнатып, шифрланған деректерді екі бағытта жібереді.

Құпия кілт екі рөл атқарады. Ол пароль ретінде жұмыс істейді — прокси тек оны білетін клиенттерді қабылдайды — ал FakeTLS режимінде қосылым қай доменге кіріп жатқандай көрінетінін де сол кілт сақтайды.

Прокси нені көре алады және нені көре алмайды

Хабарламаларыңыз проксиде жоқ авторизация кілтімен шифрланған, сондықтан прокси оқи алмайтын деректерді жібере береді. Telegram құжаттамасы тікелей айтады: прокси оператор сіздің Telegram пайдаланушы атыңызды немесе аккаунт ID-ін, чаттар тізімін және белсенділігіңізді көре алмайды.

Оператор жаза алатыны — IP-мекенжайыңыз, қосылған уақытыңыз және Telegram пайдаланатыныңыз. Telegram Desktop тіпті белгісіз проксидің күйін тексеру оның әкімшісіне IP-мекенжайыңызды көрсететінін ескертеді. Сондықтан проксиді тек жылдамдығына қарап емес, кімнің ұстайтынына қарап таңдаңыз.

Прокси ма, VPN ба

MTProto проксиVPN
Нені өткізедітек Telegramқұрылғының барлық трафигін
Қалай қосыладысілтеме немесе Telegram баптауларындағы үш өрісбөлек қолданба және жазылым
Басқа қолданбаларәдеттегідей жұмыс істейдіVPN арқылы жүреді
Telegram қоңырауларыарқылы жұмыс істемейдіжұмыс істейді
Желі нені көредіпроксиге қосылым: обфускацияланған немесе TLS сияқтыVPN серверіне қосылым

Қарапайым ереже: тек Telegram керек болса, прокси оңайырақ. Қоңыраулар, басқа қолданбалар керек болса немесе сіз тек рұқсат етілген мекенжайлар тізімін өткізетін желіде болсаңыз, VPN қажет.

tg://proxy?server=proxy.example.com&port=443&secret=ee… https://t.me/proxy?server=proxy.example.com&port=443&secret=ee…

Үш параметр де міндетті. server — IP-мекенжай немесе хост атауы, port — порт, әдетте қарапайым HTTPS сайттарындағыдай 443, ал secret — кілт: оналтылық жазбадағы 16 кездейсоқ байт, кейде префикспен және доменмен.

Үш режим

  • қарапайым — ағын шифрланған (обфускацияланған), бірақ қосылымның басы мен пакеттер ырғағы танылады;
  • dd — пакет өлшемдері проксиді әшкерелемеу үшін кездейсоқ толтырма қосылады;
  • ee — FakeTLS: қосылым нақты сайтқа қарапайым HTTPS арқылы кіру сияқты басталады, сайттың атауы құпия кілтке жазылған.

MTProto прокси иесі сервер шығындарын жабу үшін өзі арқылы қосылған барлық адамның чаттар тізімінде бір жария арнаны көрсете алады. Telegram Desktop оны прокси демеушісі деп белгілейді және проксиді өшіргенде ол жоғалатынын түсіндіреді. Арна иесіне сіздің чаттарыңызға немесе белсенділігіңізге қол жеткізу бермейді.

Прокси баптаулары қайда

Telegram мәліметі бойынша: Android-та — Settings → Data and Storage → Proxy Settings; iOS-та — Settings → Data and Storage → Proxy; Telegram Desktop-та — Settings → Advanced → Connection Type; macOS қолданбасында — Settings → Data and Storage → Use Proxy (мәзір атаулары ағылшынша берілген, Telegram тіліңізде басқаша аталуы мүмкін). Бірнеше проксиді сақтауға болады, ал Auto-Switch Proxies ағымдағысы ажыраса, келесісіне ауысады.

Шектеулер

  • Telegram қоңыраулары MTProto прокси арқылы жұмыс істемейді — telemt FAQ мұны Telegram архитектурасының шектеуі дейді.
  • Прокси құрылғыдағы басқа қолданбаларды қорғамайды.
  • Проксидің қызмет ету мерзімі шектеулі: оның мекенжайы, порты немесе трафик үлгісі бұғатталуы мүмкін.
  • Прокси тек рұқсат етілген мекенжайлар тізімін өткізетін желілерде көмектеспейді — telemt FAQ мұндай жағдайларды атайды: мобильді ақ тізімдерден бастап Қытайдағы Great Firewall мен толқулар кезіндегі Иранға дейін.

Жиі қойылатын сұрақтар

MTProxy деген не, қарапайым тілмен айтқанда?

Бұл Telegram үшін делдал сервер. Қолданба Telegram серверлеріне тікелей емес, проксиге қосылады, ал прокси шифрланған трафикті әрі қарай жібереді. MTProxy — Telegram-ның ресми іске асыруының атауы; MTProto протоколымен жұмыс істейтін кез келген проксиді де осылай атайды.

Прокси иесі менің хат алмасуымды оқи ала ма?

Жоқ. Хабарламалар тек сіздің қолданбаңызда және Telegram серверінде бар кілтпен шифрланады. Telegram құжаттамасы бойынша, прокси оператор сіздің чаттар тізіміңізді, белсенділігіңізді, пайдаланушы атыңызды немесе аккаунт ID-ін көрмейді. Ол сіздің IP-мекенжайыңызды, қосылған уақытыңызды және Telegram пайдаланатыныңызды көре алады.

MTProto прокси VPN-нен несімен ерекшеленеді?

MTProto прокси тек Telegram ішінде жұмыс істейді және сілтеме арқылы қосылады; басқа қолданбаларға әсер етпейді. VPN құрылғының барлық трафигін өткізеді және өз қолданбасын қажет етеді. Telegram қоңыраулары MTProto прокси арқылы жұмыс істемейді, ал VPN арқылы істейді.

Прокси сілтемесі неден тұрады?

Үш міндетті параметрден: server (мекенжай немесе хост атауы), port (порт) және secret (құпия кілт). Пішімі: tg://proxy?server=…&port=…&secret=… немесе t.me/proxy деп басталатын дәл осындай сілтеме, ол браузерден де ашылады.

Дереккөздер

  1. Telegram: MTProto Mobile Protocol
  2. Telegram: MTProto, detailed description
  3. Telegram: MTProto transports
  4. Telegram: proxy servers
  5. Telegram: proxy links
  6. MTProxy, the official implementation (GitHub)
  7. mtg (GitHub): README
  8. telemt (GitHub)
  9. telemt: FAQ