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

إعداد البروكسي على لينكس أوبونتو وديبيان: الطرفية، واجهة المستخدم الرسومية وجميع التطبيقات - خطوة بخطوة

دليل كامل لإعداد البروكسي على لينوكس أوبونتو وديبيان - عبر الطرفية، إعدادات النظام ولتطبيقات معينة. مناسب للاستخراج، المراقبة والعمل مع حسابات متعددة.

📅٢٧ شوال ١٤٤٧ هـ
```html

إذا كنت تعمل على Linux وتحتاج إلى توجيه حركة المرور عبر بروكسي — للاستخراج، مراقبة الأسعار على الأسواق أو العمل مع حسابات متعددة — فإن التعليمات القياسية من الإنترنت غالبًا لا تعمل. بعضها يصف فقط المتصفح، والبعض الآخر — فقط الطرفية، ولا يوجد مكان لرؤية الصورة الكاملة. في هذا الدليل، سنستعرض جميع الطرق: من أمر واحد في الطرفية إلى إعدادات النظام التي تغطي جميع حركة مرور Ubuntu وDebian.

ما هو نوع البروكسي الذي يجب اختياره لـ Linux

قبل الانتقال إلى الإعداد، من المهم أن نفهم: ليست جميع البروكسيات مناسبة بنفس القدر لمهام مختلفة. غالبًا ما تستخدم آلات Linux للمهام الآلية — الاستخراج، المراقبة، الطلبات الجماعية — واختيار نوع البروكسي هنا أمر حاسم.

نوع البروكسي البروتوكولات مناسب لـ خطر الحظر
بروكسي مراكز البيانات HTTP، HTTPS، SOCKS5 الاستخراج، curl، السكربتات متوسط
بروكسي سكني HTTP، HTTPS، SOCKS5 الأسواق، الشبكات الاجتماعية، الحسابات منخفض
بروكسي موبايل HTTP، SOCKS5 Facebook، Instagram، TikTok أدنى

لمعظم المهام على Linux، ستكون بروكسي HTTP/HTTPS أو SOCKS5 مناسبة. يُفضل SOCKS5 — لأنه يعمل على مستوى TCP ويدعمه معظم الأدوات، بما في ذلك curl وwget وproxychains. سنستخدم كلا الخيارين في جميع الأمثلة التالية.

تنسيق بيانات البروكسي

لكل الإعدادات أدناه، ستحتاج إلى بيانات بتنسيق:
host:port أو host:port:login:password
هذه البيانات تحصل عليها من مزود البروكسي في حسابك الشخصي.

الإعداد عبر متغيرات البيئة في الطرفية

أسرع طريقة لتوجيه حركة المرور عبر البروكسي في Linux هي تعيين متغيرات البيئة. معظم أدوات الطرفية (curl وwget وpip وapt وغيرها) تقرأ هذه المتغيرات تلقائيًا وتستخدم البروكسي المحدد دون إعداد إضافي.

الإعداد المؤقت (فقط للجلسة الحالية)

افتح الطرفية ونفذ الأوامر التالية. استبدل القيم ببيانات البروكسي الخاصة بك:

# لبروكسي HTTP بدون مصادقة
export http_proxy="http://192.168.1.1:3128"
export https_proxy="http://192.168.1.1:3128"

# لبروكسي HTTP مع اسم المستخدم وكلمة المرور
export http_proxy="http://login:[email protected]:3128"
export https_proxy="http://login:[email protected]:3128"

# لبروكسي SOCKS5
export http_proxy="socks5://login:[email protected]:1080"
export https_proxy="socks5://login:[email protected]:1080"

# الاستثناءات — العناوين بدون بروكسي (localhost والشبكة المحلية)
export no_proxy="localhost,127.0.0.1,::1,192.168.0.0/16"

بعد هذه الأوامر، ستستخدم جميع الأدوات في الطرفية الحالية البروكسي. نقطة مهمة: بعض البرامج تقرأ المتغيرات فقط بحروف كبيرة. للتأكد، قم بتكرار الأوامر بحروف كبيرة:

export HTTP_PROXY="http://login:[email protected]:3128"
export HTTPS_PROXY="http://login:[email protected]:3128"
export NO_PROXY="localhost,127.0.0.1"

الإعداد الدائم لمستخدمك

لجعل البروكسي يُطبق تلقائيًا عند كل دخول إلى الطرفية، أضف المتغيرات إلى ملف ~/.bashrc (لـ bash) أو ~/.zshrc (لـ zsh):

# افتح الملف في محرر nano
nano ~/.bashrc

# أضف الأسطر التالية في نهاية الملف:
export http_proxy="http://login:password@host:port"
export https_proxy="http://login:password@host:port"
export HTTP_PROXY="http://login:password@host:port"
export HTTPS_PROXY="http://login:password@host:port"
export no_proxy="localhost,127.0.0.1"

# احفظ: Ctrl+O، Enter، Ctrl+X
# طبق التغييرات دون إعادة تشغيل الطرفية:
source ~/.bashrc

الإعداد النظامي لجميع المستخدمين

إذا كان Linux يستخدم كخادم أو إذا كنت تريد تطبيق البروكسي لجميع مستخدمي النظام، أضف المتغيرات إلى ملف /etc/environment:

sudo nano /etc/environment

# أضف الأسطر (بدون الأمر export!):
http_proxy="http://login:password@host:port"
https_proxy="http://login:password@host:port"
HTTP_PROXY="http://login:password@host:port"
HTTPS_PROXY="http://login:password@host:port"
no_proxy="localhost,127.0.0.1,::1"

بعد حفظ الملف، ستدخل التغييرات حيز التنفيذ عند الدخول التالي إلى النظام. لتطبيقها دون إعادة تشغيل، نفذ source /etc/environment.

إعدادات النظام للبروكسي عبر واجهة المستخدم الرسومية (GNOME)

إذا كنت تستخدم Ubuntu مع سطح مكتب GNOME (التثبيت القياسي لـ Ubuntu Desktop)، يمكنك إعداد البروكسي عبر واجهة المستخدم الرسومية دون كتابة أي أمر. هذا مناسب لمن بدأوا للتو في العمل مع Linux.

تعليمات خطوة بخطوة لـ Ubuntu GNOME

  1. اضغط على الأيقونة في الزاوية العليا اليمنى من الشاشة → اختر «الإعدادات» (Settings)
  2. في القائمة اليسرى، قم بالتمرير لأسفل واختر «الشبكة» (Network)
  3. في قسم «بروكسي الشبكة»، اضغط على الزر مع السهم (رمز الإعدادات)
  4. اختر وضع البروكسي:
    • معطل — لا يتم استخدام البروكسي
    • يدوي — تقوم بإدخال بيانات البروكسي بنفسك (موصى به)
    • تلقائي — يتم استخدام ملف PAC من المزود
  5. اختر «يدوي» واملأ الحقول:
    • بروكسي HTTP: أدخل عنوان المضيف والمنفذ
    • بروكسي HTTPS: نفس البيانات
    • مضيف SOCKS: العنوان والمنفذ (إذا كنت تستخدم SOCKS5)
    • تجاهل المضيفين: localhost, 127.0.0.0/8
  6. اغلق النافذة — يتم تطبيق الإعدادات تلقائيًا

⚠️ من المهم أن تعرف

تطبيقات البروكسي عبر GNOME تنطبق فقط على التطبيقات التي تقرأ إعدادات النظام: متصفح GNOME Web، وبعض تطبيقات GNOME. أدوات الطرفية (curl وwget وapt) لا تستخدم هذه الإعدادات — تحتاج إلى متغيرات البيئة من القسم السابق. Firefox وChromium لديهما إعدادات بروكسي خاصة بهما.

الإعداد عبر gsettings (طرفية + واجهة المستخدم)

إذا كنت ترغب في إدارة إعدادات النظام للبروكسي GNOME عبر الطرفية (على سبيل المثال، للتلقائية)، استخدم الأمر gsettings:

# تفعيل وضع البروكسي اليدوي
gsettings set org.gnome.system.proxy mode 'manual'

# تعيين بروكسي HTTP
gsettings set org.gnome.system.proxy.http host 'host'
gsettings set org.gnome.system.proxy.http port 3128

# تعيين بروكسي HTTPS
gsettings set org.gnome.system.proxy.https host 'host'
gsettings set org.gnome.system.proxy.https port 3128

# تعيين بروكسي SOCKS5
gsettings set org.gnome.system.proxy.socks host 'host'
gsettings set org.gnome.system.proxy.socks port 1080

# تعطيل البروكسي
gsettings set org.gnome.system.proxy mode 'none'

بروكسي لـ APT — تثبيت الحزم عبر البروكسي

مدير الحزم APT (يستخدم في Ubuntu وDebian) لديه نظام إعداد بروكسي خاص به، والذي لا يعتمد على متغيرات البيئة. هذا مهم بشكل خاص للخوادم التي لا تصل مباشرة إلى الإنترنت أو للشبكات المؤسسية.

الطريقة 1: بروكسي مؤقت لأمر واحد

# استخدام البروكسي لأمر apt واحد
sudo apt-get -o Acquire::http::Proxy="http://login:password@host:port" update

# أو عبر متغير البيئة
sudo http_proxy="http://login:password@host:port" apt-get update

الطريقة 2: بروكسي دائم لـ APT

أنشئ ملف تكوين لـ APT. هذه الطريقة موصى بها للخوادم التي تحتاج إلى بروكسي بشكل دائم:

# إنشاء ملف التكوين
sudo nano /etc/apt/apt.conf.d/95proxies

# أضف المحتوى:
Acquire::http::Proxy "http://login:password@host:port";
Acquire::https::Proxy "http://login:password@host:port";
Acquire::ftp::Proxy "ftp://login:password@host:port";

# احفظ وتحقق:
sudo apt-get update

إذا كان البروكسي بدون مصادقة، ستبدو الأسطر أبسط: Acquire::http::Proxy "http://host:port";. لتعطيل البروكسي لـ APT، ما عليك سوى حذف الملف الذي أنشأته باستخدام الأمر sudo rm /etc/apt/apt.conf.d/95proxies.

بروكسي لـ curl وwget

Curl وwget هما الأدوات الأساسية للعمل مع طلبات HTTP في Linux. يتم استخدامهما للاستخراج، اختبار API، تنزيل الملفات. كلا الأداة تدعم البروكسي مباشرة عبر معلمات سطر الأوامر.

Curl مع البروكسي

# بروكسي HTTP
curl -x http://login:password@host:port https://example.com

# بروكسي SOCKS5
curl --socks5 host:port --proxy-user login:password https://example.com

# التحقق من IP الخاص بك عبر البروكسي
curl -x http://login:password@host:port https://api.ipify.org

# تجاهل أخطاء SSL (إذا لزم الأمر)
curl -x http://login:password@host:port -k https://example.com

لتجنب إدخال البروكسي في كل مرة، أضف الإعداد إلى ملف ~/.curlrc:

nano ~/.curlrc

# أضف السطر:
proxy = "http://login:password@host:port"

# الآن curl يستخدم هذا البروكسي دائمًا:
curl https://api.ipify.org

Wget مع البروكسي

# عبر معلمة سطر الأوامر
wget -e "http_proxy=http://login:password@host:port" https://example.com

# إعداد دائم في ~/.wgetrc
nano ~/.wgetrc

# أضف الأسطر:
http_proxy = http://login:password@host:port
https_proxy = http://login:password@host:port
use_proxy = on

بروكسي لـ Firefox وChromium على Linux

المتصفحات على Linux لديها إعدادات بروكسي خاصة بها، تعمل بشكل مستقل عن النظام. هذا مناسب إذا كنت ترغب في استخدام البروكسي فقط في المتصفح دون التأثير على باقي حركة المرور.

Firefox: الإعداد اليدوي

  1. افتح Firefox → اضغط على الثلاثة خطوط في الزاوية العليا اليمنى → «الإعدادات»
  2. قم بالتمرير لأسفل إلى قسم «خادم البروكسي» → اضغط على «الإعداد»
  3. اختر «الإعداد اليدوي للبروكسي»
  4. املأ الحقول:
    • بروكسي HTTP: عنوان المضيف، المنفذ
    • ضع علامة على "استخدام هذا الخادم البروكسي لجميع البروتوكولات"
    • أو حدد SOCKS بشكل منفصل: العنوان، المنفذ، اختر SOCKS v5
  5. اضغط على OK

إذا كان البروكسي يتطلب مصادقة، سيطلب Firefox اسم المستخدم وكلمة المرور عند أول اتصال وسيتذكرهما. للتبديل السريع بين عدة بروكسيات، قم بتثبيت الإضافة FoxyProxy — تتيح لك إنشاء ملفات تعريف والتبديل بنقرة واحدة.

Chromium / Google Chrome: التشغيل مع البروكسي

لا يحتوي Chromium على Linux على إعدادات بروكسي مدمجة في الواجهة — يستخدم إعدادات النظام. ولكن يمكنك تشغيل المتصفح مع بروكسي معين عبر معلمة سطر الأوامر:

# تشغيل Chromium مع بروكسي HTTP
chromium-browser --proxy-server="http://host:port"

# التشغيل مع بروكسي SOCKS5
chromium-browser --proxy-server="socks5://host:port"

# التشغيل مع البروكسي وتجاهل localhost
chromium-browser --proxy-server="http://host:port" \
  --proxy-bypass-list="localhost;127.0.0.1"

# بالنسبة لـ Google Chrome، استبدل chromium-browser بـ google-chrome
google-chrome --proxy-server="socks5://host:port"

💡 نصيحة لتعدد الحسابات

إذا كنت تدير عدة حسابات عبر المتصفح على Linux، فإن استخدام متصفح عادي مع بروكسي غير كافٍ — المواقع تتعقب بصمة المتصفح، الكوكيز ومعلمات أخرى. لاستخدام تعدد الحسابات بشكل كامل، استخدم متصفحات مكافحة الكشف: Dolphin Anty، AdsPower أو GoLogin — فهي تنشئ ملفات تعريف معزولة مع بروكسيات منفصلة لكل حساب.

Proxychains — بروكسي لأي تطبيق بدون دعم

بعض التطبيقات لا تدعم إعداد البروكسي سواء عبر متغيرات البيئة أو عبر معلماتها الخاصة. في هذه الحالة، يأتي proxychains للمساعدة — أداة تعترض المكالمات الشبكية لأي برنامج وتوجهها عبر البروكسي. هذا مفيد بشكل خاص للاستخراجات المكتوبة بلغة Python أو الأدوات المتخصصة.

تثبيت proxychains

# Ubuntu / Debian
sudo apt-get update
sudo apt-get install proxychains4

# تحقق من التثبيت
proxychains4 --version

إعداد ملف التكوين

# افتح التكوين
sudo nano /etc/proxychains4.conf

# ابحث عن السطر "dynamic_chain" — قم بإلغاء تعليقها (أزل #):
dynamic_chain

# علق "strict_chain" (أضف # في البداية):
# strict_chain

# في نهاية الملف في قسم [ProxyList] أضف بروكسي الخاص بنا:
# التنسيق: النوع  المضيف  المنفذ  [اسم المستخدم]  [كلمة المرور]

# بروكسي HTTP بدون مصادقة:
http  192.168.1.1  3128

# SOCKS5 مع المصادقة:
socks5  host  1080  login  password

استخدام proxychains

بعد الإعداد، فقط أضف proxychains4 قبل أي أمر:

# تشغيل curl عبر البروكسي
proxychains4 curl https://api.ipify.org

# تشغيل سكربت Python عبر البروكسي
proxychains4 python3 parser.py

# تشغيل nmap عبر البروكسي
proxychains4 nmap -sT target.com

# فتح Firefox عبر البروكسي
proxychains4 firefox

وضع dynamic_chain يعني أنه إذا كان بروكسي واحد غير متاح، سيحاول proxychains التالي في القائمة. هذا مفيد إذا كان لديك عدة بروكسيات — أضفها جميعًا في [ProxyList] واحصل على تدوير تلقائي.

كيفية التحقق من أن البروكسي يعمل

بعد الإعداد، تأكد من أن حركة المرور تمر فعلاً عبر البروكسي، وليس مباشرة. إليك بعض الطرق السريعة:

التحقق عبر curl

# معرفة IP الحالي بدون بروكسي
curl https://api.ipify.org
# النتيجة: IP الحقيقي الخاص بك، على سبيل المثال 85.12.34.56

# معرفة IP عبر البروكسي
curl -x http://login:password@host:port https://api.ipify.org
# يجب أن تختلف النتيجة — هذا هو IP خادم البروكسي

# معلومات موسعة عن IP
curl -x http://login:password@host:port https://ipinfo.io/json

التحقق من متغيرات البيئة

# عرض المتغيرات المضبوطة للبروكسي
env | grep -i proxy

# النتيجة المتوقعة:
# http_proxy=http://login:password@host:port
# https_proxy=http://login:password@host:port

التحقق من توفر خادم البروكسي

# تحقق من أن منفذ البروكسي مفتوح ويستجيب
nc -zv host port
# على سبيل المثال: nc -zv 192.168.1.1 3128

# إذا لم يكن nc مثبتًا:
telnet host port

✅ قائمة التحقق من البروكسي

  • IP في استجابة curl يختلف عن IP الحقيقي الخاص بك
  • الدولة والمدينة في ipinfo.io تتوافق مع البروكسي المختار
  • لا توجد أخطاء Connection refused أو 407 Proxy Authentication Required
  • سرعة الاتصال مقبولة (تحقق عبر curl مع علامة -w "%{time_total}")

سيناريوهات عملية: الاستخراج، المراقبة، تعدد الحسابات

دعونا نناقش المهام المحددة التي يواجهها المستخدمون غالبًا عند إعداد البروكسي على Linux.

السيناريو 1: استخراج بيانات Wildberries وOzon من خادم Linux

غالبًا ما يقوم البائعون على الأسواق بتشغيل مستخلصات الأسعار على VPS مع Ubuntu. تقوم Wildberries وOzon بحظر الطلبات من عناوين IP الخوادم بنشاط. لتجاوز هذا الحظر، تحتاج إلى بروكسي سكني — يبدو كالمستخدمين المنزليين العاديين.

المخطط الموصى به لإعداد الاستخراج للأسواق:

  1. قم بتعيين متغيرات البيئة ببيانات البروكسي السكني في ملف ~/.bashrc
  2. إذا كنت تستخدم سكربت Python — تأكد من أن مكتبة requests تقرأ متغيرات البيئة (تقرأ بشكل افتراضي)
  3. لتدوير IP، قم بإعداد عدة بروكسيات في proxychains مع وضع dynamic_chain
  4. أضف تأخيرات بين الطلبات (1-3 ثوانٍ) — هذا يقلل من خطر الحظر
  5. تحقق من IP بعد كل 50-100 طلب عبر curl https://api.ipify.org

السيناريو 2: مراقبة أسعار المنافسين على Avito

تقوم Avito بحظر الطلبات بناءً على عدة معايير: تكرار الطلبات، نوع User-Agent، عنوان IP. لمراقبة الإعلانات من خادم Linux، استخدم النهج التالي:

# مثال على طلب إلى Avito عبر البروكسي مع الرؤوس الصحيحة
curl -x http://login:password@host:port \
  -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36" \
  -H "Accept-Language: ru-RU,ru;q=0.9" \
  -H "Accept: text/html,application/xhtml+xml" \
  "https://www.avito.ru/moskva/nedvizhimost"

بالنسبة لـ Avito، من المهم بشكل خاص استخدام بروكسيات مع عناوين IP روسية. البروكسيات السكنية مع تحديد الموقع في المدينة المطلوبة تسمح برؤية الإعلانات المرتبطة بمنطقة معينة.

السيناريو 3: العمل مع إعلانات Facebook وInstagram عبر Linux

يستخدم المعلنون الذين يعملون على Linux (غالبًا عبر VPS) متصفحات مكافحة الكشف لإدارة حسابات الإعلانات. مخطط العمل:

  1. قم بتثبيت Dolphin Anty أو AdsPower على Linux (كلاهما لهما إصدارات لـ Linux)
  2. قم بإنشاء ملف تعريف متصفح منفصل لكل حساب إعلانات Facebook
  3. في إعدادات كل ملف تعريف، حدد بروكسي منفصل
  4. لـ Facebook وInstagram، يُفضل استخدام بروكسيات موبايل — لديها عناوين IP حقيقية لمشغلي الهواتف المحمولة وخطر حظر منخفض
  5. لا تحتاج إلى بروكسي النظام في Linux — متصفح مكافحة الكشف يدير البروكسي على مستوى كل ملف تعريف

مقارنة طرق إعداد البروكسي على Linux

الطريقة النطاق الصعوبة أفضل لـ
متغيرات البيئة معظم أدوات CLI منخفضة السكربتات، curl، pip
واجهة GNOME تطبيقات GNOME منخفضة سطح المكتب بدون طرفية
تكوين APT فقط APT منخفضة الخوادم خلف NAT
Proxychains أي تطبيق متوسطة المستخلصات، الأدوات الخارجية
إعدادات المتصفح فقط المتصفح منخفضة العمل اليدوي في المتصفح

الأخطاء الشائعة عند إعداد البروكسي على Linux

  • متغيرات صغيرة فقط — بعض البرامج تقرأ فقط HTTP_PROXY (كبيرة)، والبعض الآخر — فقط http_proxy. قم بتعيين كلا الخيارين.
  • نسيت source — بعد تعديل .bashrc، يجب تنفيذ source ~/.bashrc، وإلا فلن تُطبق التغييرات.
  • البروكسي لا يعمل مع sudo — عند استخدام sudo، لا تُنقل متغيرات البيئة للمستخدم. استخدم sudo -E لنقل المتغيرات.
  • localhost يمر عبر البروكسي — دائمًا أضف إلى no_proxy القيم localhost,127.0.0.1.
  • تنسيق URL غير صحيح — لبروكسي HTTP، تأكد من تحديد البروتوكول: http:// أو socks5://.

الخاتمة

إعداد البروكسي على Linux Ubuntu وDebian هو مهمة يمكن حلها بعدة طرق حسب هدفك. لمعظم المهام، يكفي استخدام متغيرات البيئة: فهي تغطي curl وwget وpip ومعظم السكربتات. لتغطية كاملة لحركة مرور أي تطبيق، استخدم proxychains. بالنسبة للمتصفح — استخدم الإعدادات المدمجة أو التشغيل مع المعلمة --proxy-server. بالنسبة لـ APT — استخدم ملف تكوين منفصل.

المبدأ الرئيسي: اختر الطريقة المناسبة للمهمة المحددة. لا تحتاج إلى إعداد بروكسي النظام إذا كنت بحاجة إلى بروكسي فقط لسكربت واحد. وعلى العكس — إذا كانت كل حركة مرور الخادم يجب أن تمر عبر البروكسي، قم بإعداد المتغيرات في /etc/environment مرة واحدة وانسَ الأمر.

إذا كنت تستخدم Linux للاستخراج من الأسواق، مراقبة الأسعار أو الطلبات الآلية، انتبه إلى البروكسيات السكنية — لديها عناوين IP حقيقية لمستخدمي المنازل، والتي نادرًا ما تتعرض للحظر على Wildberries وOzon وAvito. للعمل مع حسابات إعلانات Facebook وInstagram عبر متصفحات مكافحة الكشف على Linux، ستكون البروكسيات الموبايل خيارًا جيدًا — خطر الحظر منخفض وثقة المنصات عالية.

```