دليل عملي

بدائل Postman: Bruno وHoppscotch على VPS

التطوير8 دقائق للقراءةعدد الخطوات: 12

في مارس 2026، أزال ‎Postman‎ مساحات العمل التعاونية من خطته المجانية، مما فرض على الفرق الصغيرة دفع 19 دولاراً على الأقل لكل مستخدم شهرياً. يوفر ‎Bruno‎ و‎Hoppscotch‎ بديلاً متكاملاً: مجموعات مخزنة محلياً، وبدون اشتراك، مع ترحيل من ‎Postman‎ يحافظ على متغيرات البيئة وتوثيق ‎OAuth2‎ والاختبارات الآلية. يشرح هذا الدليل كيفية الاختيار والترحيل والنشر في أقل من ساعة.

المحتويات· لماذا الترحيل من Postman الآن1/8
  1. 01لماذا الترحيل من Postman الآن
  2. 02ما تكسبه بالترحيل
  3. 03المتطلبات قبل البدء
  4. 04الترحيل إلى Bruno في ست خطوات
  5. 05نشر Hoppscotch المستضاف ذاتياً مع Docker Compose
  6. 06Bruno مقابل Hoppscotch مقابل Insomnia — أيهما تختار
  7. 07ترحيل الاختبارات الآلية من Postman
  8. 08استضافة Hoppscotch على VPS من ServOrbit

لماذا الترحيل من Postman الآن

حتى فبراير 2026، كان ‎Postman‎ يتيح مشاركة المجموعات للفرق ضمن خطته المجانية. منذ تحديث مارس 2026، أصبحت مساحات العمل التعاونية حكراً على المشتركين المدفوعين، بسعر أدنى يبلغ 19 دولاراً لكل مستخدم شهرياً (خطة Basic). بالنسبة لفريق من خمسة مطورين، يمثل ذلك 95 دولاراً شهرياً أو 1140 دولاراً سنوياً، لأداة قيمتها الرئيسية مشاركة المجموعات. ولفريق من عشرة أشخاص، يتجاوز الحساب 2000 دولار سنوياً.

تغطي بديلتان مفتوحتا المصدر هذه الحاجة بدون اشتراك. يخزن ‎Bruno‎ المجموعات مباشرةً في مستودع ‎Git‎ الخاص بك — كل طلب ملف نصي قابل للإصدار ومقروء بأي أداة مراجعة كود. يوفر ‎Hoppscotch‎ واجهة ويب تعاونية قابلة للنشر على ‎VPS‎ خاص بك باستخدام ‎Docker Compose‎ في أقل من عشرين دقيقة. كلا المشروعين يستوردان مجموعات ‎Postman‎ بشكل أصلي ويحافظان على متغيرات البيئة والبرامج النصية السابقة للطلب والاختبارات الآلية.

يعتمد الاختيار بين الاثنين على سير عملك: ‎Bruno‎ مناسب للفرق التي تعمل بـ‎Git‎ ولا تحتاج إلى مزامنة فورية. ‎Hoppscotch‎ مناسب للفرق التي تشارك بيئات اختبار نشطة وتفضل واجهة ويب.

ما تكسبه بالترحيل

  • ‎بدون اشتراك‎ — ‎Bruno‎ عميل سطح مكتب مفتوح المصدر (MIT)، و‎Hoppscotch‎ ينتشر على أي ‎VPS‎ بـ‎Docker‎
  • ‎مجموعات مُصدَّرة‎ — يخزن ‎Bruno‎ كل طلب في ملف ‎.bru‎: تنطبق عليه أوامر git diff وgit blame ومراجعات الكود بشكل طبيعي
  • ‎استيراد مباشر من Postman‎ — يقرأ كلا الأداتين ملفات JSON لـ‎Postman‎ الإصدار 2.1 ويحافظان على المتغيرات وتوثيق ‎OAuth2‎ والاختبارات الآلية
  • ‎لا بيانات ترسل إلى أطراف ثالثة‎ — ‎Hoppscotch‎ المستضاف ذاتياً لا يتصل بأي خوادم خارجية؛ ‎Bruno‎ لا يزامن طلباتك مع السحابة أبداً
  • ‎موارد خفيفة‎ — لا يحتاج ‎Bruno‎ لخادم؛ ‎Hoppscotch‎ يعمل على ‎1 vCPU / 1 GB RAM‎ للاستخدام المعتاد للفريق
  • ‎مقاعد فريق غير محدودة‎ — يخدم نشر واحد لـ‎Hoppscotch‎ الفريق بأكمله بغض النظر عن حجمه

المتطلبات قبل البدء

بالنسبة لـ‎Bruno‎، يُعنى الأمر فقط بجهاز كل مطور: يُثبَّت عميل سطح المكتب على ‎macOS‎ و‎Linux‎ و‎Windows‎ بدون خادم. تعيش المجموعات في مجلد ضمن مستودع ‎Git‎ الحالي. لا يلزم أي حساب ولا يتصل بأي خدمة خارجية عند التشغيل.

بالنسبة لـ‎Hoppscotch‎ المستضاف ذاتياً، تحتاج إلى ‎VPS‎ بحد أدنى ‎1 vCPU‎ و‎1 GB RAM‎ (يوصى بـ‎2 GB‎ للمثيل مع قاعدة البيانات والذاكرة المؤقتة)، مع تثبيت ‎Docker‎ و‎Docker Compose‎، واسم نطاق يشير إلى الخادم، وشهادة ‎TLS‎ (‎Let's Encrypt‎ عبر ‎Certbot‎ أو ‎Traefik‎). تحتاج أيضاً إلى وصول ‎SSH‎ للإعداد الأولي والتحديثات.

في كلتا الحالتين، يلزم تصدير مجموعات ‎Postman‎ بصيغة ‎JSON v2.1‎. في ‎Postman‎، اذهب إلى File → Export → Collection v2.1 لكل مجموعة. تُنزَّل البيئات بشكل منفصل من تبويب ‎Environments‎. احتفظ بهذه الملفات كنسخة احتياطية.

الترحيل إلى Bruno في ست خطوات

  1. تصدير مجموعاتك من Postman

    في ‎Postman‎، انقر على ‎…‎ بجانب كل مجموعة، ثم ‎Export‎. اختر ‎Collection v2.1 (recommended)‎ واحفظ ملف ‎JSON‎. لمتغيرات البيئة، اذهب إلى ‎Environments‎، انقر ‎…‎ ثم ‎Export‎ لكل بيئة.

  2. تثبيت Bruno

    حمّل الحزمة من usebruno.com/downloads لنظام تشغيلك. على ‎Debian/Ubuntu‎: sudo dpkg -i bruno_<version>_amd64_linux.deb. على ‎macOS‎ عبر ‎Homebrew‎: brew install --cask bruno. ‎Bruno‎ موقّع ولا يتطلب حساباً.

  3. إنشاء مجموعة Bruno في مستودعك

    افتح ‎Bruno‎، انقر ‎Create Collection‎، اختر مجلداً في مستودع ‎Git‎ الخاص بك (مثلاً ‎api-tests/‎). ينشئ ‎Bruno‎ ملف ‎bruno.json‎ هناك ويخزن كل طلب كملف ‎.bru‎ — صيغة نصية قابلة للقراءة والمقارنة.

  4. استيراد مجموعة Postman

    في ‎Bruno‎، انقر ‎Import Collection‎ ← ‎Postman Collection v2 / v2.1‎، ثم حدد ملف ‎JSON‎ المُصدَّر. تُحوَّل الطلبات والمجلدات والبرامج النصية السابقة للطلب واختبارات ‎pm.test()‎. تُحفظ المتغيرات ‎{{variable}}‎ بنفس الصيغة في ‎Bruno‎.

  5. استيراد متغيرات البيئة

    انقر على محدد البيئة في أعلى اليمين ← ‎Configure‎ ← ‎Import‎. حدد ملف ‎JSON‎ للبيئة المُصدَّر من ‎Postman‎. تحقق من أن الأسرار مُعلَّمة بـ‎Secret‎ في ‎Bruno‎ لتجنب الإيداع في ‎Git‎ بنص واضح.

  6. إصدار المجموعة ومشاركتها

    أودع مجلد ‎api-tests/‎ في مستودعك: git add api-tests/ && git commit -m 'feat: migrate Postman collections to Bruno'. كل مطور يستنسخ المستودع ويفتح المجلد في ‎Bruno‎ — لا تكوين حساب، لا مساحة عمل سحابية.

نشر Hoppscotch المستضاف ذاتياً مع Docker Compose

  1. استرداد ملف Docker Compose الرسمي

    استنسخ المستودع: git clone https://github.com/hoppscotch/hoppscotch.git && cd hoppscotch. يحتوي ملف ‎compose.yml‎ على ثلاثة خدمات: ‎hoppscotch‎ (الواجهة الأمامية + API)، و‎db‎ (‎PostgreSQL 15‎)، و‎hoppscotch-migrate‎ (الترحيلات عند بدء التشغيل).

  2. تكوين متغيرات البيئة

    انسخ الملف المثال: cp .env.example .env. أدخل على الأقل: DATABASE_URL=postgresql://postgres:yourpassword@db:5432/hoppscotch، و‎JWT_SECRET‎ (سلسلة عشوائية بحد أدنى 32 حرفاً)، وVITE_BASE_URL=https://api.your-domain.com، وVITE_SHORTCODE_BASE_URL=https://your-domain.com. لـ‎OAuth2‎ (تسجيل الدخول عبر ‎GitHub‎ أو ‎Google‎ أو ‎GitLab‎)، أدخل المفاتيح المقابلة في كتلة ‎Auth‎.

  3. تشغيل الخدمات

    شغّل docker compose up -d. عند بدء التشغيل الأول، تُطبّق خدمة ‎hoppscotch-migrate‎ ترحيلات ‎PostgreSQL‎ ثم تتوقف — هذا طبيعي. تحقق بـ docker compose ps من أن ‎hoppscotch‎ و‎db‎ في حالة ‎running‎.

  4. تكوين الوكيل العكسي وTLS

    أضف مضيفاً افتراضياً في ‎nginx‎ يوجه المنفذ 3000 إلى ‎localhost:3000‎ والمنفذ 8080 (API الخلفي) إلى ‎localhost:8080‎. احصل على شهادة ‎Let's Encrypt‎: certbot --nginx -d your-domain.com -d api.your-domain.com. أعد تحميل ‎nginx‎: systemctl reload nginx.

  5. إنشاء أول حساب مسؤول

    افتح ‎https://your-domain.com‎ في متصفحك. يتلقى أول حساب يُنشأ صلاحيات المسؤول تلقائياً. اذهب إلى ‎https://your-domain.com/admin‎ لإدارة المستخدمين وتفعيل أو تعطيل طرق المصادقة وتحديد سياسات الفريق.

  6. استيراد مجموعات Postman في Hoppscotch

    في ‎Hoppscotch‎، اذهب إلى ‎Collections‎ ← ‎Import / Export‎ ← ‎Import from Postman‎. حدد ملف ‎JSON‎ الإصدار 2.1. تُستورد المجموعات والمجلدات والطلبات والمتغيرات وبرامج الاختبار. شارك المجموعة مع فريقك عبر قائمة ‎Share Collection‎ — كل عضو متصل يملك وصولاً في الوقت الفعلي.

‎Insomnia، ثالث عميل ‎API يُستشهد به كثيراً، مرّ بفترة اضطراب عام 2023: أزال فريق ‎Kong المزامنة المحلية لصالح حساب سحابي إلزامي، قبل أن يتراجع تحت ضغط المجتمع. انقسم المشروع الآن إلى فرعين: insomnium (‎fork المجتمع، نظام التخزين المحلي أولاً) و‎Insomnia الرسمي (مفتوح النواة مع سحابة اختيارية).

Bruno مقابل Hoppscotch مقابل Insomnia — أيهما تختار

مرّر الجدول أفقيًا

المعيار‎Bruno‎‎Hoppscotch‎ مستضاف ذاتياً‎Insomnia‎ مفتوح النواة
النموذجعميل سطح مكتب (MIT)تطبيق ويب مستضاف ذاتياً (MIT)عميل سطح مكتب (مفتوح النواة، Apache 2.0)
تخزين المجموعاتملفات ‎`.bru`‎ في ‎Git‎قاعدة بيانات ‎PostgreSQL‎ على ‎VPS‎ خاصتكملفات محلية أو سحابة مدفوعة
التعاون في الوقت الفعليعبر ‎Git‎ (سحب/دفع)نعم، مدمج في واجهة الويبلا على الخطة المجانية (السحابة مطلوبة)
ذاكرة RAM المطلوبةأقل من 200 ميجابايت (العميل فقط)1 جيجابايت كحد أدنى (الخادم)أقل من 300 ميجابايت (العميل فقط)
استيراد ‎Postman v2.1‎نعم، أصلينعم، أصلينعم، أصلي
‎OAuth2‎ / مصادقة متقدمةنعمنعم، مع مزودين قابلين للتكويننعم
اختبارات آلية (برامج نصية)نعم (‎JS‎)نعم (‎JS‎)نعم (‎JS‎)
نشر الفريقلا خادم — مشاركة عبر ‎Git‎‎Docker Compose‎، ‎1 VPS‎اشتراك سحابي أو استضافة ذاتية Enterprise
الوصول دون اتصالكاملجزئي (الواجهة دون اتصال، المزامنة مستحيلة)كامل

ترحيل الاختبارات الآلية من Postman

تستخدم برامج ‎Postman‎ النصية ‎pm.test()‎ المكتبة العامة ‎pm‎. يوفر كل من ‎Bruno‎ و‎Hoppscotch‎ واجهة برمجية متوافقة: ‎test('اسم الاختبار', () => { ... })‎ مع ‎expect()‎ للتحقق. التحويل مباشر لتحققات رمز الحالة (‎pm.response.to.have.status(200)‎ تصبح ‎expect(response.status).toBe(200)‎) وتحققات نص ‎JSON‎ (‎pm.response.json()‎ تبقى كما هي). البرامج النصية السابقة للطلب التي تعدّل متغيرات البيئة (‎pm.environment.set(...)‎) مدعومة أصلاً من كلا الأداتين.

استضافة Hoppscotch على VPS من ServOrbit

يناسب تماماً استضافة ‎Hoppscotch‎ خادمُ ‎VPS‎ مع ‎Docker‎ مُهيَّأ مسبقاً: يعمل مكدس ‎hoppscotch‎ + ‎db‎ (‎PostgreSQL 15‎) + ‎nginx‎ ضمن ‎1 GB RAM‎ للاستخدام المعتاد للفريق، ويمتد إلى ‎2 GB‎ عند تفعيل توليد المحاكاة أو تكامل ‎CI‎. يُبسّط ‎IPv4‎ المخصص تكوين ‎DNS‎ ويضمن عدم مشاركة حركة مرور مثيل الاختبار الخاص بك.

يتيح لك ‎VPS‎ مخصص لأدواتك مركزة أدوات أخرى: ‎Gitea‎ للكود المصدري، و‎Woodpecker CI‎ للتكامل المستمر، و‎Hoppscotch‎ لاختبار ‎API‎ على نفس الخادم. تقدم ServOrbit خوادم ‎VPS‎ موجهة للمطورين مع ‎Docker‎ مُهيَّأ مسبقاً لاستضافة ‎Hoppscotch‎ أو أي ‎API‎ ابتداءً من 99 درهم/شهر.

استضف أداة اختبار API على VPS للمطورين

تقدم ServOrbit خوادم VPS بصلاحية root وIPv4 مخصص وDocker مُهيَّأ مسبقاً. انشر Hoppscotch المستضاف ذاتياً في أقل من ساعة.

بحاجة إلى مساعدة؟

تصفّح مركز المساعدة والأسئلة الشائعة، أو تواصل مع فريقنا — معاودة اتصال أو WhatsApp أو بريد إلكتروني. الدعم بـالعربية والفرنسية والإنجليزية.

راسلنا على WhatsAppيُفتح في علامة تبويب جديدة