ليش تيليgram الرسمي ما فيه زر "استيراد قائمة"؟
لأن التطبيق الرسمي على أندرويد وiOS وويندوز مصمم يشتغل ببروكسي واحد ثابت أو بروكسي مخصص للمكالمات. في أي لحظة، عندك مكان واحد تضيف فيه بروكسي، والافتراضي إنك تلصق tg://proxy من الحافظة. ما في أي منطق داخلي لـ pool من البروكسيات. هذا قرار تصميم، مو نقص في البرمجيات: تيليgram يبي تجربة "لصق وهيك خلص"، وأي شيء أكثر من كذا تركوه للتطبيقات البديلة.
طيب، أي عميل أصلاً يدعم قوائم بروكسيات؟
التطبيقات التي تسمح بتخزين أكثر من بروكسي والتبديل بينهم بدون مسح ولصق يدوي:
- Plus Messenger وNekogram على أندرويد: في صفحة الإعدادات فيه قائمة "بروكسيات" وتقدر تضيف كل واحد على حده بعده تتبدل بينهم بضغطة. هذا النوع الوحيد من شبه "قائمة" في عالم عملاء تيليgram.
- Telegram Desktop على ويندوز/لينكس/ماك: يدعم بروكسي واحد فقط. تضيفه، يشتغل، وإذا ميّت تنتقل للإعدادات وتغيّره باليد.
ما في عميل يحترم نفسه يقبل ملف نصي فيه 50 بروكسي ويوزعهم على حساباتك. لمّا تسمع كلمة "بulk import" في أدوات MTProto، غالباً المقصود API خارجي أو سكربت يهمّش القائمة على شكل لينكات جاهزة للنقر، وهو بالضبط اللي تحاول تهرب منه.
كيف أمسك قائمة محلية وأديرها بنفسي؟
الطريقة العملية: سحب قائمة البروكسيات الحية من مشروع free-mtproto-proxies أو أي مصدر ينشر JSON. المشروع هذا ينشر قوائم مجدولة بالآلة مع دعم FakeTLS، فبدل ما تفتح الصفحة وتنقر كل لينك على حده، تأخذ الملف كامل وتحوّله لصيغة تفيدك.
مثال بسكربت cURL مع jq، بفرض إن القائمة فيها حقول host وport وsecret:
curl -s https://example.com/proxies.json | \
jq -r '.[] | select(.faketls == true) | "tg://proxy?server=\(.host)&port=\(.port)&secret=\(.secret)"' \
> proxies.txt
بعدين انقل الملف لجهازك، وأي بروكسي يحتاج لصقة تروح ملف proxies.txt وتستخرج سطر عشوائي:
shuf -n 1 proxies.txt
هذا يحل مشكلة "القائمة اللي ترمش بعينك كل ما نقرت". لكن الاحفظ على كل حال: القائمة المصدَرَة تولدها سكريبت فحص — يعني في وقت النسخة، البروكسي حي. بعدها بساعتين ممكن يموت، لأن MTProto بروكسيات مجانية أغلبها شغالة على سيرفرات مستأجرة بأرقام تُحظر دورياً.
كيف أفلتر البروكسيات الميتة بدون رحمة؟
خطأ شائع: اختبار البروكسي بالتجربة، يعني تدخله في تيليgram وتنتظر لين تصير الدوائر خضراء. هذا مضيعة وقت. أسرع فحص على مستوى الشبكة هو اختبار اتصال TCP بسيط. معظم بروكسيات MTProto الشغالة تسمح اتصال مباشر مع nc، خصوصاً لو شغالة على منافذ الـ 80 أو الـ 443 أو 8443:
timeout 3 nc -zv server_address 443
فشل الاتصال = احذف السطر من proxies.txt. بس اصبر: الفحص هذا يدل على إن المنفذ مفتوح، مو على إن البروتوكول نفسه شغال، ومو على إن الـ secret اللي عندك صحيح. واحدة من كل عشر حالات، المنفذ يكون مفتوح بس على خدمة ثانية غير MTProto، فبتكتشف ذلك إلا لمّا تجربه فعلياً في التطبيق. للتأكد من صحة الـ secret مع FakeTLS، يمديك تفحص المصافحة بنفسك: سكوت الـ FakeTLS يبدأ باخت 17 بايت، أول بايت فيه ee، والباقي 16 بايت HMAC key. أرسل ClientHello بصيغة TLS عادي — إذا ما رد عليك ServerHello خلال 10 ثواني، فالقيد ميت علمياً.
مثال عملي لعملية تنظيف كاملة:
bash
while read line; do
host=$(echo "$line" | sed -n 's/.*server=\([^&]*\).*/\1/p')
port=$(echo "$line" | sed -n 's/.*port=\([^&]*\).*/\1/p')
timeout 3 nc -zv "$host" "$port" 2>/dev/null && echo "$line" || echo
Top comments (0)