ما هو البروكسي وكيف يعمل؟
البروكسي (proxy) خادم وسيط يتصل بالمواقع نيابةً عنك. يرسل برنامجك الطلب إلى البروكسي، فيفتح البروكسي الاتصال بالموقع ويعيد إليك الرد. لذلك يرى الموقع عنوان IP الخاص بالبروكسي، لا عنوانك.
التعريف في معيار HTTP
تعرّف مواصفة دلالات HTTP في RFC 9110، القسم 3.7 البروكسي بأنه وكيل لتمرير الرسائل يختاره العميل، وعادةً عبر إعدادات محلية. الكلمة المهمة هنا «يختاره العميل». فأنت من يضبط البرنامج أو الجهاز ليمرّ عبره، والموقع لا يعلم بذلك إلا مما يصله.
وتميّز المواصفة نفسها بين ثلاثة أنواع من الوسطاء. البروكسي يختاره العميل. والبوابة (gateway) أو البروكسي العكسي تضعها الجهة المالكة للموقع أمام خوادمها.
والنفق (tunnel) يمرّر البيانات كما هي دون أن يقرأها. الفرق بين الأولين مشروح في البروكسي الأمامي والبروكسي العكسي.
كيف يمر الطلب عبر البروكسي
لنفترض أنك ضبطت متصفحك على بروكسي، ثم فتحت موقعاً. هذا ما يحدث بالترتيب:
- يفتح المتصفح اتصال TCP بعنوان البروكسي ومنفذه، لا بعنوان الموقع.
- يخبر المتصفح البروكسي بالوجهة. في بروكسي HTTP يكتب العنوان الكامل في سطر الطلب أو يرسل طلب CONNECT، وفي SOCKS5 يرسل اسم الوجهة ومنفذها في رسالة ثنائية قصيرة.
- إن كان البروكسي يطلب مصادقة، يرسل المتصفح اسم المستخدم وكلمة المرور. التفاصيل في مصادقة البروكسي.
- يحلّ البروكسي اسم الموقع إلى عنوان إن لزم، ثم يفتح اتصالاً من عنوانه هو إلى خادم الموقع.
- يرسل الموقع رده إلى البروكسي، فيعيده البروكسي إلى المتصفح على الاتصال الأول.
النتيجة اتصالان منفصلان: واحد بينك وبين البروكسي، وآخر بين البروكسي والموقع. والموقع لا يرى إلا الاتصال الثاني.
لماذا يُستعمل البروكسي
الاستعمالات كثيرة، لكنها ترجع إلى أمرين: تغيير المكان الذي يخرج منه الاتصال، أو جمع الحركة في نقطة واحدة يمكن ضبطها. ومن أمثلتها:
- رؤية موقع أو تطبيق كما يراه المستخدمون في بلد آخر، لأن كثيراً من الخدمات تختلف بحسب بلد العنوان.
- اختبار موقعك أو إعلانك من شبكات مختلفة قبل نشره.
- توزيع طلبات برامج جمع البيانات العامة على عناوين خروج مختلفة.
- تصفية حركة الموظفين وتخزين الصفحات المتكررة مؤقتاً داخل شركة.
- فصل برنامج واحد عن بقية الجهاز، فيخرج هو من عنوان وتبقى البرامج الأخرى على اتصالك العادي.
أنواع البروكسي حسب البروتوكول
كلمة «بروكسي» تغطي بروتوكولات مختلفة. الفرق بينها في ما يفهمه البروكسي من حركتك، وفي تشفير الطريق بينك وبينه.
| النوع | ما يمرّره | الطريق إلى البروكسي | المعيار |
|---|---|---|---|
| بروكسي HTTP | طلبات الويب، ومواقع https عبر نفق CONNECT | غير مشفّر | RFC 9110 وRFC 9112 |
| بروكسي HTTPS | مثل بروكسي HTTP | مشفّر بـ TLS | المعايير نفسها فوق TLS |
| SOCKS5 | أي اتصال TCP، وUDP إن دعمه الخادم | غير مشفّر | RFC 1928 |
المقارنة التفصيلية بين النوعين الأولين وSOCKS5 في الفرق بين SOCKS5 وHTTP. وطريقة عمل النفق والتشفير إلى البروكسي في طلب CONNECT وبروكسي HTTPS.
من يرى ماذا
البروكسي ينقل نقطة الخروج، لكنه لا يُخفي كل شيء عن كل طرف. ما يراه كل طرف يتوقف على نوع البروكسي وعلى تشفير الموقع نفسه:
- مزوّد الإنترنت عندك: يرى أنك متصل بالبروكسي، وحجم البيانات وتوقيتها. مع بروكسي غير مشفّر يرى أيضاً أسماء المواقع، ومحتوى الصفحات التي لا تستخدم https.
- البروكسي: يرى عنوانك الحقيقي، وأسماء المواقع التي تطلبها. مع مواقع https لا يرى المحتوى، لأن التشفير يمتد من متصفحك إلى الموقع مباشرة.
- الموقع: يرى عنوان البروكسي. وقد يعرف عنوانك إن أضاف البروكسي ترويسات تحمله، أو إن كشفه المتصفح بطريق آخر كـ WebRTC.
الترويسات التي قد يضيفها البروكسي معروفة. تطلب RFC 9110 من البروكسي إضافة ترويسة Via إلى الرسائل التي يمرّرها، ويعرّف RFC 7239 ترويسة Forwarded التي قد تحمل عنوان العميل. هذه الترويسات لا تُضاف إلا إلى طلبات HTTP غير المشفّرة، فالبروكسي لا يستطيع تعديل طلب داخل نفق TLS.
البروكسي ليس شبكة افتراضية خاصة
البروكسي يعمل لكل برنامج على حدة. البرنامج الذي لم تضبطه عليه يبقى على اتصالك العادي، وبعض البرامج تتجاهل إعدادات النظام. أما الشبكة الافتراضية الخاصة (VPN) فتنشئ واجهة شبكة على الجهاز وتمرّر حركة النظام كله على مستوى حزم IP.
لذلك يناسب البروكسي برنامجاً محدداً أو سكربتاً أو متصفحاً، وتناسب VPN الجهاز كله. الشرح الكامل في ما هي الشبكة الافتراضية الخاصة.
كيف تختبر بروكسي بنفسك
أبسط اختبار أن تطلب صفحة تعرض عنوانك، مرة دون البروكسي ومرة عبره. بأداة curl يبدو ذلك هكذا، مع استبدال العنوان والمنفذ ببيانات البروكسي عندك:
curl https://ifconfig.me
curl -x http://proxy.example.com:8080 https://ifconfig.me
curl -x socks5h://proxy.example.com:1080 https://ifconfig.me
يجب أن يختلف العنوان في السطرين الأخيرين عن الأول. إن تطابق فالطلب لم يمر عبر البروكسي. وفي المتصفح، افتح أداة عنوانك قبل تفعيل البروكسي وبعده، وقارن العنوان والشبكة (ASN) والبلد.
ولمعرفة ما يصل إلى الموقع من ترويسات، استخدم أداة ترويسات HTTP. فإن ظهر فيها عنوانك الحقيقي، فالبروكسي يكشفه.
كيف تختار بروكسي
- تشفير الطريق إليه: على شبكة لا تثق بها، كشبكة مقهى، اختر بروكسي HTTPS أو اتصالاً مشفّراً آخر. HTTP وSOCKS5 يرسلان الوجهة وكلمة المرور دون تشفير.
- مكان حلّ الأسماء: إن حُلّت أسماء المواقع على جهازك، فقد يرى خادم DNS المحلي المواقع التي تزورها. الشرح في تسريب DNS.
- نوع العنوان: عنوان مركز بيانات أو عنوان منزلي أو خلوي، ولكل منها سمعة مختلفة عند المواقع. التفاصيل في أنواع عناوين البروكسي.
- السجلات: البروكسي يرى عنوانك ووجهاتك، فاقرأ ما يقوله المزوّد عن تسجيلها ومدة حفظها.
- المصادقة: البروكسي المفتوح بلا كلمة مرور يستخدمه أي أحد، وقد يكون عنوانه محظوراً أو مراقَباً.
البروكسي في syriaproxy
نوفّر بروكسي SOCKS5 وHTTP وHTTPS للبرامج، يخرج من شبكة سيريتل للجيل الرابع داخل سوريا. الأسماء تُحلّ داخل سوريا عبر خوادم سيريتل، وSOCKS5 وHTTP عندنا غير مشفّرين مثل أي بروكسي من نوعهما، أما HTTPS فمشفّر. الإعداد في إعداد البروكسي.
أسئلة شائعة
هل البروكسي يُخفي هويتي تماماً؟
لا. هو يغيّر العنوان الذي يراه الموقع فقط. الحسابات التي تدخلها، وملفات تعريف الارتباط، وبصمة المتصفح، كلها تبقى كما هي، والبروكسي نفسه يرى عنوانك الحقيقي.
هل يشفّر البروكسي اتصالي مثل VPN؟
بروكسي HTTP وSOCKS5 لا يشفّران شيئاً. بروكسي HTTPS يشفّر الطريق بينك وبين البروكسي فقط، وما بعده يحميه تشفير الموقع إن وُجد.
لماذا يعمل البروكسي في المتصفح ولا يعمل في برنامج آخر؟
لأن كل برنامج يقرأ إعدادات البروكسي بطريقته. بعضها يتبع إعدادات النظام، وبعضها له إعداد خاص، وبعضها لا يدعم البروكسي أصلاً. لهذه البرامج تكون VPN أنسب.
ما الفرق بين البروكسي الشفاف والبروكسي العادي؟
البروكسي الشفاف تضعه الشبكة في طريقك دون أن تضبطه أنت، كما في بعض الشركات ومزوّدي الإنترنت. وتسمّيه RFC 9110 بروكسي الاعتراض، لأن العميل لم يختره.
اختبر البروكسي الذي تستخدمه بأداة فحص البروكسي المجانية: هل يعمل، وسرعة استجابته، وعنوان خروجه.