# منفذ Proxy: الاستهداف والجلسات عبر اسم المستخدم

> URL: https://foura.ai/ar/blog/proxy-port-username-options
> Updated: 2026-09-27
> Index: https://foura.ai/llms.txt

## ما الجديد

حرف واحد ناقص هو كل ما يتطلبه الأمر. اكتب `-contry-de` داخل اسم مستخدم proxy وسيظهر الخطأ الإملائي بوضوح تام، وكأنه خيار صالح للعمل.

يرد منفذ FourA proxy على ذلك بخطأ 400 يسرد كل مفتاح يتعرف عليه. هذا تفصيل صغير لمنتج [خرج من المرحلة التجريبية (beta) في 15 سبتمبر](https://foura.ai/blog/foura-digest-2026-09-18): وهو [عنوان URL لـ proxy عند نقاط الخروج لدينا](https://foura.ai/proxy) لأي عميل يقبل ذلك (متصفح، أداة تنزيل، أداة scraper التي تستخدمها بالفعل)، دون الحاجة لكتابة أي استدعاء API. ما عليك سوى إنشاء مستخدم proxy في لوحة التحكم ولصق السلسلة النصية، وستُحتسب الأنفاق وحركة المرور ضمن خطتك بنفس طريقة احتساب طلبات API.

إليك البنية النحوية الكاملة، وسبب وجود كل قاعدة فيها.

## كيف يعمل

يعمل المنفذ على `proxy.foura.ai:34004` ويتعامل مع بروتوكول HTTP CONNECT باستخدام Basic authentication، للأهداف على المنفذين 443 و80. بيانات الاعتماد هي مستخدمو proxy، وهي منفصلة عن مفتاح API الخاص بك عن قصد: إذ تنتقل مصافحة proxy غير مشفرة، ويمكن لمستخدم proxy الحصول على كلمة مرور جديدة دون أن يضطر أي شخص لتعديل تكامل API الخاص بك.

كل ما يلي بيانات الاعتماد هو قائمة من أزواج `-key-value`، بأي ترتيب:

```bash
# Shared network, a German address, one sticky session for this job
curl -x "http://USERNAME-country-de-session-job42:PASSWORD@proxy.foura.ai:34004" \
  https://example.com

# Premium network, an Android address in Germany, held 30 minutes
curl -x "http://USERNAME-network-premium-country-de-os-android-session-s1-lifetime-30:PASSWORD@proxy.foura.ai:34004" \
  https://example.com
```

الشبكة المشتركة (Shared) هي نقاط خروج FourA الخاصة: وهي الوضع الافتراضي ومضمنة في خطتك. أما البريميوم (Premium) فهي عناوين سكنية، تُسحب من رصيد premium traffic في خطتك بالإضافة إلى أي رصيد اشتريته. على الشبكة المشتركة، يتيح `-fallback-premium` للاتصال الانتقال إلى نقطة خروج premium عندما يتعذر على النقطة المشتركة استيعابه. هذا الخيار معطل ما لم تطلبه بنفسك، ويعمل فقط طالما لا يزال لديك رصيد premium متبقٍ. تفعيله افتراضيا كان سيعني اتخاذ قرار، نيابة عنك، باستهلاك ذلك الرصيد.

معلمة الدولة (Country) قابلة للتكرار، لذا فإن `-country-de-country-fr` يمثل نطاقا من دولتين. معلمات المنطقة (Region)، المدينة (city)، الشبكة عبر AS number، نوع الجهاز (`windows`، `android`، `ios`، `mac`) و `lifetime` (من 3 إلى 1440 دقيقة) مخصصة فقط لشبكة premium. طلب مدينة على الشبكة المشتركة سيعيد لك خطأ 400 بدلا من تقديم أفضل جهد متاح. يتم اختيار الشبكة المشتركة حسب الدولة فقط ولا شيء أدق من ذلك، لأن وجود فلتر مدينة لا يمكن الالتزام به في معظم الأحيان هو أسوأ من عدم وجود فلتر على الإطلاق.

المعلمة `-session-<name>` (من 1 إلى 32 حرفا أو رقما أو شرطة سفلية) تجعل الاتصالات ثابتة (sticky): حيث يشترك كل اتصال يحمل هذا الاسم في نفس العنوان. على الشبكة المشتركة، يظل العنوان ثابتا ضمن نافذة زمنية متحركة مدتها عشر دقائق، مما يجعله يستمر طالما واصلت استخدامه. على شبكة premium، يظل ثابتا طوال مدة `lifetime` التي حددتها، أو وفقا للإعداد الافتراضي للشبكة. إذا تركت الجلسة دون تحديد، فسيخرج كل اتصال من عنوان جديد.

ثم هناك الإعدادات الافتراضية المحفوظة. الاستهداف المحفوظ على مستخدم proxy في Dashboard يُطبق على كل اتصال يجريه، مما يتيح تقليص السلسلة إلى بيانات الاعتماد المجردة فقط. لا يزال اسم المستخدم هو الحاكم بالنسبة لاتصاله الخاص، كما أن `any` يلغي القيمة المحفوظة: فالمعلمة `-city-any` تطلب مفتاحا يتذكر Munich لكامل نطاق Germany. يمكن للعملاء الذين يدعمون إرسال headers مع طلب CONNECT (مثل curl، عبر `--proxy-header`) إرسال نفس الخيارات مثل `X-Foura-Country` و `X-Foura-Session` وغيرها، ويكون للـ header الأولوية على اسم المستخدم.

## الأثر

معظم هذا يظهر في شكل أسئلة لن تضطر لطرحها بعد الآن.

**لماذا تم رفضي؟** كل عملية رفض بعد التحقق من بيانات الاعتماد الخاصة بك تتضمن `X-Foura-Error` header يحتوي على سبب في سطر واحد. خطأ 400 يحدد الخيار والقيم التي يقبلها. خطأ 429 يوضح أي أرقام خطتك قد وصلت إليها: الأنفاق المفتوحة في وقت واحد، أو عمليات فتح الأنفاق في الدقيقة، أو حجم البيانات القياسي لفترة الفاتورة.

**لمن تعود الحصة المخصصة؟** للحساب. تُحسب الأنفاق وعمليات الفتح على مستوى الحساب وليس لكل مستخدم proxy، لذا فإن إضافة بيانات اعتماد ثانية لا تمنحك حصة إضافية. تُحسب البايتات ضمن bandwidth خطتك، وتُحسب بايتات premium ضمن حصة premium الخاصة بك داخل ذلك الإجمالي، دون أن تُضاف إليه أبدا. في الخطط التي تباع بنظام الرصيد، يتضمن المنفذ الجيجابايت الخاصة به، والتي تُعاد تعبئتها من صفحة Billing. لا يتم احتساب أي شيء عندما لا يُفتح أي نفق.

**من يملك بيانات الاعتماد؟** يمكن أن تكون تابعة لمؤسسة الآن، حتى لا يتوقف برنامج التنزيل الخاص بالشركة في اليوم الذي يغادر فيه شخص ما. يستخدمها الأعضاء ويقرؤون كلمة المرور الخاصة بها؛ ويقوم المسؤولون والمالكون بتدويرها أو تعطيلها أو إعادة توجيه استهدافها؛ وفقط المالك هو من يمكنه نقل ملكيتها.

**ما الذي يفعله؟** قم بتبديل خيار Product في Overview أو Metrics أو Activity إلى Proxy: سترى الأنفاق مصنفة ضمن نفس فئات النتائج مثل طلبات API الخاصة بك، وعدد الأنفاق المفتوحة حالياً، ووقت الإعداد وحجم البيانات، مقسمة حسب مستخدم proxy، والهدف، وبلد الخروج، أو IP الخاص بالعميل. الجلسة التي تملك عنوانها بالفعل تتصل عادة في أقل من ثانية واحدة بكثير.

لكن المنفذ مجرد أنبوب نقل، وتلك هي المقايضة. يتواصل عميلك مع الموقع عبر النفق، لذا فإن ملفات تعريف المتصفح، وقواعد [validate rules](https://foura.ai/blog/validate-decides-success) الخاصة بك، والتعامل مع الصفحات التفاعلية لا تقع ضمن هذا المسار. كما أنه يحسب حجم البايتات أيضاً: صفحة الرفض التي تأتي عبر نفق مفتوح تُحسب بايتات كغيرها، بينما في API لا يتم احتساب أي تكلفة على الطلب غير الناجح. انقل البيانات العادية عبر المنفذ، وأرسل الصفحات الصعبة إلى API.

## للمستخدمين المتقدمين

بمجرد استنفاد الرصيد المخصص، تتلقى المسارات الثلاثة المؤدية إلى تلك الشبكة ثلاثة ردود مختلفة عمداً. يُرفض الاتصال الذي يحدد `-network-premium` برمز 403 يوضح ذلك، لأن العميل الذي تتم خدمته بصمت من مكان آخر سيستمر في الطلب، ثم يبحث في الفاتورة عن بند الخدمة المدفوعة الذي لن يظهر أبداً. ببساطة لا يتم تفعيل المسار البديل، وينتقل الإعداد الافتراضي المحفوظ لمستخدم proxy إلى الشبكة المشتركة، بحيث يظل النفق مفتوحاً. لم يختر أي منهما الإنفاق على هذا الاتصال.

يتم رفض ثلاثة تركيبات تماماً بدلاً من تنفيذها جزئياً: الاستهداف الدقيق على الشبكة المشتركة، و `-fallback-premium` مع `-network-premium`، والاستهداف الدقيق أثناء تفعيل المسار البديل. يتعامل المنفذ مع CONNECT فقط، لذا فإن العميل الذي يمرر طلب `http://` عادياً بدلاً من نقله عبر نفق يتلقى 405 (يقوم curl بإنشاء نفق باستعمال `--proxytunnel`). ويجب أن يحمل المتصفح الموجه عبر المنفذ اسم جلسة دائماً، لأن تحميل صفحة واحدة يفتح عشرات الاتصالات.

هل لديك عدة عمال، كل منهم بعنوانه الخاص؟ امنح كل عامل اسم جلسة مخصصاً له:

```python
import requests

TEMPLATE = "http://USERNAME-country-de-session-{name}:PASSWORD@proxy.foura.ai:34004"

def worker_session(name):
    proxy = TEMPLATE.format(name=name)
    s = requests.Session()
    s.proxies = {"http": proxy, "https": proxy}
    return s

workers = [worker_session(f"w{i}") for i in range(4)]
print(workers[0].get("https://example.com").status_code)
```

تتيح لوحة التحكم (Dashboard) الأمر نفسه على نطاق واسع: حدد Sticky، واختر العدد، وستعرض علامة تبويب Connection string سطرًا واحدًا لكل عنوان، إما كـ URL أو بصيغة `host:port:user:pass` لمديري الـ proxy. هل تواجه رفضًا غير مفهوم للاتصال؟ أضف `-sv` إلى أمر curl وقم بتمرير المخرجات عبر `2>&1 | grep -i x-foura-error`. جميع الخيارات موضحة في [proxy port reference](https://foura.ai/docs/api/proxy-port)، وخيارات Dashboard في [Proxy Users](https://foura.ai/docs/dashboard/proxy).

## ما القادم

أول عميل بنيناه بالاعتماد على مستخدمي الـ proxy هو عميلنا الخاص. ترسل إضافة [FourA Chrome extension](https://foura.ai/extension) متصفحك عبر أحدهم: اختر الشبكة والدولة، وفعّل المفتاح، وسيعرض سطر الحالة العنوان الذي تراه المواقع. إنها نسخة تجريبية (beta) غير متوفرة في Chrome Web Store، ويتم تثبيتها من قسم Tools في لوحة التحكم عبر وضع المطور (developer mode). على المدى الأبعد، تتضمن خطة العمل العامة [organization billing](https://updates.foura.ai)، وهو أمر مهم هنا لأن مستخدم الـ proxy التابع لمؤسسة ما يُحسب استهلاكه على مالك تلك المؤسسة حاليًا.

يُعد proxy URL أقدم ميثاق تكامل موجود، وتدعمه بالفعل كل أداة تستخدمها. لم يكن التحدي الحقيقي في النفق نفسه إطلاقًا، بل في المعنى المسموح به للنص الذي يسبقه، وما يحدث عند ارتكاب خطأ في صياغته.
