العودة إلى المدونة

إعداد البروكسي في PyCharm وIntelliJ IDEA وWebStorm: دليل كامل للمطورين

دليل مفصل لإعداد البروكسي في JetBrains IDE - PyCharm وIntelliJ IDEA وWebStorm وغيرها. تجاوز القيود، وثبّت الإضافات، وحمّل التبعيات دون قيود.

📅٧ صفر ١٤٤٨ هـ
```html

إذا لم يتم تثبيت المكونات الإضافية في 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، يتم تعيين المتغيرات من خلال واجهة النظام:

  1. افتح لوحة التحكم → النظام → إعدادات النظام المتقدمة → المتغيرات البيئية.
  2. في قسم "متغيرات المستخدم"، اضغط على إنشاء.
  3. أضف المتغيرات HTTP_PROXY و HTTPS_PROXY بالقيمة http://username:[email protected]:8080.
  4. أعد تشغيل 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 بتخزين إعدادات قديمة أو لم تُطبق الإعدادات على جميع المكونات.
الحل:

  1. أغلق IDE تمامًا (تأكد من أن العملية ليست معلقة في الخلفية).
  2. امسح الذاكرة المؤقتة: File → Invalidate Caches → Invalidate and Restart.
  3. تحقق من عدم وجود معلمات متعارضة في ملف 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 والمستودعات.

```