اپنے MTProxy ٹیلیگرام کو اعداد و شمار کے ساتھ تعینات کرنا

اپنے MTProxy ٹیلیگرام کو اعداد و شمار کے ساتھ تعینات کرنا

"یہ گندگی مجھے ورثے میں ملی ہے،
بے شرم زیلو سے شروع کرنا۔ LinkedIn
اور ٹیلیگرام پلیٹ فارم پر "باقی سب" کے ساتھ ختم ہوتا ہے۔
میری دنیا میں

اور پھر ہچکی،
اہلکار نے عجلت اور زور سے کہا:
لیکن میں چیزوں کو ترتیب دوں گا (یہاں آئی ٹی میں)"
(...).

Durov، بجا طور پر یقین رکھتا ہے کہ یہ آمرانہ ریاستیں ہیں جنہیں اس سے ڈرنا چاہیے، ایک سائپرپنک، اور Roskomnadzor اور ان کے DPI فلٹرز کے ساتھ سنہری شیلڈز اسے واقعی پریشان نہیں کرتی ہیں۔
(سیاسی تکنیک)

میری تکنیکی پالیسی آسان ہے، میں یہاں RuNet میں لاپرواہی سے بلاک کرنے کے بارے میں اپنے خیالات بیان کر سکتا ہوں، لیکن مجھے یقین ہے کہ جدید روسی اور Habr استعمال کرنے والے ترقی پسند شہریوں نے موجودہ حکومت کی غیر پیشہ ورانہ پن کو اپنی جلد میں محسوس کیا ہے، اس لیے میں خود کو ان تک محدود رکھوں گا۔ ایک جملہ: ہماری تکنیکی پالیسی "ڈیجیٹل مزاحمت" ہے۔ "رشتہ داروں اور دوستوں کو ایک مستحکم مواصلاتی چینل فراہم کرنا۔"

ایم ٹی پروٹو پراکسی ٹیلیگرام کو تعینات کرنا

  • پیچیدگی کی تکنیکی سطح "آسان" ہے، اگر، مثال کے طور پر، آپ اس چیٹ شیٹ کی پیروی کرتے ہیں۔
  • وشوسنییتا کی سطح "اوسط سے اوپر" ہے: ڈوکر امیج مستحکم طور پر کام کرتی ہے، اسے ہر روز دوبارہ شروع کرنے کی ضرورت نہیں ہے، جیسا کہ ڈویلپرز نے اپنے آفیشل ٹیلیگرام دستاویزات میں لکھا ہے، لیکن کنٹینر میں شاید کچھ کمزوریاں ہیں۔
  • مزاحمت/اضطراب کی سطح - ISIS کے 10 ارکان اپنی سازشوں کو "رشتہ دار استعمال کرتے ہیں"، پابندی RKN کی طرف سے ایک بار بھی نہیں آئی (بہار کے بعد سے)۔
  • اعتماد کی سطح "عوامی بچہ عدم اعتماد" ہے، کلائنٹ کی طرف سے ایک مسئلہ ہے (کچھ دوست میرے MtprotoProxy پر مشکوک ہیں)۔
  • ٹیسٹوسٹیرون کی سطح - "زیادہ نہیں ہوا."
  • مالی اخراجات - "0₽"۔
  • مالی انعام - "شہری Durov پر منحصر نہیں ہے." پروموشن - اشتہارات کو مسلط کرنے کی صلاحیت۔

ہم اپنے TelegramProxy کو Amazon-ec2: t2.micro کی "مفت / ذاتی" صلاحیتوں پر بڑھائیں گے۔ میں نے استعمال کیا یہ گاڑی.

ٹھیک ہے، اپنا مفت سرور تعینات کر دیا، سرکاری ویب سائٹ پر جائیں۔ dockerhub اور ڈاکر کنٹینر ڈاؤن لوڈ کریں۔

کچھ تصویر، فائل، یا جادوئی بٹن تلاش کرنے کی ضرورت نہیں - "وہ وہاں نہیں ہیں"، تمام جادو CLI میں کیا جاتا ہے:

$ docker pull telegrammessenger/proxy #образ скачан.

لیکن "اس سے پہلے"، CLI کے لیے docker انسٹال کریں:

sudo apt-get install docker.io docker

مزید، MtprotoProxyTelegram کی سرکاری دستاویزات میں، ہمیں مندرجہ ذیل کی طرح کچھ کرنے کی پیشکش کی گئی ہے، ہم کرتے ہیں:

$ sudo su && docker run -d -p443:443 --name=mtproto-proxy --restart=always -v proxy-config:/data telegrammessenger/proxy:latest #запускаем наш контейнер «mtproto-proxy».

اس کمانڈ کے بعد، ٹرمینل آؤٹ پٹ میں ایک HEX سٹرنگ ظاہر ہوگی، لیکن ہمیں اس میں کوئی دلچسپی نہیں ہے۔

ہم CLI میں لکھتے ہیں:

$ docker logs mtproto-proxy

اور ہمیں مطلوبہ ڈیٹا ملتا ہے:

اپنے MTProxy ٹیلیگرام کو اعداد و شمار کے ساتھ تعینات کرنا
اس لاگ کے آؤٹ پٹ میں، ہمیں دکھایا گیا ہے (smeared):

اے) ہمارا سرور آئی پی (بیرونی سرور آئی پی)؛
B) اور ایک بے ترتیب راز - HEX میں ایک بے ترتیب تار۔

ہمارے MtproProxy کو رجسٹر کرنے سے پہلے، آپ کو مین فائر وال کو iptables پر کنفیگر کرنے کی ضرورت ہے (چاہے آپ ٹریفک کو اس VPC پر کیسے بھیجیں، یہ شرارتی ہوگا، کیونکہ Amazon-EC2 میں مرکزی فائر وال ویب انٹرفیس میں واقع ہے اور اس کی ترجیح زیادہ ہے۔ iptables)۔

ہم جاتے ہیں "کنسول Amazon-EC2" سیکیورٹی گروپ میں اور آنے والی پورٹ 443 کھولیں (منطقی ماسکنگ ٹریفک پہلی دفعہ کے لیے).

اپنے MTProxy ٹیلیگرام کو اعداد و شمار کے ساتھ تعینات کرنا

ہم لاگ سے اپنا "ip اور خفیہ" ڈیٹا لیتے ہیں اور ٹیلیگرام میسنجر پر جاتے ہیں، آفیشل MTProxy Admin Bot (@MTProxybot) تلاش کرتے ہیں اور اپنے MtproProxy کو رجسٹر کرتے ہیں: [/newproxy] کمانڈ چلائیں اور [our_ip:443] درج کریں، اور پھر ہمارا [secret/HEX]۔

اگر آپ ڈیٹا داخل کرتے وقت گڑبڑ کرتے ہیں تو بوٹ ناراض ہو جائے گا اور آپ کو بھیجے گا ...

اگر آپ غلطیوں کے بغیر دو لائنیں پُر کرتے ہیں، تو آپ کو اپنے موجودہ MtprotoProxyTelegram کی منظوری اور ورکنگ لنک ملے گا، جسے آپ کسی کے ساتھ بھی شیئر کر سکتے ہیں۔

اپنے MTProxy ٹیلیگرام کو اعداد و شمار کے ساتھ تعینات کرنا

اس کے علاوہ، اس بوٹ کے ذریعے، آپ اپنا اسپانسرشپ چینل (لیکن چیٹ نہیں) شامل کر سکتے ہیں، جہاں آپ اپنے خیالات کو ان صارفین پر مسلط کریں گے جو آپ کے سرور سے منسلک ہیں، یا آپ "اسپام" نہیں کر سکتے اور اپنے ممکنہ صارفین کو پریشان نہیں کر سکتے۔ چینل کو پن کی گئی میسنجر لسٹ میں دکھا رہا ہے۔

بوٹ کے بارے میں کچھ اور الفاظ، جہاں آپ اعدادوشمار کی درخواست کر سکتے ہیں، لیکن "ایک ڈونٹ بھی"۔ بظاہر، "اعداد و شمار" تب دستیاب ہوتے ہیں جب آپ کے پیچھے "فری لوڈرز کا ہجوم" ہوتا ہے۔

نگرانی

ہم کتنے صارفین کو اپنے سرور سے جوڑ سکتے ہیں؟ اور ویسے بھی، وہاں کون / کیا ہے؟ کیا؟ اور کتنے؟

ہم دیکھتے ہیں کہ سرکاری دستاویزات کے مطابق وہاں کیا ہے... ہاں، یہاں، اس طرح کریں:

$ curl http://localhost:2398/stats или вот так $ docker exec mtproto-proxy curl http://localhost:2398/stats # и нам выдадут статистику прямо в CLI.

"اپنی جیب کو وسیع رکھیں" مجوزہ کمانڈز کے مطابق، ہمیں ہمیشہ ایک جیسی غلطی موصول ہوگی:

«curl: (7) لوکل ہوسٹ پورٹ 2398 سے رابطہ قائم کرنے میں ناکام: کنکشن سے انکار کر دیا گیا»

ہماری پراکسی کام کرے گی۔ لیکن! بیگل، اعدادوشمار نہیں جو ہمیں ملتے ہیں۔

آپ سرخ آنکھوں کے لیے چیزیں کر سکتے ہیں: چیک کریں۔

$ netstat -an | grep 2398 и...

پہلے میں نے سوچا کہ یہ ٹیلیگرام ڈویلپرز کے پیچھے ایک اور جام ہے (اور میں اب بھی ایسا ہی سوچتا ہوں) ، پھر مجھے ایک عارضی اچھا حل ملا: ڈوکر کنٹینر کو فائل کے ساتھ پالش کریں۔

بعد میں، ایک انفا نے میری آنکھ پکڑی:

"اعداد و شمار" کے ارد گرد Roskomnadzor کے ریاستی رقص کے بارے میں.

"ہم نے فائر ہول پروجیکٹ کے ڈیٹا بیس کا استعمال کرتے ہوئے اپنے سرورز پر کچھ عوامی پراکسیوں کو بلاک کر دیا ہے۔ یہ پروجیکٹ عوامی پراکسیوں کے ساتھ فہرستوں کی نگرانی کرتا ہے اور ان کے ساتھ ڈیٹا بیس بناتا ہے۔

اس لمحے سے (یعنی تقریباً دو دن پہلے ہی)، ہمارے روسی پراکسی کا ایک بھی IP ایڈریس بلاک نہیں کیا گیا ہے۔

3. ہم آپ کو بتاتے ہیں کہ ایک ایسی پراکسی کیسے بنائی جائے جو Roskomnadzor کے لیے تقریباً ناقابل تسخیر ہو اور عوامی پراکسیوں کو روکنے کے لیے اسکرپٹ کا اشتراک کریں۔

- MTProto پراکسی ڈوکر کنٹینر (یا ڈیمون) کو تازہ ترین ورژن میں اپ ڈیٹ کریں: RKN اعداد و شمار کے پورٹ کے ذریعے پرانے ورژن کا حساب لگاتا ہے، جو 0.0.0.0 پر پابند تھا اور پورے انٹرنیٹ کے لیے منفرد طور پر خود کو شناخت کرتا ہے۔ بہتر ابھی تک، iptables کا استعمال کرتے ہوئے ضروری بندرگاہوں کو کھولیں، اور باقی بند کریں (یاد رکھیں کہ ڈوکر کنٹینر کی صورت میں، آپ کو FORWARD اصول استعمال کرنا چاہئے)۔

— Roskomnadzor نے بہت پہلے ٹریفک کو ڈمپ کرنے کا طریقہ سیکھا تھا: وہ HTTP اور SOCKS5 پراکسی کے اندر درخواستیں دیکھتے ہیں، اور وہ MTProto پراکسی اوبسیکشن کا پرانا ورژن بھی دیکھتے ہیں۔

جب کچھ فراہم کنندگان کے کلائنٹ جن کے پاس اس طرح کے ڈمپ نصب ہیں، ٹیلی گرام تک ایسی پراکسیز کے ذریعے رسائی حاصل کرتے ہیں، RKN ایسی درخواستوں کو دیکھتا ہے اور فوری طور پر ان پراکسیوں کو روک دیتا ہے۔ MTProto پراکسی پرانے مبہم کے ساتھ بھی یہی ہے۔

حل: پراکسی سے جڑنے والے کلائنٹس کو شروع میں صرف dd کے ساتھ خفیہ تقسیم کریں (خود mtproto پراکسی کی سیٹنگز میں dd اضافی حروف کی وضاحت کرنے کی ضرورت نہیں ہے)۔ یہ مبہم ہونے کے ایک ایسے ورژن کو قابل بنائے گا جس کا پتہ ڈمپائل نہیں لگا سکتے۔

اور کوئی HTTP یا SOCKS5 پراکسی نہیں ہے۔

- ایڈجسٹمنٹ، جس کی مدد سے ٹیلیگرام پراکسی کا ہر مالک، جس پر RKN کی طرف سے پابندی لگا دی گئی ہے، مکمل طور پر (یا تقریباً مکمل طور پر) بلاک کرنا بند کر سکتا ہے (اور ساتھ ہی یہ بھی یقینی بنا سکتا ہے کہ RKN جھوٹ بول رہا ہے)۔

ایک اسکرپٹ جو عوامی پراکسیوں پر پابندی لگاتا ہے اور اس کے لیے ایک چھوٹا دستی۔

ماخذ

ہماری پراکسی مغرب کے حامی ہے، مجھے موسم بہار اور ٹھنڈے موسم گرما کے دنوں میں کسی قسم کی دشواری/ بلاکنگ کا سامنا نہیں کرنا پڑا، اس نے تخلیقی کام کو بھی اپنی طرف متوجہ نہیں کیا، اس لیے میں نے رفتار نہیں کھوئی اور اس میں dd* سابقہ ​​شامل نہیں کیا۔ چابی.

MtprotoProxyTelegram کی آفیشل ہدایات کے مطابق "اعداد و شمار حاصل کرنا/مانیٹرنگ" کا دستی کام نہیں کر رہا/پرانا ہے، آپ کو ڈاکر امیج کو ٹھیک کرنا پڑے گا۔

ہم اسے ٹھیک کرتے ہیں۔

کنٹینر اب بھی چل رہا ہے:

$ docker stop mtproto-proxy #останавливаем наш запущенный docker-контейнер и запускаем новый образ с пропущенным флагом статистики

$ docker run --net=host --name=mtproto-proxy2 -d -p443:443 -v proxy-config:/data -e SECRET=ваш_предыдущий_секрет_hex telegrammessenger/proxy:latest

آئیے اعدادوشمار کو چیک کرتے ہیں:

$ curl http://localhost:2398/stats

curl: (7) 0.0.0.0 پورٹ 2398 سے منسلک ہونے میں ناکام: کنکشن سے انکار کر دیا گیا
اعداد و شمار ابھی تک دستیاب نہیں ہیں..!

ڈاکر کنٹینر کی شناخت معلوم کریں:

$ docker ps

کنٹینر آئی ڈی امیج کمانڈ نے اسٹیٹس پورٹس کے نام بنائے
f423c209cfdc telegrammessenger/proxy:latest "/bin/sh -c '/bin/ba…" تقریباً ایک گھنٹہ پہلے اوپر تقریباً ایک منٹ 0.0.0.0:443->443/tcp mtproto-proxy2

ہم اپنے چارٹر کے ساتھ ڈوکر کنٹینر کے اندر جاتے ہیں:

$ sudo docker exec -it f423c209cfdc /bin/bash

$ apt-get update
$ apt-get install nano
$ nano -$ run.sh

اور "run.sh" اسکرپٹ کی آخری لائن میں، گمشدہ پرچم شامل کریں:

«--http-اعدادوشمار»
"exec /usr/local/bin/mtproto-proxy -p 2398 -H 443 -M "$WORKERS" -C 60000 --aes-pwd /etc/telegram/hello-explorers-how-are-you-doing -u روٹ $CONFIG --allow-skip-d h --nat-info "$INTERNAL_IP:$IP" $SECRET_CMD $TAG_CMD"

"--http-stats" شامل کریں، اس طرح کچھ کام کرنا چاہئے:

«exec /usr/local/bin/mtproto-proxy -p 2398 --http-stats -H 443 -M "$WORKERS" -C 60000 --aes-pwd /etc/telegram/hello-explorers-how-are-you-doing -u root $CONFIG --allow-skip-d h --nat-info "$INTERNAL_IP:$IP" $SECRET_CMD $TAG_CMD»

Ctrl+o/Ctrl+x/Ctrl+d (نینو/ایگزٹ کنٹینر کو محفوظ کریں/باہر نکلیں)۔

ہمارے ڈاکر کنٹینر کو دوبارہ شروع کریں:

$ docker restart mtproto-proxy2

سب کچھ، اب حکم پر:

$ curl http://localhost:2398/stats #получаем объемную статистику

اپنے MTProxy ٹیلیگرام کو اعداد و شمار کے ساتھ تعینات کرنا
اعداد و شمار میں بہت زیادہ "کچرا" ہے (اس کا 1/3 اسکرین پر ہے)، ایک عرف بنائیں:

$ echo "alias telega='curl localhost:2398/stats | grep -e total_special -e load_average_total'" >> .bashrc && bash

ہمیں وہ چیز ملتی ہے جس کے لیے ڈوکر کنٹینر پالش کیا گیا تھا: کنکشن کی تعداد اور بوجھ:

$ telega

اپنے MTProxy ٹیلیگرام کو اعداد و شمار کے ساتھ تعینات کرنا
ڈوکر کنٹینر چل رہا ہے، اعداد و شمار گھوم رہے ہیں۔

وسائل خرچ کئے

جیسا کہ آپ سٹورٹ ریڈمین ہیں، یہاں تک کہ آپ اپنی جاںگھیا پر ایک نشان چھوڑ جاتے ہیں. چلتی ہوئی ڈوکر کی تصویر ایک بڑا نقش چھوڑتی ہے۔

ڈوکر امیجز کے فائدے اور نقصانات کو بیان کرنا کوئی معنی نہیں رکھتا، ایک ڈوکر کنٹینر ایک منی ورچوئل مشین ہے جو ورچوئل باکس جیسی "حقیقی" ورچوئل مشین سے کم وسائل استعمال کرتی ہے، لیکن ایسا ہوتا ہے۔

1) ڈاکر امیج کے اعدادوشمار کے ساتھ یا اس کے بغیر لانچ کیا گیا، دو کلائنٹ فرولک یا دس - ​​وسائل کا استعمال اسی طرح کیا جاتا ہے: پوری CPU t75.micro کارکردگی کا 2%۔

2) ہم VPC سرور کی نگرانی کو دیکھتے ہیں:

اپنے MTProxy ٹیلیگرام کو اعداد و شمار کے ساتھ تعینات کرنا

VPC پر وسائل کے استعمال کے گراف سے، ہم دیکھتے ہیں کہ ڈوکر کنٹینر مسلسل کل زیادہ سے زیادہ کا ~ 7,5% استعمال کرتا ہے۔ CPU کی کارکردگی اور 28 مئی کو میرے ذریعہ جان بوجھ کر / عارضی طور پر روک دیا گیا تھا۔ (نوٹ - اوپن وی پی این اور پی پی ٹی پی بھی سرور پر چل رہے ہیں)۔

اس سرور کے لیے 10% مستقل CPU استعمال کی حد کیوں ہے؟

کیونکہ Amazon EC2 کی طرف سے پابندیاں ہیں اور ان کا حساب کریڈٹ میں کیا جاتا ہے:

اپنے MTProxy ٹیلیگرام کو اعداد و شمار کے ساتھ تعینات کرنا

1 CPU کریڈٹ = 1 CPU ایک منٹ کے لیے 100% بوجھ پر کام کر رہا ہے، اور ہمارے پاس 6 کریڈٹ ہیں (یعنی چوٹیوں پر، 100% CPU استعمال 6 منٹ کے اندر ممکن ہے، اور پھر CPU کی طاقت کم ہو جائے گی)۔ دیگر مجموعے: مثال کے طور پر، 1 CPU کریڈٹ = 1 CPU دو منٹ کے لیے 50% لوڈ پر چل رہا ہے (یعنی ہم CPU کو 50 منٹ کے لیے 12% بوجھ پر استعمال کر سکتے ہیں)، یا، مثال کے طور پر، مسلسل 10%-th CPU لوڈ کے دوران سارا وقت، وغیرہ

نتائج

  • ہم "ڈیجیٹل مزاحمت" کا حصہ ہیں۔ ان کے "والد اور ماؤں" کو ایک قابل اعتماد مواصلاتی چینل فراہم کیا۔
  • اگر آپ کے پاس سرور پر MtprotoProxyTelegram اور OpenVPN تعینات ہیں، لیکن مزید نہیں، کوئی تاخیر/پنگ/ناکامی نہیں ہوگی، لیکن اگر آپ اپنے t2/مائیکرو کے ساتھ مسلسل تجربہ کر رہے ہیں، تو کمیونیکیشن بریک کا انتظار کریں۔
  • میری اوورسیز پنگ ~100-250ms ہے، صوتی مواصلات میں کوئی تاخیر نہیں ہے۔
  • تمام "اس" کے لیے مالی اخراجات (بشمول VPC وسائل) = 0₽۔

اپنے مضمون کا دوبارہ پرنٹ کریں۔

UPD: مفید تبصروں کے لیے کچھ ہیبروزر کا شکریہ، واقعی، یہ ممکن ہے (کیا اعدادوشمار کی تائید ہے؟)، سرکاری Mtproto proxy Telegram docker امیج کے بہتر اینالاگ موجود ہیں۔

ماخذ: www.habr.com

نیا تبصرہ شامل کریں