dd və ee secret-ləri: proksi linkini necə oxumaq olar
Server, port və secret: dd və ee prefikslərinin mənası və qoşulmadan əvvəl nəyi yoxlamaq olar.
Mündəricat
Proksi linkinə adətən oxumadan sadəcə basırlar. Amma ondakı üç parametr qoşulmadan əvvəl yoxlaya biləcəyiniz yeganə şeydir, secret isə iş rejimini, çox vaxt isə proksinin niyə qoşulmamasının səbəbini göstərir. Linki hissələrlə təhlil edək.
Parametrlərə görə link
Linkin formatını Telegram sənədləri müəyyən edir. İki bərabərhüquqlu yazı var: tg://proxy birbaşa tətbiqdə açılır, t.me/proxy isə brauzerdə. t.me hostunu telegram.me və ya telegram.dog kimi də yazmaq olar, #-dən sonrakı hissə nəzərə alınmır.
tg://proxy?server=proxy.example.com&port=443&secret=ee473ce5d4958eb5f968c87680a23854a0676f6f676c652e636f6d
| Parametr | Məcburidir | Bu nədir |
|---|---|---|
| server | bəli | serverin ünvanı və ya IP ünvanı |
| port | bəli | serverin portu |
| secret | bəli | proksinin secret-i |
Parametrlər & işarəsi ilə ayrılır. Linki səhifədən köçürürsünüzsə, onunla birlikdə artıq simvolların köçürülmədiyinə əmin olun: HTML-də ampersand & kimi yazılır və belə link açılmayacaq.
Server və port
Server — domen adı və ya IP ünvandır. Domen daha rahatdır: serverin ünvanını linki yenidən buraxmadan dəyişmək olar. Port çox vaxt 443-dür — adi saytların HTTPS portu: onda trafik daha təbii görünür, qeyri-standart portlarda isə bağlantılar tez-tez filtrlərə düşür.[1]
[1] ee rejimi üçün bu xüsusilə vacibdir: o, HTTPS-i təqlid edir, HTTPS isə 443 portunda yaşayır.
Server və port haqqında deməli daha heç nə yoxdur: ünvanın cavab verib-vermədiyini yalnız qoşularaq yoxlamaq olar. Linkdə gizlənən əsas şey — secret-dir.
Secret
Secret — onaltılıq sətirdir. Onun əsasında həmişə 16 təsadüfi bayt, yəni 32 simvol dayanır. Sonra üç variant mümkündür:
| Növ | Uzunluq | Quruluş | Rejim |
|---|---|---|---|
| Prefikssiz | 32 simvol | açar | adi (obfuscated2) |
| dd | 34 simvol | dd + açar | paketlərə təsadüfi əlavə |
| ee | 42 simvoldan | ee + açar + hex-də domen | FakeTLS |
Telegram sənədlərində format məhz belə təsvir olunub: secret — 16 baytdır, adətən hex-də; 17 baytlıq forma da var, orada birinci bayt nəqliyyatı seçir, çox vaxt 0xdd — padded intermediate.
dd nə deməkdir
Rəsmi MTProxy-nin README faylında deyilir: bəzi provayderlər MTProxy-ni paket ölçülərinə görə müəyyən edir, ona görə belə rejimə təsadüfi əlavə qoşulub. Onu klient tərəfində secret-dəki dd prefiksi ilə qoşurlar (cafe…babe ddcafe…babe-yə çevrilir), əlavə isə yalnız onu tələb edən klientlər üçün tətbiq olunur.
Protokol səviyyəsində bu, padded intermediate nəqliyyatıdır: paketdən əvvəl 4 baytlıq uzunluq gəlir, ümumi uzunluğa isə 0-dan 15-ə qədər təsadüfi bayt daxildir. Ölçülər sabit olmaqdan çıxır, amma bağlantının başlanğıcı əvvəlki kimi qalır.
ee nə deməkdir
ee prefiksi FakeTLS-i qoşur. dd-dən fərqli olaraq, açardan sonra secret-də domen də gəlir — klientin SNI sahəsində adlandıracağı həmin baytlar. Ona görə ee secret-i həmişə daha uzundur. Domen hex-dən oxunur:
echo 676f6f676c652e636f6d | xxd -r -p
Proksinin ömrünün bu domendən niyə asılı olduğu — «FakeTLS: proksi özünü sayt kimi necə göstərir» məqaləsindədir.
mtg üçün secret həm base64 formatında, həm də ee prefiksi ilə hex-də ola bilər: mtg generate-secret --hex google.com əmri ikinci formanı verir, --hex açarı olmadan isə birincini. Sizdə base64-dürsə, onu əllə kəsməyin və yenidən yığmayın, hazır linki mtg access əmri ilə alın.
Praktikum: secret-i simvol-simvol təhlil edirik
mtg sənədlərindən nümunə götürək — google.com üçün secret. Orada 54 simvol var və onları cədvəl üzrə saymaq rahatdır:
| Simvollar | Uzunluq | Bu nədir |
|---|---|---|
| 1–2 | 2 | ee — FakeTLS rejimi |
| 3–34 | 32 | açar — 16 təsadüfi bayt |
| 35–54 | 20 | 676f6f676c652e636f6d — baytlarla yazılmış google.com sözü: hər hərfə iki simvol |
Buradan qayda: ee secret-in uzunluğu 2 + 32 + domen simvollarının sayının iki mislinə bərabərdir. Domeni on simvollu secret üçün 54, on iki simvollu üçün 58 alınır. 42 simvoldan qısa ee secret olmur: Telegram Desktop onu 21 baytdan qəbul edir, yəni domenə ən azı dörd bayt düşməlidir. Uzunluq uyğun gəlmirsə, secret kəsilib və ya səhvlə yığılıb.
Eyni açar dd rejimində dd473ce5d4958eb5f968c87680a23854a0 kimi görünərdi — domensiz 34 simvol, adi rejimdə isə sadəcə açarın 32 simvolu.
Secret-i özünüz necə yaratmaq olar
Açar — 16 təsadüfi baytdır. Domensiz rejimlər üçün bir əmr kifayətdir; hər ikisi layihələrin sənədlərindən götürülüb:
openssl rand -hex 16
head -c 16 /dev/urandom | xxd -ps
dd rejimi üçün nəticəyə dd prefiksi əlavə olunur. FakeTLS üçün proqrama etibar etmək ən asandır: mtg generate-secret --hex your-domain.example dərhal prefiksi və domeni olan hazır secret verir. Əllə yığmaq lazımdırsa, prefiksi, açarı və hex-də domeni birləşdirmək kifayətdir:
KEY=$(openssl rand -hex 16)
DOMAIN=your-domain.example
printf 'ee%s%s\n' "$KEY" "$(printf '%s' "$DOMAIN" | xxd -p | tr -d '\n')"
Secret-dəki domen serverdə ayarlanmışla üst-üstə düşməlidir: telemt-də bu tls_domain parametridir, mtg-də domen secret-in özündən götürülür.
Klient secret-lə nə edir
Secret şəbəkə ilə göndərilmir: o, açarların çıxarılmasında iştirak edir. Telegram sənədlərinə görə, obfuskasiyada axının şifrələmə açarı ilkin paketdəki açarın və secret-in SHA256-sı kimi hesablanır. Eyni secret-i bilən klient və proksi eyni açarları alır; yad klientdə açarlar başqa olacaq və proksi onun bağlantısını qəbul etməyəcək.
Secret 17 baytlıqdırsa (dd kimi prefikslə), birinci bayt nəqliyyatı müəyyən edir və açarların çıxarılmasında iştirak etmir. Artıq bayt görən klientlər susmaya görə padded intermediate — təsadüfi əlavəli rejimdən istifadə edir.
Bir secret, yoxsa bir neçə
Server bir neçə secret qəbul edə bilər: rəsmi MTProxy-də -S açarını bir neçə dəfə göstərmək olar. Bu, müxtəlif adamlara müxtəlif linklər verib onları ayrı-ayrılıqda ləğv etmək üçün lazımdır. mtg-də secret birdir — müəlliflər bunu şüurlu qərar sayır; telemt-də secret-lər istifadəçilər üçün [access.users] bölməsində verilir.
Linklərin üç nümunəsi
Eyni «server və port» cütü müxtəlif secret-lə verilə bilər. Üç variant belə görünür (ünvan və açar şərtidir):
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
Birinci link adi rejimi, ikincisi təsadüfi əlavəli rejimi, üçüncüsü google.com domenli FakeTLS-i qoşur. Klient üçün fərq yalnız secret-dədir: server və port eynidir. Məhz ona görə secret oxumağa dəyər ilk şeydir.
Domen və secret birlikdə dəyişir
ee secret-də domen açarın hissəsidir, serverdə isə domen ayrıca verilir: telemt-də bu tls_domain parametridir, mtg-də domen secret-dən götürülür. Birini o birini dəyişmədən dəyişsəniz, klientlər qoşulmayacaq: telemt FAQ-ına görə, domen dəyişəndə köhnə linklər «Unknown TLS SNI» xətası verir. Ona görə onları cüt dəyişin və linkləri yenidən buraxın.
Linki necə ötürmək
- ictimai kanal və çatlarda yox, etibar etdiyiniz adamlara şəxsi mesajla;
- mümkünsə, hər kəsə ayrıca secret: belə secret-i digərlərinə toxunmadan ləğv etmək olar (rəsmi MTProxy və telemt dəstəkləyir);
- link artıq yayılıbsa, secret-i dəyişin, onun «itəcəyinə» ümid etməyin;
- secret-i kənar «proksi yoxlama» xidmətlərinə göndərməyin: parolu verirsiniz.
Qoşulmadan əvvəl nəyi yoxlamaq
- Link
tg://proxyvə yat.me/proxyilə başlayır və hər üç parametri ehtiva edir. - Secret
eeilə başlayır — əks halda rejim adi və ya dd-dir. - Secret-in uzunluğu yuxarıdakı cədvələ sığır: 32, 34 və ya ən azı 42 simvol.
- ee secret-in sonundakı domen oxunur və bu, təsadüfi simvollar yığını deyil, adi saytdır.
- Port — 443 və ya HTTPS üçün adət olunmuş başqa portdur.
- Boşluq, sətir keçidi və
&kimi artıq simvollar yoxdur.
Tez-tez rast gəlinən səhvlər
- Secret kəsilib. Sətir keçidi və ya mesencerdə qısaltma səbəbindən domenli quyruq itir; Telegram başqa rejimdə qoşulacaq və ya qoşulmayacaq.
- Secret SOCKS5 parol sahəsinə yapışdırılıb. MTProto üçün MTProto növünü seçib secret-i müvafiq sahəyə daxil etmək lazımdır.
- Server və port qarışdırılıb. Xüsusilə əllə daxil edəndə.
- Link əllə dəyişdirilib. Secret-də bir dəyişdirilmiş simvol başqa açar verir — proksi isə klienti buraxmayacaq.
Nümunə: secret-də səhvi necə tapmaq
Tutaq ki, sizə link göndəriblər və orada ee ilə başlayan 48 simvollu secret var. 2 + 32 + domen simvollarının sayının iki misli düsturuna görə domenə 14 simvol düşür, yəni yeddi hərfli ad. Quyruğu xxd -r -p əmri ilə açın: oxunaqlı sayt adı alınırsa, secret qaydasındadır. Çıxışda zir-zibil və ya gözləniləndən qısa ad varsa, secret yolda kəsilib — linki yenidən istəyin.
Eyni üsul başqalarının linklərini yoxlamaq üçün də işləyir: yarım dəqiqə çəkir və qoşulma tələb etmir.
Secret — paroldur
Secret-i bilən proksiyə qoşulur və linki başqalarına ötürə bilər. mtg README-sində secret proksinin açarı və klientin parolu adlanır. Ona görə şəxsi linki açıq çatlarda yaymırlar: nə qədər geniş yayılsa, serverə yük o qədər artır və o, bloklanma siyahılarına o qədər tez əlavə olunur.
Tez-tez verilən suallar
Proksi secret-inin əvvəlindəki dd nə deməkdir?
dd prefiksi təsadüfi əlavə (padding) rejimini qoşur: paketlərə 0-dan 15-ə qədər təsadüfi bayt əlavə olunur ki, proksini paket ölçülərinə görə tanımaq çətin olsun. Prefiksdən sonrakı açar eyni 16 baytdır.
ee secret-ini dd-dən necə ayırmaq olar?
İlk iki simvola və uzunluğa görə. dd secret-i — dd və açarın 32 simvoludur, cəmi 34. ee secret-i daha uzundur: açardan sonra hex yazıda maskalanma domeni gəlir.
Secret-i yaymaq olarmı?
Yaxşısı olmaz. Secret parol kimi işləyir: onu bilən proksiyə qoşulur və linki irəli ötürə bilər. Link nə qədər geniş yayılsa, bloklanma siyahılarına o qədər tez əlavə olunur.
ee secret-indəki domeni necə öyrənmək olar?
Secret-in ilk 34 simvolundan sonrakı hissəni götürün (prefiksin iki simvolu və açarın 32 simvolu) və onu onaltılıq yazıdan mətnə çevirin, məsələn echo QUYRUQ | xxd -r -p əmri ilə. Nəticə proksinin maskalandığı saytın adı olacaq.
t.me/proxy tg://proxy-dən nə ilə fərqlənir?
Parametrlər eynidir. tg://proxy linki birbaşa tətbiqdə açılır, t.me/proxy isə brauzerdə də işləyir. Telegram sənədlərinə görə, t.me-ni telegram.me və ya telegram.dog kimi də yazmaq olar.