إذا لم يتم تثبيت المكونات الإضافية في IDEs من JetBrains، أو إذا كان Maven أو pip لا يمكنهما تنزيل الاعتمادات، أو إذا لم يفتح المتجر - فمن المحتمل أن تكون المشكلة في القيود الشبكية. يقوم البروكسي بحل هذه المشكلة في بضع دقائق. في هذه المقالة، سنستعرض جميع طرق الإعداد: من خلال واجهة IDE المدمجة، ومن خلال المتغيرات النظامية، ومن خلال ملفات التكوين - لـ PyCharm و IntelliJ IDEA و WebStorm و GoLand وغيرها من منتجات JetBrains.
لماذا يحتاج المطور إلى بروكسي في IDE
تتصل IDEs من JetBrains بالشبكة بشكل نشط: تقوم بتنزيل المكونات الإضافية من المتجر، وتحديث الفهارس، وسحب الاعتمادات من Maven Central و PyPI و npm وغيرها من المستودعات، والتحقق من الترخيص، ومزامنة الإعدادات عبر حساب JetBrains. إذا تم حظر أي من هذه الطلبات - تتباطأ العملية أو تتوقف تمامًا.
إليك بعض المواقف المحددة التي لا يمكن الاستغناء فيها عن البروكسي:
- شبكة مؤسسية مع جدار ناري. تمر العديد من الشركات حركة المرور الخارجية فقط عبر خادم بروكسي مؤسسي. بدون إعداد هذا في IDE، لن يتم تثبيت المكونات الإضافية، ولن يتم تنزيل الاعتمادات.
- حجب جغرافي. بعض المستودعات و CDN محظورة جغرافيًا. يقوم البروكسي بالموقع المطلوب بإزالة هذا الحظر.
- العمل من دولة ذات إنترنت محدود. قد لا يكون JetBrains Marketplace و GitHub Packages و Maven Central متاحة مباشرة.
- تطوير واختبار التطبيقات الشبكية. تحتاج إلى توجيه حركة مرور IDE عبر عقدة معينة للتحقق من سلوك التطبيق من منطقة أخرى.
- الأمان في الشبكات العامة. عند العمل من مقهى أو مساحة عمل مشتركة، يقوم البروكسي بتشفير حركة مرور IDE ويحمي الرموز والمفاتيح من الاعتراض.
- تجاوز القيود العقابية. بعد عام 2022، فرضت بعض المستودعات والخدمات الخارجية قيودًا على IP - يسمح البروكسي بالاستمرار في العمل دون تغيير الأدوات.
على عكس المتصفح، حيث يتم إعداد البروكسي مرة واحدة ويعمل عالميًا، يجب إعداد البروكسي في IDEs من JetBrains بشكل منفصل - وأحيانًا في عدة أماكن: في IDE نفسها، وفي مدير الاعتمادات، وفي مترجم اللغة. دعونا نستعرض كل مستوى بالترتيب.
أي نوع من البروكسي يجب اختياره لـ JetBrains
تدعم IDEs من JetBrains ثلاثة أنواع من البروكسي: HTTP و HTTPS و SOCKS5. تناسب بروكسي HTTP/HTTPS معظم مهام المطور - فهي تعمل بشكل شفاف مع جميع طلبات IDE و Maven و Gradle و pip. يوفر SOCKS5 مزيدًا من المرونة ويعمل على مستوى TCP، مما يكون مفيدًا للبروتوكولات غير القياسية.
| نوع البروكسي | الدعم في IDE | مناسب لـ | الميزات |
|---|---|---|---|
| HTTP/HTTPS | ✅ أصلي | المكونات الإضافية، الاعتمادات، الترخيص | أسهل إعداد |
| SOCKS5 | ✅ أصلي | أي اتصالات TCP | يدعم المصادقة |
| ملف PAC | ✅ عبر الإعدادات النظامية | الشبكات المؤسسية | توجيه مرن |
| بروكسي النظام | ✅ اكتشاف تلقائي | عندما يكون معدًا بالفعل في نظام التشغيل | لا يتطلب إعدادات إضافية |
إذا كنت تعمل مع بروكسي مؤسسي - فمن المحتمل أنه HTTP/HTTPS مع مصادقة بواسطة اسم المستخدم وكلمة المرور. إذا كنت تتصل بخدمة بروكسي خارجية لتجاوز الحجب، فانتبه إلى بروكسي مراكز البيانات - فهي توفر سرعة عالية واستقرار في الاتصال، وهو أمر حاسم عند تنزيل الاعتمادات الكبيرة والفهارس.
إعداد البروكسي من خلال واجهة IDE (HTTP/HTTPS)
هذه هي الطريقة الأسهل والأكثر توصية. يتم تطبيق الإعدادات على جميع الطلبات الشبكية في IDE: المتجر، التحديثات، التحقق من الترخيص، مزامنة المكونات الإضافية. التعليمات هي نفسها لـ PyCharm و IntelliJ IDEA و WebStorm و GoLand و Rider و CLion وغيرها من منتجات السلسلة.
الخطوة 1. افتح إعدادات IDE
على Windows و Linux: File → Settings (أو Ctrl+Alt+S).
على macOS: PyCharm → Preferences (أو Cmd+,).
الخطوة 2. ابحث عن قسم البروكسي
في اللوحة اليسرى من الإعدادات، انتقل عبر المسار: Appearance & Behavior → System Settings → HTTP Proxy.
أو ابدأ فقط بكتابة كلمة proxy في شريط بحث الإعدادات - ستظهر IDE القسم المطلوب على الفور.
الخطوة 3. اختر نوع البروكسي واملأ البيانات
في قسم HTTP Proxy، سترى ثلاث خيارات:
- No proxy - اتصال مباشر (افتراضي).
- Auto-detect proxy settings - ستأخذ IDE الإعدادات من نظام التشغيل.
- Manual proxy configuration - إعداد يدوي. اختر هذا الخيار.
عند اختيار Manual proxy configuration، املأ الحقول:
- Host name - عنوان IP أو اسم مجال خادم البروكسي. على سبيل المثال:
proxy.example.comأو192.168.1.100. - Port number - منفذ البروكسي. القيم القياسية:
8080،3128،8888. - No proxy for - المضيفون الذين يجب أن يذهبوا مباشرة (بدون بروكسي). عادةً ما يتم إضافة
localhost،127.0.0.1، المجالات الداخلية للشركة هنا. - Proxy authentication - إذا كان البروكسي يتطلب اسم مستخدم وكلمة مرور، ضع علامة في المربع وأدخل بيانات الاعتماد.
الخطوة 4. تحقق من الاتصال
اضغط على زر Check connection وأدخل أي URL - على سبيل المثال، https://plugins.jetbrains.com. إذا تم إعداد كل شيء بشكل صحيح، ستظهر IDE حالة Connection successful. بعد ذلك، اضغط على OK وأعد تشغيل IDE.
💡 نصيحة
تُخزن إعدادات HTTP Proxy في IDEs من JetBrains عالميًا - يتم تطبيقها على جميع المشاريع وتبقى محفوظة بين إعادة التشغيل. إذا كنت بحاجة إلى التبديل بين البروكسيات لمهام مختلفة، فمن الأسهل استخدام المتغيرات النظامية للبيئة (الموضحة أدناه).
إعداد بروكسي SOCKS5 في IDEs من JetBrains
SOCKS5 هو بروتوكول أكثر مرونة يعمل ليس فقط مع HTTP/HTTPS، ولكن أيضًا مع أي اتصالات TCP. هذا مفيد إذا كان مزود البروكسي الخاص بك يوفر SOCKS5، أو إذا كنت تستخدم نفق SSH.
في واجهة IDEs من JetBrains، يقع قسم SOCKS في نفس المكان: Appearance & Behavior → System Settings → HTTP Proxy. في قسم Manual proxy configuration، قم بتبديل زر الاختيار من HTTP إلى SOCKS.
املأ الحقول بنفس طريقة إعداد HTTP Proxy:
- Host name - عنوان خادم SOCKS5.
- Port number - المنفذ (عادةً
1080أو1081). - Proxy authentication - اسم المستخدم وكلمة المرور، إذا كانت مطلوبة.
نقطة مهمة: يعمل عميل SOCKS المدمج في IDEs من JetBrains على مستوى JVM ويعترض فقط تلك الاتصالات التي تنشئها IDE مباشرة عبر Java. العمليات الخارجية - Maven Wrapper و Gradle Daemon و pip و npm - تُشغل كعمليات منفصلة و لا ترث إعدادات البروكسي من واجهة IDE. تحتاج إلى إعداد منفصل لها (انظر الأقسام أدناه).
الإعداد من خلال خيارات JVM (vmoptions)
إذا لم تعمل الإعدادات من خلال الواجهة (على سبيل المثال، في بعض إصدارات IDE أو عند استخدام مكونات إضافية غير قياسية)، يمكنك تعيين البروكسي مباشرة من خلال خيارات JVM. هذه طريقة موثوقة على مستوى منخفض، تضمن تطبيقها على جميع اتصالات JVM.
كيفية فتح ملف vmoptions
في قائمة IDE، انتقل إلى: Help → Edit Custom VM Options.... سيفتح ملف pycharm64.vmoptions (أو idea64.vmoptions لـ IntelliJ IDEA) في دليل إعدادات المستخدم.
أضف الأسطر التالية في نهاية الملف لإعداد بروكسي HTTP:
-Dhttp.proxyHost=your.proxy.host -Dhttp.proxyPort=8080 -Dhttps.proxyHost=your.proxy.host -Dhttps.proxyPort=8080 -Dhttp.proxyUser=username -Dhttp.proxyPassword=password -Dhttps.proxyUser=username -Dhttps.proxyPassword=password -Dhttp.nonProxyHosts=localhost|127.0.0.1|*.local
لإعداد بروكسي SOCKS5، استخدم المعلمات التالية:
-DsocksProxyHost=your.socks.host -DsocksProxyPort=1080 -DsocksProxyVersion=5
بعد حفظ الملف، أعد تشغيل IDE. ستطبق المعلمات على جميع اتصالات JVM، بما في ذلك تحميل الفهارس، والعمل مع المكونات الإضافية وعميل Git المدمج.
⚠️ مهم
إذا كانت كلمة المرور تحتوي على رموز خاصة (@، #، %)، يجب عليك الهروب منها في ترميز URL. على سبيل المثال، @ → %40. خلاف ذلك، ستقوم JVM بتحليل المعلمات بشكل غير صحيح ولن يعمل البروكسي.
بروكسي من خلال المتغيرات النظامية للبيئة
هذه الطريقة مريحة بشكل خاص على Linux و macOS، وكذلك في بيئات CI/CD. يتم وراثة المتغيرات النظامية ليس فقط من JVM، ولكن أيضًا من العمليات الفرعية - مما يعني أن Maven و Gradle و pip و npm ستلتقطها تلقائيًا أيضًا.
المتغيرات القياسية لبروكسي HTTP:
export HTTP_PROXY=http://username:[email protected]:8080 export HTTPS_PROXY=http://username:[email protected]:8080 export NO_PROXY=localhost,127.0.0.1,::1
أضف هذه الأسطر إلى ~/.bashrc، ~/.zshrc أو ~/.profile حسب قشرة الأوامر الخاصة بك. بعد ذلك، أعد تشغيل الطرفية وابدأ IDE منها - ستلتقط المتغيرات النظامية.
على Windows، يتم تعيين المتغيرات من خلال واجهة النظام:
- افتح لوحة التحكم → النظام → إعدادات النظام المتقدمة → المتغيرات البيئية.
- في قسم "متغيرات المستخدم"، اضغط على إنشاء.
- أضف المتغيرات
HTTP_PROXYوHTTPS_PROXYبالقيمةhttp://username:[email protected]:8080. - أعد تشغيل IDE.
لاحظ: يتم تشغيل IDEs من JetBrains على Windows كعملية منفصلة عبر المشغل، وقد لا تنتقل المتغيرات النظامية المحددة في جلسة الطرفية الحالية إلى IDE. من الأفضل تعيينها من خلال واجهة النظام أو من خلال ملف vmoptions.
بروكسي لـ Maven و Gradle داخل IntelliJ IDEA
Maven و Gradle هما أداتان منفصلتان مع ملفات التكوين الخاصة بهما. حتى إذا تم إعداد البروكسي في واجهة IDE، قد يتجاهل Maven Wrapper و Gradle Daemon هذه الإعدادات، لأنهما يعملان كعمليات JVM مستقلة.
بروكسي لـ Maven
افتح ملف ~/.m2/settings.xml (قم بإنشائه إذا لم يكن موجودًا) وأضف قسم <proxies>:
<settings>
<proxies>
<proxy>
<id>main-proxy</id>
<active>true</active>
<protocol>https</protocol>
<host>proxy.example.com</host>
<port>8080</port>
<username>your_username</username>
<password>your_password</password>
<nonProxyHosts>localhost|127.0.0.1</nonProxyHosts>
</proxy>
</proxies>
</settings>
إذا كنت بحاجة إلى إعداد البروكسي بشكل منفصل لـ HTTP و HTTPS، أضف كتلتين <proxy> مع id و protocol مختلفين.
بروكسي لـ Gradle
بالنسبة لـ Gradle، يتم تعيين إعدادات البروكسي في ملف ~/.gradle/gradle.properties (عالميًا) أو في ملف gradle.properties في جذر المشروع (لمشروع معين):
systemProp.http.proxyHost=proxy.example.com systemProp.http.proxyPort=8080 systemProp.http.proxyUser=your_username systemProp.http.proxyPassword=your_password systemProp.http.nonProxyHosts=localhost|127.0.0.1 systemProp.https.proxyHost=proxy.example.com systemProp.https.proxyPort=8080 systemProp.https.proxyUser=your_username systemProp.https.proxyPassword=your_password
بعد حفظ الملف، ستقوم IntelliJ IDEA تلقائيًا بالتقاط الإعدادات الجديدة عند المزامنة التالية لمشروع Gradle. اضغط على زر Reload All Gradle Projects (رمز التحديث في لوحة Gradle على اليمين) - وستبدأ الاعتمادات في التنزيل عبر البروكسي.
بروكسي لـ pip و conda في PyCharm
PyCharm هو IDE الرئيسي لمطوري Python. يتم تثبيت الحزم عبر pip و conda من خلال عمليات منفصلة، والتي لا تقرأ إعدادات البروكسي من واجهة PyCharm. إليك كيفية إعداد البروكسي لكل مدير حزم.
بروكسي لـ pip
الطريقة 1 - من خلال وسيط سطر الأوامر عند تثبيت الحزمة:
pip install requests --proxy http://username:[email protected]:8080
الطريقة 2 - من خلال ملف إعداد pip (يتم تطبيقه بشكل دائم). افتح أو أنشئ الملف:
- Linux/macOS:
~/.config/pip/pip.conf - Windows:
%APPDATA%\pip\pip.ini
[global] proxy = http://username:[email protected]:8080
الطريقة 3 - من خلال المتغيرات النظامية (تعمل لكل من pip وغيرها من أدوات Python):
export HTTP_PROXY=http://username:[email protected]:8080 export HTTPS_PROXY=http://username:[email protected]:8080
بروكسي لـ conda
تستخدم conda ملف إعدادات خاص بها .condarc. افتح هذا الملف في الدليل الرئيسي وأضف:
proxy_servers: http: http://username:[email protected]:8080 https: http://username:[email protected]:8080
أو نفذ الأمر في الطرفية PyCharm:
conda config --set proxy_servers.http http://proxy.host:8080 conda config --set proxy_servers.https http://proxy.host:8080
إذا كنت تعمل مع مرايا PyPI (مثل مرآة ياندكس أو Nexus المؤسسي)، يمكنك بدلاً من البروكسي ببساطة تحويل pip إلى فهرس بديل. ولكن إذا كانت المرآة غير متاحة أيضًا - يبقى البروكسي الحل الوحيد. للعمل بشكل مستقر مع PyPI، تعتبر بروكسي السكنية مناسبة جدًا - فهي تبدو كطلبات مستخدم عادية ولا يتم حظرها من قبل مزودي CDN لـ PyPI.
المشاكل الشائعة وحلولها
حتى مع الإعداد الصحيح، أحيانًا يحدث شيء خاطئ. دعونا نستعرض أكثر المشاكل شيوعًا وطرق حلها.
المشكلة 1: "Connection refused" أو "Unable to connect to proxy"
السبب: اسم المضيف أو المنفذ غير صحيح أو البروكسي غير متاح.
الحل: تحقق من عنوان البروكسي والمنفذ. حاول الاتصال بالبروكسي عبر curl في الطرفية:
curl -x http://proxy.host:8080 https://plugins.jetbrains.com
إذا لم يتصل curl أيضًا - فإن المشكلة في البروكسي نفسه، وليس في إعدادات IDE.
المشكلة 2: تم إعداد البروكسي، ولكن المكونات الإضافية لا تزال لا تتثبت
السبب: قامت IDE بتخزين إعدادات قديمة أو لم تُطبق الإعدادات على جميع المكونات.
الحل:
- أغلق IDE تمامًا (تأكد من أن العملية ليست معلقة في الخلفية).
- امسح الذاكرة المؤقتة:
File → Invalidate Caches → Invalidate and Restart. - تحقق من عدم وجود معلمات متعارضة في ملف
vmoptions.
المشكلة 3: خطأ SSL/TLS عند العمل عبر البروكسي
السبب: يقوم البروكسي المؤسسي بتنفيذ فحص SSL (MITM) ويستبدل الشهادات. لا تثق JVM بالشهادة المستبدلة.
الحل: اطلب من مسؤول النظام توفير شهادة الجذر لمؤسسة CA وقم باستيرادها إلى Java KeyStore:
keytool -import -alias corporate-ca -keystore $JAVA_HOME/lib/security/cacerts \ -file corporate-ca.crt -storepass changeit
تحتوي IDEs من JetBrains على أداة مدمجة: Settings → Tools → Server Certificates - يمكنك من خلالها إضافة شهادة موثوقة عبر واجهة المستخدم.
المشكلة 4: البروكسي مع المصادقة لا يقبل كلمة المرور
السبب: الرموز الخاصة في كلمة المرور لم يتم الهروب منها، أو يستخدم البروكسي مصادقة NTLM/Kerberos (بروكسيات مؤسسية من Microsoft).
الحل: تدعم JVM بروكسي NTLM بشكل أصلي، ولكن يجب تعيين معلمات إضافية:
-Djdk.http.auth.tunneling.disabledSchemes="" -Djdk.http.auth.proxying.disabledSchemes=""
المشكلة 5: Git داخل IDE لا يعمل عبر البروكسي
السبب: يستخدم عميل Git المدمج في JetBrains Git النظامي، وليس اتصالات JVM. لا تؤثر إعدادات البروكسي من IDE عليه.
الحل: قم بإعداد البروكسي مباشرة في Git:
git config --global http.proxy http://username:[email protected]:8080 git config --global https.proxy http://username:[email protected]:8080
| الأعراض | السبب المحتمل | طريقة الإصلاح |
|---|---|---|
| لا يتم تثبيت المكونات الإضافية | لم يتم إعداد البروكسي في IDE | Settings → HTTP Proxy |
| Maven لا يقوم بتنزيل الاعتمادات | لا توجد إعدادات في settings.xml | ~/.m2/settings.xml → proxies |
| pip لا يقوم بتثبيت الحزم | pip لا يقرأ إعدادات IDE | pip.conf أو متغيرات ENV |
| أخطاء SSL | فحص MITM على البروكسي | استيراد الشهادة المؤسسية |
| Git لا يعمل عبر البروكسي | Git لا يقرأ إعدادات JVM | git config --global http.proxy |
| Gradle لا يتزامن | لا توجد إعدادات في gradle.properties | ~/.gradle/gradle.properties |
الخاتمة
إعداد البروكسي في IDEs من JetBrains ليس مجرد زر واحد، بل عدة مستويات من التكوين. الشيء الرئيسي الذي يجب تذكره: يتم إعداد IDE نفسها (المكونات الإضافية، الترخيص، المتجر) من خلال Settings → HTTP Proxy أو من خلال معلمات JVM في vmoptions. تتطلب مدراء الاعتمادات - Maven و Gradle و pip و conda - إعدادًا منفصلًا في ملفات التكوين الخاصة بهم. يتم إعداد Git داخل IDE من خلال git config العالمي.
إذا كنت تستخدم البروكسي لتجاوز الحجب الجغرافي أو قيود الشبكة المؤسسية، من المهم اختيار خادم بروكسي مستقر وسريع. بالنسبة للعمل مع المستودعات، والمتجر، وتنزيل الاعتمادات، تعتبر بروكسي مراكز البيانات مناسبة جدًا - فهي توفر سرعة عالية وأقل تأخير، وهو أمر حاسم عند مزامنة مشاريع كبيرة تحتوي على مئات الاعتمادات. إذا كنت بحاجة إلى أقصى توافق مع الخدمات التي تحظر IPs الخوادم، فكر في بروكسي السكنية - فهي تستخدم عناوين مستخدم حقيقية ولا تثير الشكوك تقريبًا لدى أنظمة الحماية من CDN والمستودعات.
```