DEV Community

Humja Jaan
Humja Jaan

Posted on

حقل القناة المُروَّجة: الثمن الخفي للبروكسيات المجانية على تيليجرام

لماذا البروكسي المجاني ليس مجانيًا فعلًا

لنبدأ بسؤال مباشر: من يدفع فاتورة الخادم الذي يمرر حركة مرورك؟ خادم VPS صغير يكفي لبروكسي MTProto واحد، وتكلفته الشهرية تتراوح بين 5 و20 دولارًا حسب المزود والموقع. عندما تجد قائمة بروكسيات مجانية تُحدث يوميًا، فأنت تنظر إلى شخص يحرق ماله دون عائد. هذا غير منطقي. المنطق الأكثر شيوعًا هو أن المُشغِّل يعوّض التكلفة بطريقة لا تظهر في واجهة التطبيق.

الطريقة الأشهر والأقل مناقشة هي حقل promoted_channel. هذا الحقل ليس موثّقًا جيدًا، لكنه موجود في كود بروتوكول MTProto منذ إصدارات قديمة، ويسمح لصاحب البروكسي بتحديد قناة تظهر تلقائيًا في قسم "القنوات المقترحة" داخل تطبيق تيليجرام.

كيف يعمل الـ pinning فعليًا

عندما يتصل عميل تيليجرام بخادم MTProto proxy، يرسل الخادم رسالة mtproto.rpc_result تحتوي على بيانات الاستجابة. بعض التطبيقات تتعامل مع نوع رسالة إضافي يُسمى mtproto.ProxyInfo أو ما يشابهه في التنفيذات المخصصة، وفيها حقل promoted_channel الذي يحمل معرّف القناة واسمها وربما صورة مصغرة.

الجدير بالذكر: تيليجرام الرسمي (سواء iOS أو Android أو Desktop) يتجاهل هذا الحقل تمامًا في معظم الإصدارات. لكن بعض العملاء المعدّلين مثل Plus Messenger أو بعض نسخ Telegram Desktop غير الرسمية، أو حتى العملاء الذين كتبوا مكتباتهم الخاصة بالبروتوكول، قد يعرضون هذه القناة كمقترح بجانب القنوات الأخرى.

هذا يعني أن المستخدم في بيئة عربية يستخدم نسخة معدلة لزيادة الخصوصية قد يجد فجأة قناة إخبارية أو قناة "عروض كوبونات" في قائمة الاقتراحات، دون أن يطلبها أو يفتحها بنفسه. لا يوجد إشعار. لا يوجد طلب موافقة. مجرد ظهور.

نموذج العمل خلف هذا الحقل

لنفترض أنك تدير 5000 مستخدم يتصلون ببروكسيك يوميًا. اربط قناة تبيع إعلانات لشركات محلية، بسعر 50-200 دولار للإعلان الواحد الذي يصل لجمهورك. يظهر الإعلان لمستخدم واحد يوميًا كافٍ لتحقيق عائد. الخادم يكلفك 15 دولارًا. الهامش واضح.

هذا النموذج مستدام بشكل أفضل من الاعتماد على التبرعات أو الإعلانات في قناة خاصة بالبروكسي. القناة المروَّجة تصل مباشرة إلى عين المستخدم دون وسيط، ويصعب على المستخدم العادي تمييزها عن قناة مقترحة طبيعية من تيليجرام نفسها.

لكن هناك مشكلة. المشغِّل ليس من يختار *متى* تظهر القناة. التطبيق — إذا كان يدعم الحقل — يقرر الترتيب والزمان. وقد يظهر للحقل السلوك نفسه الذي يظهر لحقل "القنوات المجاورة" في القنوات الكبيرة: يمكن لإعدادات الخصوصية في تيليجرام (Telegram Settings > Privacy and Security > Channels) في بعض الإصدارات أن تحجب هذه الاقتراحات كليًا، إذا كان المستخدم يعرف مكان الإعداد.

كيف تتأكد أن بروكسيك "ملوَّث"

الفحص العملي ليس صعبًا، لكنه يتطلب قليلًا من الأدوات:

  1. استخدم عميل رسمي بأحدث إصدار. إذا لم تظهر أي قناة غريبة بعد أسبوع من الاستخدام، فالأرجح أن حقل promoted_channel إما غير موجود أو غير مدعوم. هذا الفحص ناقص، لأن بعض العملاء يعرضون الحقل فقط بعد فترة زمنية معينة أو عند أول اتصال لكل جلسة.

  2. جرّب الاتصال عبر proxytest على منفذ غير معتاد. أوامر اختبار البروكسي المتقدمة — مثل إرسال MTProxy ping packets بترتيب بايتات محدد — لا تظهر البيانات الوصفية للقناة في الاستجابة النصية، لكن يمكنك تصفية استجابة الخادم عبر أداة مثل tcpdump أو wireshark والبحث عن سلاسل مثل promoted_channel أو channel_id في الحمولةhexdump. لاحظ أن هذا يقتضي فهم تنسيق MTProto حتى على مستوى ثنائي، وهو ليس تافهًا.

  3. المراقبة السلبية. افتح قناة البروكسي نفسه. إذا كان يدير قائمة بقنوات "مقترحة" ويوظفها بشكل متكرر، فغالبًا ما يستخدم القناة المخزنة في الحقل نفسه لاستهداف مستخدمي البروكسي.

مقايضة الصمت مقابل الصيانة

هنا نحتاج إلى الصدق. أغلب مطوري قوائم البروكسيات المجانية المعروفة — ومنها مشاريع ماتشبه https://github.com/dubblebyte/free-mtproto-proxies — لا يذكرون حقل promoted_channel في بياناتهم لأنهم ببساطة لا يستطيعون قراءته بشكل صحيح لكل خادم. بروكسي الوكيل هو مجرد صندوق مرور؛ بيانات القناة تُخزن في استجابة الخادم، وليس في الوصف النصي الذي يلتقطه المطوّر.

لذلك: حتى لو كانت قائمتك نظيفة من بروكسيات بها ذلك الحقل، فأنت لست محميًا بالكامل من التلاعب طالما أنك غير قادر على التحقق من كل بروكسي بشكل ديناميكي. الحل الجذري — تشغيل بروكسيك الخاص عبر خادم مسجل باسمك — يزيل هذه المشكلة نهائيًا، لكنه يفرض عليك تكلفة وقت وإدارة تحديثات.

علامة إضافية تستحق المراقبة

في النسخ الحديثة من بروتوكول MTProto، يتم ضغط الحقل في طبقة PQP الداخلية أحيانًا، ولا يظهر أبدًا في نص الاستجابة المفتوح. إذا رأيت في فحص الحزمة أرقامًا متسلسلة غريبة تشير إلى mod_q تساوي قيمة ثابتة (مثل الرقم المعروف لخوارزمية MTProto v2 على المنفذ 443)، فهذا ليس بالضرورة دليلًا. العلامة الأوضح هي ضغط الناقل على طول ارتباط بقيمة transport تختلف عن 0xEE، أي الاستجابة ليست random padding بل بيانات فعلية.

لا أحد يدّعي معرفة كاملة بهذا النظام. الأمثلة على بروكسيات تستخدم الحقل فعليًا ضعيفة التوثيق لدرجة أنني لا أستطيع إعطاءك رقم “أغلبية” مقنعًا. ما أعرفه يقينًا: الحقل موجود، وتكلفة تشغيل بروكسي مجاني مشبوهة رياضيًا، والتحقق الرسمي من تيليجرام لتوافق العملاء لا يشمل الحقل نفسه.

راقب قنواتك المقترحة كل أسبوعين، واستخدم عميلًا رسميًا إذا كانت سرعتك معتدلة. التكلفة الحقيقية للبروكسي المجاني تظهر في أماكن لا تبحث عنها عن الزمن الحقيقي غالبًا.

Top comments (0)