IP Router
كيف يعمل · للمبتدئين

المواقع تقيّمك بحسب عنوان IP. هذا هو المقسم الذي يختار أي IP يرتديه وكيلك.

لكل جهاز على الإنترنت عنوان. البحث والمتاجر والإعلانات ومواقع الأخبار تستخدم هذا العنوان لتقرر ما تراه — العملة واللغة والترتيب، وحتى ما إذا كانت الصفحة تُحمَّل أصلًا. وكيل في مركز بيانات له عنوان واحد: ذلك المركز. من دون مخرج محلي، يبدو كل جلب صادرًا من مبنى واحد.

تطلب دولة أو مدينة. يختار IP Router مخرجًا هناك، ويرسل الطلب عبر ذلك الـ IP، ويعيد إليك الصفحة. الدماغ نفسه لوكيل JSON ولمتصفح حقيقي.

الفكرة

أربع حقائق، ثم يمكنك استخدام الباقي.

الموقع لا يرى حاسوبك المحمول أبدًا

يرى IP المخرج. غيّر المخرج تتغيّر الصفحة — الأسعار ونتائج البحث ومحدد المتاجر وجدار الدفع، كل ذلك.

الدولة ليست اللغة

يضعك cc-JP على IP ياباني. يخبر lang-ja الموقع أنك تقرأ اليابانية. غالبًا تريد الاثنين معًا.

الثبات يعني «الشخص نفسه»

تسجيلات الدخول والسلال والكوكيز تموت إذا انقلب الـ IP في منتصف المسار. يثبّتك sessid على مخرج واحد حتى انتهاء صلاحيته.

بابان، نواة واحدة

يرسل الوكلاء JSON عبر POST إلى /api/v1/fetch. تتحدث المتصفحات وcurl عبر CONNECT على :7777. كلاهما يستدعي selectRoute.

الكلمات

اثنا عشر مصطلحًا تستخدمها لوحة التحكم.

IP / المخرج
العنوان الذي يراه الموقع. ليس حاسوبك المحمول، ولا مضيف الوكيل — بل آخر قفزة غادرت IP Router.
cc (الدولة)
رمز دولة وفق ISO. GB للمملكة المتحدة، وDE لألمانيا، وJP لليابان. بهذا تُختار السوق.
المدينة
أدق من الدولة. لندن مقابل مانشستر، ونيويورك مقابل أوستن. تُستبدل المسافات بشرطات سفلية في أسماء المستخدمين: city-new_york.
اللغة (lang)
ترويسة Accept-Language. سؤال الموقع: «بأي لغة تقرأ؟». مستقلة عن عنوان IP.
sessid (جلسة ثابتة)
اسم تعيد استخدامه حتى تستخدم كل قفزة في المهمة المخرج نفسه. مدة TTL الافتراضية 10 دقائق؛ ويتجاوزها sesstime.
النوع
نوع الشبكة التي يكون عليها المخرج: سكني، أو مركز بيانات، أو جوّال، أو ISP. تتعامل المواقع مع هذه الأنواع على نحو مختلف.
المجمع
قائمة بالعقد التي أضفتها، كل واحدة موسومة بدولة وربما بمدينة. يطابق الموجّه الاستهداف مع عقدة.
الاتصال العكسي (backconnect)
بوابة مورّد واحدة. يُلحق IP Router القيمة -cc-US-city-austin-sessid-job1 باسم مستخدم ذلك المورّد.
مباشر
هذا الجهاز. مناسب للتعلّم. ما زال الموقع يرى عنوان IP لمضيفك، لذا لن تتغيّر الصفحات الجغرافية.
IP farm
هواتف Android تصفّها في مدينة. يغادر الوكلاء عبر ذلك الميل الأخير، وتُحاسب عن كل اتصال حي — لا عن كل GB.
Fetch API
POST /api/v1/fetch مع JSON. للوكلاء والنماذج اللغوية التي لا تتحدث HTTP CONNECT.
البوابة :7777
بروكسي HTTP. curl -x، وPlaywright، والمتصفحات. يقع الاستهداف في اسم المستخدم، بأسلوب Oxylabs.
بابان

الاستهداف نفسه. عملاء مختلفون.

اختر الباب الذي يوافق طريقة تحدّث عميلك. الاستهداف واحد في الحالين.

Fetch API — باب الوكيل

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

POST /api/v1/fetch بمفتاح Bearer. ضع الدولة والمدينة واللغة والجلسة في الجسم. تتضمّن الاستجابة الصفحة، وجغرافيا المخرج، وroute.reason حتى ترى لماذا اختيرت تلك القفزة.

يجلب URL ويعيد الجسم. لا ينقر، ولا يملأ النماذج، ولا يحتفظ بمخزن كوكيز لمتصفح حقيقي. للدفع في متصفح حقيقي، استخدم البوابة.

بوابة HTTP — باب المتصفح

استخدم هذا حين يتحدث العميل أصلًا ببروكسي HTTP: curl -x، أو Playwright، أو Chrome، أو أداة جمع تتوقع CONNECT.

وجّه البروكسي إلى host:7777. اسم المستخدم هو iprouter-{keyId}-cc-GB-city-london-sessid-job1. كلمة المرور هي مفتاح API. رموز الاستهداف نفسها الموجودة في جسم الجلب، لكنها داخل اسم المستخدم.

لا يستطيع CONNECT إعادة كتابة ترويسات HTTPS. إذا احتجت Accept-Language على موقع TLS، يجب أن يرسله المتصفح (أو fetch API). البادئة lang- في اسم المستخدم تلميح للتوجيه ولـ HTTP، وليست حقنًا سحريًا في HTTPS.

إذا كنتاستخدم
وكيل JSON / أداة نموذج لغويFetch API
ساحة التجربة / جرّب URLFetch API
curl، أو Playwright، أو متصفح حقيقيالبوابة :7777
سجّل الدخول ثم اجمع من الجلسة نفسهاأي البابين، مع sessid
المخارج

من أين يغادر الطلب فعلًا.

المخرج هو المكان الذي يغادر منه الطلب الإنترنت من منظور الموقع. تحتاج إلى مخرج واحد على الأقل ليس «هذا الجهاز» قبل أن تتغيّر الصفحات الجغرافية.

مباشر — هذا الجهاز

يأتي مع العقدة. تنجح الطلبات فورًا حتى تعمل ساحة التجربة. سيقول route.reason «direct» أو «direct fallback (no geo node)». ما زال الموقع يرى عنوان IP لمضيفك.

المجمع — عناوين IP التي أضفتها

لوحة التحكم ← مجمع البروكسي. لكل عقدة دولة، ومدينة اختيارية، ونوع. اطلب لندن، فتفوز عقدة مجمع في لندن. اطلب GB بلا مدينة، فتفوز أي عقدة GB.

Backconnect — بوابة مورّد واحدة

تضيف بوابة واحدة. يحقن IP Router الاستهداف في اسم المستخدم (-cc-DE-city-berlin-sessid-s1). استخدم هذا حين تشتري عرض النطاق من مزوّد بدلًا من سرد كل عنوان IP.

IP farm — هواتف في مدينة

صفّ هواتف Android، ووسم الموقع بدولة ومدينة، وحدّد عدد الاتصالات الحية. يغادر الوكلاء عبر ذلك الميل الأخير. تُحاسب عن كل اتصال في الشهر. تجربة من 14 يومًا تغطي الهاتف الأول.

حين تسمّي دولة، يجرّب الموجّه بهذا الترتيب: city pool match → country pool match → backconnect geo injection → direct fallback. وغياب البروكسيات المفعّلة كليًا يعطي 422، لا إخفاقًا صامتًا.

المحاولة الأولى

خمس دقائق. لست بحاجة إلى مخرج مدفوع بعد.

افعل هذا مرة واحدة حتى لا يبقى بقية الدليل نظريًا. خمس دقائق. لست بحاجة إلى مخرج مدفوع بعد.

  1. 01

    الصفحة الرئيسية ← افتح لوحة التحكم. محليًا لا يوجد تسجيل. تصل إلى النظرة العامة.

  2. 02

    ساحة التجربة معبأة مسبقًا بالصدى المحلي. اختر دولة (US مناسبة). اترك الجلسة agent-demo. أرسل. تحصل دائمًا على 200 من الصدى — هذا يثبت الباب، لا الجغرافيا.

  3. 03
    اقرأ ثلاثة حقول

    يجب أن يكون ok بقيمة true. يخبرك route.reason أي مخرج اختير. geo.exit هو عنوان IP الذي سيراه العالم الخارجي — فارغ، أو جهازك في الوضع المباشر.

  4. 04

    أضف عقدة مجمع أو backconnect ضمن مجمع البروكسي، أو IP farm في مدينة تهمّك. أرسل مرة أخرى. يجب ألا يقول reason بعد ذلك «direct fallback».

  5. 05

    مفاتيح API لـ Fetch API. تبني نقاط النهاية اسم مستخدم البوابة. لدى الوكلاء مخطط أداة النموذج اللغوي. الاستهداف نفسه، في ثلاث واجهات.

حالات الاستخدام

كيف يعمل لكل مهمة.

المعاملات نفسها في كل مرة: الدولة، والمدينة، واللغة، والجلسة الثابتة، والنوع. لا يتغيّر في المهمة إلا أيها تدير وأي باب تسلك. اختر صفًا.

مدينة / دولة

شاهد البحث كما يراه شخص في تلك المدينة

لا يعرض Google (ولا Bing ولا الخرائط) إنترنتًا واحدًا. يعرضون الإنترنت من حيث تقف. الترتيب والحزمة المحلية والإعلانات، وحتى الإملاء الذي يظنون أنك قصدته — كل ذلك يعتمد على IP المخرج وترويسة اللغة. إذا جلب وكيلك من مركز بيانات أمريكي، فأنت تقيّم صفحة نتائج أمريكية، حتى حين يكون السؤال «كيف يبدو هذا في مانشستر».

من دون IP Router

تحصل على صفحة نتائج بحث دولة المضيف. استعلام عن لندن من جهاز افتراضي في فرجينيا يبقى صفحة فرجينيا بسلسلة استعلام تشبه لندن.

معه

cc-GB + city-london + lang-en_GB. تغادر القفزة عبر مخرج في المملكة المتحدة، ويكون Accept-Language إنجليزية بريطانية، والصفحة هي التي يراها زائر من لندن.

كيف يعمل

  1. 01سمِّ السوق: الدولة GB، والمدينة London، واللغة en-GB. المدينة مهمة هنا — مانشستر ولندن حزمتان محليتان مختلفتان.
  2. 02استخدم Fetch API إذا أردت HTML/JSON ليقراه الوكيل. استخدم البوابة إذا كان متصفح بلا واجهة يقود صفحة النتائج.
  3. 03أرسل sessid ثابتًا إذا كنت ستتنقّل بين الصفحات أو تنقر. جلسة جديدة في منتصف التمرير تبدو كزائر جديد.
  4. 04اقرأ route.reason. تريد city pool match (أو backconnect geo injection). يعني direct fallback أنك ما زلت على المضيف.
  5. 05قارن تشغيلين: الاستعلام نفسه، US مقابل GB. يجب أن تتحرّك الحزمة المحلية والإعلانات. إذا لم تتحرّك، فأنت لست على مخرج جغرافي بعد.
الباب

أي البابين. Fetch API حين يرسل الوكيل JSON؛ والبوابة حين يتحدث العميل CONNECT.

cc-GBcity-londonlang-en_GB
Fetch API
{
  "url": "https://www.google.com/search?q=best+coffee+near+me",
  "geo": { "country": "GB", "city": "London", "language": "en-GB" },
  "session": "serp-london"
}
البوابة :7777
curl -x http://iprouter-key_dev-cc-GB-city-london-lang-en_GB-sessid-serp-london:ipr_live_dev_key@127.0.0.1:7777 https://www.google.com/search?q=best+coffee+near+me
تعرف أنه نجح حين

يكون route.reason إصابة جغرافية، وgeo.exit ليس مضيفك، وتذكر الحزمة المحلية متاجر لندن — لا تلك المجاورة لخادمك.

أخطاء شائعة

  • الدولة فقط. GB من دون مدينة غالبًا ما تضعك على صفحة وطنية تفتقد الحزمة المحلية التي تهمّك.
  • من دون lang. عنوان IP بريطاني مع en-US ما زال يميل إلى الإملاء الأمريكي وإلى مواقع US في المزيج.
route.reason

الجملة التي تخبرك إن كانت الجغرافيا قد حدثت فعلًا.

city pool match
طلبت مدينة وكانت عقدة مجمع في تلك المدينة مفعّلة. أفضل إصابة جغرافية.
country pool match
لا عقدة مدينة (أو لم تطلب مدينة)، لكن عقدة مجمع في تلك الدولة كانت مفعّلة.
backconnect geo injection
لا عقدة مجمع في تلك الدولة. بوابة backconnect مفعّلة، لذا كُتب الاستهداف في اسم مستخدمها.
direct fallback (no geo node)
لا شيء في تلك الدولة. غادر الطلب رغم ذلك — عبر هذا الجهاز. لن تتغيّر الصفحات الجغرافية. أضف عقدة أو مزرعة.
sticky session
أعدت استخدام sessid وما زال المخرج السابق مفعّلًا. عنوان IP نفسه كالمرة السابقة. جُدّدت TTL.
backconnect rotate / pool rotate / direct
لم تسمِّ دولة. اختار الموجّه أي مخرج مطابق، وإذا أرسلت جلسة، ثبّت الاختيار بتجزئة حتى يبقى كما هو.
الأخطاء

تلك التي تبدو أعطالًا في المنتج.

دولة من دون لغة

عنوان IP ياباني مع Accept-Language إنجليزي غالبًا ما يقدّم الإنجليزية رغم ذلك. عيّن lang (أو language في جسم الجلب) إلى جانب cc.

sessid جديد في كل طلب

إذا تغيّرت سلسلة الجلسة فأنت شخص جديد. تسقط جلسات الدخول. أعد استخدام sessid نفسه طوال المهمة.

الثقة بالرجوع المباشر

الحصول على 200 من الصدى على هذا الجهاز ليس دليلًا على الجغرافيا. اقرأ route.reason. إذا قال direct fallback، فالموقع قد رأى مضيفك رغم ذلك.

مركز بيانات مقابل سكني

بعض المصادر تأخذ بصمة ASN. إذا كانت الصفحة جدار captcha أو صفحة فارغة تقول «اكتُشف مركز بيانات»، عيّن type-residential أو استخدم IP farm.

HTTPS + البوابة + lang

لا تستطيع البوابة حقن Accept-Language في نفق CONNECT عبر HTTPS. أرسل الترويسة من العميل، أو استخدم Fetch API.

مجمع فارغ

إذا عُطّلت كل العقد، تحصل على 422 «No enabled proxies in the pool.». فعّل العقدة المباشرة أو أضف عقدة تعمل.