secret
MTProto proksi secret i (kaliti)
Proksi havolasidagi kalit: ishlash rejimini va FakeTLS uchun niqob domenini belgilaydi.
Nimadan iborat
Secret asosida 16 ta tasodifiy bayt turadi, ular 32 ta oʻn oltilik belgi bilan yoziladi. Ularga rejim prefiksi va domen qoʻshilishi mumkin:
- prefikssiz — oddiy rejim (obfuscated2);
dd+ kalit — paketlarga tasodifiy toʻldirgich qoʻshiladigan rejim (padding);ee+ kalit + hex dagi domen — FakeTLS.
ee473ce5d4958eb5f968c87680a23854a0676f6f676c652e636f6d
Qayerda ishlatiladi
Secret — proksi havolasidagi server va portdan keyingi uchinchi majburiy parametr: tg://proxy?server=…&port=…&secret=…. Mijoz uni ulanishni obfuskatsiyalash uchun ishlatadi, server esa unga oʻzining mijozi ulanayotganini tekshiradi.
Turli dasturlarda secret
Rasmiy MTProxy bir nechta secret qabul qiladi — -S kalitini takror koʻrsatish mumkin. mtg da secret bitta, u konfiguratsiyada secret parametrida yoziladi. telemt da secret lar [access.users] boʻlimidagi foydalanuvchilarga bogʻlangan, shuning uchun har kimga oʻz havolasini berib, uni alohida bekor qilish mumkin.
Uzunlikni qanday tekshirish kerak
Uzunlik rejimni bildiradi: kesilgan secret ni sezish uchun uni roʻyxat bilan solishtiring:
- 32 belgi — oddiy rejim;
- 34 belgi — dd rejimi;
- 2 + 32 + domen belgilari sonining ikkilangani — ee rejimi;
google.comuchun bu 54.
Qanday olinadi
16 baytli kalit openssl rand -hex 16 yoki head -c 16 /dev/urandom | xxd -ps buyrugʻi bilan yaratiladi. ee rejimi uchun domen bilan birga secret ni mtg generate-secret --hex domen beradi. Secret tarmoq orqali yuborilmaydi: u shifrlash kalitlarini hosil qilishda qatnashadi, shuning uchun usiz mijoz proksiga ulana olmaydi.
Qanday munosabatda boʻlish kerak
Secret — ham parol, ham niqobning bir qismi. Uni bilgan kishi proksiga ulanishi va havolani boshqalarga uzatishi mumkin; ochiq e’lon qilingan secret esa bloklash roʻyxatlarini tuzadiganlarga ham tushishi mumkin. Uni mijozga prefiksi bilan birga toʻliq kiritish kerak: kesilgan secret boshqa rejim beradi yoki umuman ulanmaydi.