Таңдау және тексеру

Telegram-дағы прокси автоауыстыру: клиент келесісін қалай таңдайды

Тізімде бірнеше прокси бар, ағымдағысы үзілді — әрі қарай не болады? Telegram Desktop пен Android алмастырушыны қалай таңдайтынын бастапқы код бойынша талдаймыз.

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

Telegram-дағы прокси автоауыстыру былай жұмыс істейді: ағымдағы прокси таңдалған уақыттан ұзақ қосылуға мүмкіндік бермесе — 5-тен 60 секундқа дейін, әдепкі бойынша 10 — клиент тізіміңіздегі қалған проксилерді тексеріп, жауап бергеніне ауысады. Әрі қарай платформалар ажырайды: Telegram Desktop реті бойынша өтіп, жуырда жауап берген проксилерден бастайды, ал Android үшін Telegram ең аз пингі бар проксиді таңдайды. Төменде — екі клиенттің 2026 жылғы қазандағы бастапқы коды бойынша егжей-тегжей және одан іс жүзінде не шығатыны.

Қайда қосылады

Telegram құжаттамасы бұл функцияны бір сөйлеммен сипаттайды: бірнеше прокси қолдансаңыз, «Auto-Switch Proxies» қосуға болады, ағымдағысы ажыраған кезде клиент тізімдегі келесі проксиге қосылады. Қолданбаларда тармақ дәл солай аталады:

ПараметрTelegram DesktopAndroid үшін Telegram
Тармақпрокси терезесіндегі «Auto-switch proxies»прокси баптауларындағы «Auto-switch proxies»
Аралықтар5, 10, 15, 30, 60 секунд5, 10, 15, 30, 60 секунд
Әдепкі бойыншаөшірулі; аралық 10 секундөшірулі; аралық 10 секунд
Шарттізімде біреуден көп прокси бартізімде біреуден көп прокси бар

iPhone клиентінің бастапқы кодын біз талдамадық, сондықтан ол туралы мұнда ештеңе айтпаймыз.

Клиент алмастыруды қашан іздей бастайды

Автоауыстыру жылдамдыққа емес, қосылымның болмауына әрекет етеді:

  • Telegram Desktop прокси қосылып, таңдалған кезде, функция қосулы болғанда, тізімде біреуден көп прокси болғанда және ешбір жұмыс аккаунты қосылмағанда тексеруді бастайды. Ең болмағанда бір аккаунт қосылған бойда тексерулер тоқтайды.
  • Android клиент таңдалған секунд санына «Connecting to proxy» күйінде тұрып қалғанша күтеді де, тек содан кейін тексеруді іске қосады. Осы уақытта қосылым қалпына келсе, ештеңе болмайды.

Осыдан маңызды қорытынды шығады: қосылатын, бірақ әрең жұмыс істейтін проксиді автоауыстыру алмастырмайды. Клиент үшін ол «жұмыс істеп тұр».

Telegram Desktop қалай таңдайды

  1. Қосылым үзілісімен клиент тексеру кезегін құрады. Оған бірінші болып жуырда сәтті жауап берген проксилер кіреді: жауап берген әрбір прокси осы тізімнің басына көтеріледі, ал реті іске қосулар арасында есте сақталады. Олардан кейін — қалғандары, сіздің тізіміңіздегі ретімен. Ағымдағы прокси кезекке кірмейді.
  2. Тексерулер әр 2 секунд сайын бір-бірден іске қосылады; бір мезгілде 10-нан артық жүрмейді, әрқайсысы 20 секундтан ұзақ болмайды.
  3. Таңдалған аралық біткенде, клиент кезектегі ақау басталғаннан кейін жауап берген бірінші проксиге ауысады. Ақаудан бұрын алынған жауаптар ескерілмейді.
  4. Осы сәтте ешкім жауап бермесе, клиент тексеруді жалғастырып, бірінші жауап берген кезде ауысады.

WEB-проксилер бұл кезекке түспейді: Desktop оларды тексермейді және автоматты түрде оларға ауыспайды.

Android қалай таңдайды

  1. Аралық біткенде клиент тізімдегі барлық проксиді бірден тексереді, бұрыннан тексерілетіндерін немесе екі минуттан аз бұрын тексерілгендерін қоспағанда.
  2. Тексерулер аяқталған соң ол проксилерді пинг бойынша сұрыптап, ағымдағысын өткізіп, ең аз мәні бар қолжетімдісін таңдайды.
  3. Таңдалған прокси ағымдағы болады, ал клиент сол арқылы қосылады.

Desktop-пен айырмасы принципті: Android-та тізімдегі рет маңызды емес, соңғы тексерудің пингі шешеді.

Проксиді тексеру деген не

Тексеру — желілік мағынадағы «пинг» емес, нақты қосылым. Telegram Desktop тексерілетін прокси арқылы аккаунттың негізгі қосылым ашып, жауап уақытын өлшейді: қосылым орнаса, прокси қолжетімді деп саналады.

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

Мұны қалай пайдалану керек

  • Жиырма емес, екі-үш прокси. Әр артық прокси — артық тексерулер және мекенжайыңызды көретін тағы бір ие.
  • Әртүрлі серверлер және мүмкін болса әртүрлі көздер. Барлық прокси бір хостерде тұрса, оларды бір мезгілде жауып тастауы мүмкін — ауысатын ештеңе қалмайды.
  • Desktop-та рет маңызды. Ең сенімді проксиді жоғарырақ қойыңыз: басқа жағдайлар тең болса, клиент соннан бастайды.
  • Аралық желіңізге сай. Қысқасы — құлаған проксиден тезірек кетеді, бірақ қысқа мерзімді ақауда да ауысып кетуі мүмкін. Ұзағы — шыдамдырақ, бірақ байланыссыз ұзағырақ отырады.
  • Баяу проксиді өзіңіз өшіріңіз. Автоауыстыру оны байқамайды.

Автоауыстыру проксиді өшірмейді және тікелей қосылымға өтпейді: ол тек тізіміңіздегі басқа проксиді таңдайды. Ешқайсысы жауап бермесе, клиент ағымдағы проксиде байланыссыз қалады — онда жаңа прокси немесе басқа желі керек.

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

Telegram-да прокси автоауыстыру қалай жұмыс істейді?

Ағымдағы прокси қосылуын тоқтатып, таңдалған уақыт өтсе — 5-тен 60 секундқа дейін, әдепкі бойынша 10 — клиент тізімдегі қалған проксилерді тексеріп, жауап бергеніне ауысады. Telegram Desktop жуырда жауап бергендерден бастап реті бойынша таңдайды, Android — ең аз пинг бойынша.

Автоауыстыру әдепкі бойынша қосулы ма?

Жоқ. Telegram Desktop-та да, Android үшін Telegram-да да функция прокси баптауларында қосқанша өшірулі. Ол тек тізімде біреуден көп прокси болғанда жұмыс істейді.

Прокси қосылып тұрса, бірақ баяу жұмыс істесе, Telegram ауысады ма?

Жоқ. Автоауыстыру қосылым болмаған кезде іске қосылады: Desktop-та — ешбір аккаунт қосылмағанда, Android-та — клиент «Connecting to proxy» күйінде тұрып қалғанда. Баяу, бірақ қосылған прокси таңдалған күйінде қалады.

Ешбір прокси жұмыс істемесе, Telegram проксиді өшіре ме?

Бастапқы код бойынша — жоқ: функция тек тізімнен басқа проксиді таңдайды. Ешқайсысы жауап бермесе, клиент ағымдағы проксиде қалады.

Дереккөздер

  1. Telegram: прокси — Auto-Switch Proxies
  2. Telegram Desktop: proxy_rotation_manager.cpp — автоауыстыру
  3. Telegram Desktop: core_settings_proxy.h — аралықтар
  4. Telegram Desktop: proxy_check.cpp — проксиді қалай тексереді
  5. Android үшін Telegram: ProxyRotationController.java
  6. Android үшін Telegram: SharedConfig.java — прокси баптаулары