dd жана ee секреттери: прокси шилтемесин кантип окуу керек
Сервер, порт жана секрет: dd жана ee префикстери эмнени билдирет жана туташканга чейин эмнени текшерүүгө болот.
Мазмуну
Прокси шилтемесин адатта окубай эле басышат. Бирок андагы үч параметр — туташканга чейин текшерүүгө болгон жалгыз нерсе, ал эми секрет иштөө режимин жана көбүнчө проксинин эмне үчүн туташпаганынын себебин да айтып турат. Шилтемени бөлүк-бөлүк талдап көрөлү.
Параметрлер боюнча шилтеме
Шилтеменин форматы Telegram документациясы менен берилген. Эки тең мааниде жазылыш бар: tg://proxy колдонмодо түз ачылат, ал эми t.me/proxy — браузерде. t.me хостун telegram.me же telegram.dog деп да жазса болот, ал эми # белгисинен кийинки бөлүк эске алынбайт.
tg://proxy?server=proxy.example.com&port=443&secret=ee473ce5d4958eb5f968c87680a23854a0676f6f676c652e636f6d
| Параметр | Милдеттүүбү | Бул эмне |
|---|---|---|
| server | ооба | сервердин дареги же IP-дареги |
| port | ооба | сервердин порту |
| secret | ооба | проксинин секрети |
Параметрлер & белгиси менен бөлүнөт. Эгер шилтемени барактан көчүрсөңүз, аны менен кошо ашыкча белгилер көчүп калбаганына ишениңиз: HTML'де амперсанд & деп жазылат жана мындай шилтеме ачылбайт.
Сервер жана порт
Сервер — домендик ат же IP-дарек. Домен ыңгайлуураак: сервердин дарегин шилтемени кайра чыгарбай алмаштырса болот. Порт көбүнчө 443 — кадимки сайттардагы HTTPS сыяктуу: анда трафик табигыйраак көрүнөт, ал эми стандарттуу эмес порттордо туташуулар көбүрөөк чыпкага илинет.[1]
[1] ee режими үчүн бул өзгөчө маанилүү: ал HTTPS'ти туурайт, ал эми HTTPS 443-портто жашайт.
Сервер менен порт жөнүндө дагы айта турган нерсе жок: дарек жооп берерин туташып гана текшерүүгө болот. Шилтемеде жашырылган эң башкысы — секрет.
Секрет
Секрет — он алтылык сап. Анын негизинде дайыма 16 кокус байт, башкача айтканда 32 белги бар. Андан ары үч вариант мүмкүн:
| Түрү | Узундугу | Түзүлүшү | Режими |
|---|---|---|---|
| Префикссиз | 32 белги | ачкыч | кадимки (obfuscated2) |
| dd | 34 белги | dd + ачкыч | пакеттерди кокус толуктоо |
| ee | 42 белгиден баштап | ee + ачкыч + hex түрүндөгү домен | FakeTLS |
Telegram документациясында формат так ушундай сүрөттөлгөн: секрет — 16 байт, адатта hex; 17 байттык форма да бар, анда биринчи байт транспортту тандайт, көбүнчө 0xdd — padded intermediate.
dd эмнени билдирет
Расмий MTProxy README'синде айтылган: кээ бир провайдерлер MTProxy'ни пакеттердин өлчөмдөрү боюнча аныкташат, ошондуктан мындай режимге кокус толуктоо кошулган. Аны клиент тарабында секреттеги dd префикси күйгүзөт (cafe…babe ddcafe…babe болуп калат) жана толуктоо аны сураган клиенттерге гана колдонулат.
Протокол деңгээлинде бул padded intermediate транспорту: пакеттин алдында 4 байттык узундук жүрөт, ал эми жалпы узундукка 0дөн 15ке чейин кокус байт кирет. Өлчөмдөр туруктуу боло бербейт, бирок туташуунун башы мурдагыдай калат.
ee эмнени билдирет
ee префикси FakeTLS режимин күйгүзөт. ddдан айырмаланып, секретте ачкычтан кийин домен да жүрөт — клиент SNI талаасында атай турган байттар так ошолор. Ошондуктан ee секрети дайыма узунураак. Доменди hex'тен окуса болот:
echo 676f6f676c652e636f6d | xxd -r -p
Проксинин жашоосу бул доменге эмне үчүн көз каранды экени — «FakeTLS: прокси сайт болуп кантип көрүнөт» макаласында.
mtg үчүн секрет base64 форматында да, ee префикси менен hex'те да болот: mtg generate-secret --hex google.com буйругу экинчи форманы берет, ал эми --hex ачкычысыз — биринчисин. Эгер сизде base64 болсо, аны кол менен кеспеңиз жана кайра чогултпаңыз, даяр шилтемени mtg access буйругу менен алыңыз.
Практикум: секретти белгилер боюнча талдайбыз
mtg документациясындагы мисалды алалы — google.com үчүн секрет. Анда 54 белги бар, аларды таблица боюнча санаган ыңгайлуу:
| Белгилер | Узундугу | Бул эмне |
|---|---|---|
| 1–2 | 2 | ee — FakeTLS режими |
| 3–34 | 32 | ачкыч — 16 кокус байт |
| 35–54 | 20 | 676f6f676c652e636f6d — google.com деген сөз байттар менен жазылган: ар бир тамгага эки белги |
Мындан эреже: ee секретинин узундугу 2 + 32 + домендеги белгилер санынын эки эселенгенине барабар. Он белгилүү домени бар секрет үчүн 54 чыгат, он эки белгиликте — 58. ee секрети 42 белгиден кыска болбойт: Telegram Desktop аны 21 байттан баштап кабыл алат, башкача айтканда домендин үлүшүнө жок дегенде төрт байт келиши керек. Эгер узундук дал келбесе, секрет кесилген же катасы менен чогултулган.
Ошол эле ачкыч dd режиминде dd473ce5d4958eb5f968c87680a23854a0 болуп көрүнмөк — доменсиз 34 белги, ал эми кадимки режимде — жөн эле ачкычтын 32 белгиси.
Секретти өзүңүз кантип түзүү керек
Ачкыч — бул 16 кокус байт. Доменсиз режимдер үчүн бир буйрук жетиштүү; экөө тең долбоорлордун документациясынан алынган:
openssl rand -hex 16
head -c 16 /dev/urandom | xxd -ps
dd режими үчүн натыйжага dd префиксин кошушат. FakeTLS үчүн программага ишенүү эң жөнөкөй: mtg generate-secret --hex сиздин-домен.example префикси жана домени менен даяр секретти дароо берет. Аны кол менен чогултуу керек болсо, префикс, ачкыч жана hex'теги доменди жабыштырса жетиштүү:
KEY=$(openssl rand -hex 16)
DOMAIN=сиздин-домен.example
printf 'ee%s%s\n' "$KEY" "$(printf '%s' "$DOMAIN" | xxd -p | tr -d '\n')"
Секреттеги домен серверде ыңгайлаштырылганга дал келиши керек: telemt'те бул tls_domain параметри, mtg'де домен секреттин өзүнөн алынат.
Клиент секрет менен эмне кылат
Секрет тармак аркылуу жөнөтүлбөйт: ал ачкычтарды чыгарууга катышат. Telegram документациясы боюнча, обфускацияда агымды шифрлөө ачкычы баштапкы пакеттеги ачкычтан жана секреттен SHA256 катары эсептелет. Бир секретти билген клиент менен прокси бирдей ачкычтарды алат; бөтөн клиентте ачкычтар башка болот, ошондуктан прокси анын туташуусун кабыл албайт.
Эгер секрет 17 байттык болсо (dd сыяктуу префикс менен), биринчи байт транспортту аныктайт жана ачкычтарды чыгарууга катышпайт. Ашыкча байтты көргөн клиенттер демейки боюнча padded intermediate колдонушат — кокус толуктоо режими.
Бир секрет же бир нечеси
Сервер бир нече секретти кабыл алышы мүмкүн: расмий MTProxy'де -S ачкычын бир нече жолу көрсөтсө болот. Бул ар кимге ар башка шилтеме берип, аларды өзүнчө кайтарып алуу үчүн керек. mtg'де секрет бирөө — авторлор муну атайын чечим деп эсептешет; telemt'те секреттер [access.users] бөлүмүндө колдонуучулар үчүн коюлат.
Шилтемелердин үч мисалы
Бир эле «сервер жана порт» жубу ар кандай секрет менен берилиши мүмкүн. Үч вариант мындай көрүнөт (дарек жана ачкыч шарттуу):
tg://proxy?server=proxy.example.com&port=443&secret=473ce5d4958eb5f968c87680a23854a0
tg://proxy?server=proxy.example.com&port=443&secret=dd473ce5d4958eb5f968c87680a23854a0
tg://proxy?server=proxy.example.com&port=443&secret=ee473ce5d4958eb5f968c87680a23854a0676f6f676c652e636f6d
Биринчи шилтеме кадимки режимди күйгүзөт, экинчиси — кокус толуктоо режимин, үчүнчүсү — google.com доменинде FakeTLS. Клиент үчүн айырма секретте гана: сервер менен порт ошол эле. Так ошондуктан секрет — окууга турган биринчи нерсе.
Домен жана секрет чогуу өзгөрөт
ee секретинде домен — ачкычтын бир бөлүгү, ал эми серверде домен өзүнчө коюлган: telemt'те бул tls_domain параметри, mtg'де домен секреттен алынат. Эгер бирин өзгөртүп, экинчисин өзгөртпөсөңүз, клиенттер туташпай калат: telemt FAQ боюнча, доменди алмаштырганда эски шилтемелер «Unknown TLS SNI» катасын берет. Ошондуктан аларды жуп менен өзгөртүп, шилтемелерди кайра чыгарыңыз.
Шилтемени кантип берүү керек
- ишенген адамдарыңызга жеке билдирүү менен, ачык каналдарда жана чаттарда эмес;
- мүмкүн болсо — ар кимге өзүнчө секрет: мындай секретти калгандарына тийбей кайтарып алса болот (расмий MTProxy жана telemt колдойт);
- шилтеме тарап кетсе, аны «жоготушат» деп үмүттөнбөй, секретти алмаштырыңыз;
- секретти «прокси текшергич» бөтөн сервистерге жөнөтпөңүз: сиз сырсөздү берип жатасыз.
Туташканга чейин эмнени текшерүү керек
- Шилтеме
tg://proxyжеt.me/proxyменен башталып, үч параметрдин баарын камтыйт. - Секрет
eeменен башталат — болбосо режим кадимки же dd. - Секреттин узундугу жогорудагы таблицага туура келет: 32, 34 же 42 белгиден кем эмес.
- ee секретинин аягындагы домен окулат жана бул кокус белгилер жыйындысы эмес, кадимки сайт.
- Порт — 443 же HTTPS үчүн адаттагы башка порт.
- Боштуктар, сап которуулар жана
&сыяктуу ашыкча белгилер жок.
Көп кездешкен каталар
- Секрет кесилген. Мессенджердеги сап которуудан же кыскартуудан домени бар куйрук жоголот; Telegram башка режимде туташат же туташпайт.
- Секрет SOCKS5 сырсөзү талаасына киргизилген. MTProto үчүн MTProto түрүн тандап, секретти тиешелүү талаага киргизүү керек.
- Сервер менен порт чаташтырылган. Өзгөчө кол менен киргизүүдө.
- Шилтеме кол менен өзгөртүлгөн. Секреттеги бир өзгөргөн белги башка ачкычты берет — жана прокси клиентти өткөрбөйт.
Мисал: секреттеги катаны кантип табуу керек
Айталы, сизге шилтеме жөнөтүштү, анда узундугу 48 белгилүү, ee менен башталган секрет бар. 2 + 32 + домендеги белгилер санынын эки эселенген формуласы боюнча домендин үлүшүнө 14 белги келет, башкача айтканда жети тамгалуу ат. Куйругун xxd -r -p буйругу менен чечиңиз: эгер окулуучу сайт аты чыкса, секрет ордунда. Эгер чыгууда түшүнүксүз белгилер же күтүлгөндөн кыска ат болсо, секрет жолдо кесилген — шилтемени кайра сураңыз.
Ошол эле ыкма бөтөн шилтемелерди текшерүү үчүн да иштейт: ал жарым мүнөт алат жана туташууну талап кылбайт.
Секрет — бул сырсөз
Секретти билген адам проксиге туташат жана шилтемени башкаларга бере алат. mtg README'синде секретти проксинин ачкычы жана клиенттин сырсөзү деп аташат. Ошондуктан жеке шилтемени ачык чаттарда жарыялашпайт: ал канчалык кеңири тараса, серверге жүк ошончолук жогорулайт жана аны бөгөттөө тизмелерине ошончолук тез кошушат.
Көп берилүүчү суроолор
Проксинин секретинин башындагы dd эмнени билдирет?
dd префикси кокус толуктоо (padding) режимин күйгүзөт: пакеттерге 0дөн 15ке чейин кокус байт кошулат, ошондо проксини пакеттердин өлчөмдөрү боюнча таануу оорураак болот. Префикстен кийинки ачкыч — ошол эле 16 байт.
ee секретин dd'ден кантип айырмалоо керек?
Биринчи эки белги жана узундук боюнча. dd секрети — бул dd жана ачкычтын 32 белгиси, бардыгы 34. ee секрети узунураак: ачкычтан кийин он алтылык жазылыштагы маскировка домени жүрөт.
Секретти жарыялоого болобу?
Жакшысы болбойт. Секрет сырсөз сыяктуу иштейт: аны билген адам проксиге туташат жана шилтемени андан ары бере алат. Шилтеме канчалык кеңири тараса, аны бөгөттөө тизмелерине ошончолук тез кошушат.
ee секретиндеги доменди кантип билүү керек?
Секреттин биринчи 34 белгисинен кийинки бөлүгүн (префикстин эки белгиси жана ачкычтын 32 белгиси) алып, аны он алтылык жазылыштан текстке айландырыңыз, мисалы echo КУЙРУК | xxd -r -p буйругу менен. Натыйжа прокси өзүн маскировкалаган сайттын аты болот.
t.me/proxy tg://proxy'ден эмнеси менен айырмаланат?
Параметрлер бирдей. tg://proxy шилтемеси колдонмодо түз ачылат, ал эми t.me/proxy браузерде да иштейт. Telegram документациясы боюнча, t.me'ни telegram.me же telegram.dog деп да жазса болот.