DEV Community

Cover image for ما هو Restfox؟
Yusuf Khalidd
Yusuf Khalidd

Posted on • Originally published at apidog.com

ما هو Restfox؟

Restfox هو عميل HTTP مجاني ومفتوح المصدر لاختبار واجهات برمجة التطبيقات (APIs). يعمل على سطح المكتب، وفي المتصفح، وبدون اتصال بالإنترنت. إذا كنت تريد أداة خفيفة لإرسال الطلبات بسرعة، بدون تسجيل حساب وبدون مزامنة سحابية إجبارية، فـ Restfox خيار عملي يستحق التجربة.

جرّب Apidog اليوم

في هذا الدليل ستتعرف على Restfox من زاوية تنفيذية: كيف تثبته، كيف تنظم الطلبات، كيف تستخدم البيئات، كيف تستورد مجموعاتك الحالية، وأين تنتهي حدوده مقارنة بمنصات دورة حياة API الكاملة.

ما هو Restfox؟

Restfox هو عميل لاختبار HTTP و Socket يعمل دون اتصال بالإنترنت أولًا، ويدعم الويب وسطح المكتب. تم بناؤه باستخدام Vue، ما يساعد على إبقاء الواجهة سريعة وبسيطة. أحدث إصدار مذكور هو v0.40.0، نُشر في منتصف عام 2025، ما يشير إلى أن المشروع نشط ويتم صيانته.

لقطة شاشة لواجهة Restfox الرئيسية، تعرض محرر طلب HTTP

الفكرة الأساسية وراء Restfox بسيطة: عميل API لا يجبرك على إنشاء حساب، ولا يدفع بياناتك إلى سحابة خارجية، ولا يضيف تعقيدًا غير ضروري. يمكنك بناء الطلب، إرساله، قراءة الاستجابة، ثم تنظيمه داخل مجموعة.

عمليًا، يمكنك استخدامه لـ:

  • إرسال طلبات HTTP و HTTPS.
  • اختبار WebSocket.
  • تنفيذ استعلامات GraphQL.
  • تنظيم الطلبات داخل مجموعات ومجلدات.
  • استخدام متغيرات بيئة مثل baseUrl و token.
  • الاحتفاظ بسجل استجابات محلي.

لماذا يهم تصميمه المحلي ومفتوح المصدر؟

يعتمد Restfox على فكرتين واضحتين:

  1. العمل دون اتصال بالإنترنت.
  2. كونه مفتوح المصدر.

هذا يعني أن مجموعاتك، بيئاتك، وسجل طلباتك تبقى على جهازك. لا تحتاج إلى الاتصال بخادم تابع للمورد كي تستخدم الأداة. إذا كنت تعمل على APIs داخلية، أو تتعامل مع رموز وصول، أو تختبر خدمات خلف VPN، فهذا النموذج يقلل سطح المخاطر.

للاطلاع على خيارات مشابهة، راجع دليل أفضل خيارات عملاء API التي تعمل دون اتصال بالإنترنت.

كونه مفتوح المصدر يعني أيضًا أنك تستطيع قراءة الكود، نسخه، أو استضافته ذاتيًا. ترخيص MIT متسامح، لذلك يمكن للفرق تشغيل Restfox داخل بنيتها التحتية الخاصة دون تعقيد ترخيصي كبير.

وإذا كان الشرط الأساسي لديك هو استخدام عميل API مجاني، فإن Restfox يحقق هذا الشرط مباشرة: لا طبقة مدفوعة ولا حساب إلزامي.

الميزات الأساسية في Restfox

1. بناء طلب HTTP

واجهة Restfox تدور حول محرر الطلبات. عادةً يكون سير العمل كالتالي:

  1. اختر طريقة الطلب: GET أو POST أو PUT أو PATCH أو DELETE.
  2. أدخل عنوان URL.
  3. أضف الرؤوس المطلوبة.
  4. أضف جسم الطلب إذا احتجت.
  5. أرسل الطلب واقرأ الاستجابة.

مثال طلب JSON شائع:

POST https://api.example.com/users
Content-Type: application/json
Authorization: Bearer {{token}}
Enter fullscreen mode Exit fullscreen mode
{
  "name": "Ahmed",
  "email": "ahmed@example.com"
}
Enter fullscreen mode Exit fullscreen mode

باستخدام المتغيرات، يمكنك تجنب تكرار القيم الحساسة أو المتغيرة:

GET {{baseUrl}}/users
Authorization: Bearer {{token}}
Enter fullscreen mode Exit fullscreen mode

2. تنظيم الطلبات داخل مجموعات

المجموعات تساعدك على ترتيب الطلبات حسب المشروع أو الخدمة أو نطاق API.

مثال بنية عملية:

E-commerce API
├── Auth
│   ├── Login
│   └── Refresh Token
├── Products
│   ├── List Products
│   ├── Get Product
│   └── Create Product
└── Orders
    ├── Create Order
    └── Get Order Status
Enter fullscreen mode Exit fullscreen mode

هذا النمط مفيد عندما تبدأ باختبار نقطة نهاية واحدة ثم يتحول العمل إلى سطح API كامل. لمزيد من السياق حول هذه الأدوات، راجع دليل عملاء REST API.

3. استخدام البيئات

البيئات في Restfox مخصصة للقيم التي تتغير بين التطوير والاختبار والإنتاج.

مثال:

{
  "baseUrl": "https://staging-api.example.com",
  "token": "your-access-token"
}
Enter fullscreen mode Exit fullscreen mode

ثم تستخدمها داخل الطلب:

GET {{baseUrl}}/profile
Authorization: Bearer {{token}}
Enter fullscreen mode Exit fullscreen mode

عند الانتقال من staging إلى production، لا تحتاج إلى تعديل كل طلب. غيّر البيئة فقط.

4. سجل الاستجابات

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

استخدمه مثلًا للتحقق من:

  • هل تغيّر شكل JSON؟
  • هل تغيرت حالة HTTP من 200 إلى 500؟
  • هل أضيف حقل جديد؟
  • هل اختفى حقل كان يعتمد عليه العميل؟

5. العمل من المتصفح أو سطح المكتب

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

إذا كنت تعمل على أكثر من نظام تشغيل، اقرأ أيضًا دليل تشغيل عميل API على Mac و Windows.

تثبيت Restfox

يوفر Restfox أكثر من مسار تثبيت. اختر ما يناسب بيئتك.

macOS

brew install restfox
Enter fullscreen mode Exit fullscreen mode

Linux

sudo snap install restfox
Enter fullscreen mode Exit fullscreen mode

Windows

scoop install restfox
Enter fullscreen mode Exit fullscreen mode

المتصفح

افتح:

https://restfox.dev
Enter fullscreen mode Exit fullscreen mode

ثم ثبته كتطبيق ويب تقدمي PWA من المتصفح إذا كان ذلك مدعومًا.

Docker

يمكنك تشغيل Restfox عبر Docker إذا كنت تريد نسخة مستضافة ذاتيًا داخل شبكتك. هذا مفيد للفرق التي تريد وصولًا مشتركًا من المتصفح مع الاحتفاظ بالتحكم في البنية التحتية.

هذا النموذج قريب من فكرة عملاء API داخل المتصفح. لمزيد من التفاصيل حول المفاضلات، راجع مقال عملاء API المستندة إلى الويب.

استيراد الطلبات الموجودة

غالبًا لن تبدأ من الصفر. إذا كنت تستخدم Postman أو Insomnia أو لديك مواصفة OpenAPI، يمكن لـ Restfox مساعدتك على الانتقال.

يدعم Restfox استيراد:

  • مجموعات Postman.
  • مجموعات Insomnia.
  • مواصفات OpenAPI.

سير العمل العملي:

  1. صدّر المجموعة من أداتك الحالية.
  2. افتح Restfox.
  3. استخدم خيار الاستيراد.
  4. راجع الطلبات والمتغيرات.
  5. اختبر الطلبات المهمة للتأكد من أن كل شيء يعمل كما هو متوقع.

هذا يقلل تكلفة تجربة Restfox، لأنك لا تحتاج إلى إعادة بناء كل طلب يدويًا. وإذا كنت تقارن أكثر من أداة، راجع قائمة بدائل Postman.

استخدام المكونات الإضافية في Restfox

يدعم Restfox نظام مكونات إضافية مكتوبة بلغة JavaScript. هذه الطبقة مفيدة عندما تحتاج إلى سلوك غير موجود مباشرة في الواجهة.

يمكن للمكونات الإضافية العمل مع الطلبات والاستجابات، مثل:

  • قراءة بيانات من الاستجابة.
  • تعيين متغيرات بيئة.
  • اختبار محتوى الاستجابة.
  • فك تشفير JWT.
  • استخدام crypto-js.
  • التعامل مع ضغط GZIP.
  • تنفيذ طلبات HTTP من داخل المكون الإضافي.

مثال حالة استخدام شائعة:

  1. ترسل طلب تسجيل دخول.
  2. تستخرج access_token من الاستجابة.
  3. تخزنه في متغير بيئة.
  4. تستخدمه تلقائيًا في الطلبات التالية.

تصور مبسط للفكرة:

// مثال توضيحي لفكرة استخراج token من استجابة JSON
const data = JSON.parse(response.body)

if (data.access_token) {
  environment.set("token", data.access_token)
}
Enter fullscreen mode Exit fullscreen mode

ومثال آخر لفحص قيمة داخل الاستجابة:

const data = JSON.parse(response.body)

if (!data.id) {
  throw new Error("الاستجابة لا تحتوي على id")
}
Enter fullscreen mode Exit fullscreen mode

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

حدود Restfox التي يجب معرفتها

Restfox أداة جيدة عندما تريد عميلًا خفيفًا لإرسال الطلبات. لكنه ليس منصة دورة حياة API كاملة.

لا يوجد CLI

Restfox أداة واجهة رسومية. لا يمكنك تشغيل مجموعات Restfox من سطر الأوامر أو ربطها مباشرة بخط CI كخطوة أصلية.

إذا كان هدفك تشغيل اختبارات API تلقائيًا في CI، فستحتاج إلى أداة أخرى بجانب Restfox.

لا يوجد Mock Server مدمج

Restfox يرسل الطلبات، لكنه لا ينشئ خادمًا وهميًا لتطوير الواجهة الأمامية قبل جاهزية الواجهة الخلفية.

لا توجد طبقة تصميم API

يمكنه استيراد OpenAPI، لكنه ليس محررًا مرئيًا لتصميم مواصفات OpenAPI من الصفر.

لا يوجد مولد وثائق

لن ينشر Restfox وثائق API تفاعلية لفريقك أو لمستهلكي API.

هذه ليست عيوبًا بالضرورة. Restfox مركز على مهمة محددة: إرسال الطلبات وفحص الاستجابات محليًا وببساطة.

متى تحتاج إلى أكثر من عميل خفيف؟

عندما يكبر مشروع API، لا يكون إرسال الطلبات كافيًا. غالبًا ستحتاج إلى:

  • تصميم العقد باستخدام OpenAPI.
  • محاكاة endpoints قبل تنفيذها.
  • كتابة اختبارات API قابلة للتشغيل في CI.
  • إنشاء وثائق تفاعلية.
  • مشاركة العمل بين أعضاء الفريق.
  • إدارة بيئات وسيناريوهات أكثر تعقيدًا.

هنا تظهر قيمة منصة مثل Apidog. يغطي Apidog دورة حياة API الكاملة في مكان واحد: تصميم OpenAPI بصري، اختبارات آلية مع تأكيدات مرئية، محاكاة بدون كتابة كود، وثائق تفاعلية يتم توليدها تلقائيًا، ومساحات عمل مشتركة للفرق مع مزامنة في الوقت الفعلي.

يدعم Apidog تطبيقات سطح المكتب على Windows و Mac و Linux، إضافة إلى تطبيق ويب وواجهة CLI للاستخدام داخل CI.

ميزة CLI مهمة هنا لأن Restfox لا يوفرها. يمكن لـ Apidog CLI تشغيل سيناريوهات اختبار محفوظة داخل pipeline، مع تقارير بصيغ CLI و HTML و JSON و JUnit. لكن يجب الانتباه إلى أن Apidog CLI مخصص لتشغيل مجموعات اختبار محفوظة، وليس بديلًا تفاعليًا لأدوات مثل curl أو HTTPie عند إرسال طلبات عشوائية من الطرفية.

يدعم Apidog أيضًا REST و GraphQL و gRPC و WebSocket و SOAP و Socket.IO، وهو نطاق أوسع من معظم العملاء الخفيفين.

إذا كنت تقارن الخيارات، راجع:

الخلاصة العملية: Restfox مناسب للفحوصات السريعة والمحلية. Apidog مناسب عندما تحتاج إلى إدارة دورة حياة API كاملة مع الفريق.

الأسئلة الشائعة

هل Restfox مجاني؟

نعم. Restfox مجاني ومفتوح المصدر بموجب ترخيص MIT. لا توجد طبقة مدفوعة ولا يتطلب حسابًا.

هل يعمل Restfox دون اتصال بالإنترنت؟

نعم. Restfox مصمم للعمل دون اتصال بالإنترنت أولًا. تبقى مجموعاتك وبيئاتك وسجل طلباتك على جهازك.

هل يمكن لـ Restfox استيراد مجموعات Postman؟

نعم. يدعم Restfox استيراد مجموعات Postman و Insomnia، كما يقرأ مواصفات OpenAPI.

هل لدى Restfox واجهة سطر أوامر CLI؟

لا. Restfox عميل واجهة رسومية GUI ولا يوفر مشغل CLI. إذا كنت تحتاج إلى تشغيل اختبارات API في CI، استخدم أداة تدعم CLI مثل Apidog.

ما البروتوكولات التي يدعمها Restfox؟

يدعم Restfox طلبات HTTP و HTTPS، واتصالات WebSocket، واستعلامات GraphQL.

كيف أثبّت Restfox؟

استخدم أحد الأوامر التالية حسب نظامك:

# macOS
brew install restfox

# Linux
sudo snap install restfox

# Windows
scoop install restfox
Enter fullscreen mode Exit fullscreen mode

أو شغّله من المتصفح عبر:

https://restfox.dev
Enter fullscreen mode Exit fullscreen mode

كما يمكنك تشغيله عبر Docker أو تثبيته كتطبيق ويب تقدمي PWA.

الخلاصة

Restfox عميل HTTP خفيف، مجاني، ومفتوح المصدر. يناسب المطورين الذين يريدون إرسال الطلبات وفحص الاستجابات محليًا بدون حساب وبدون مزامنة سحابية إجبارية.

استخدمه عندما تحتاج إلى:

  • اختبار API بسرعة.
  • تنظيم مجموعات طلبات بسيطة.
  • استخدام بيئات ومتغيرات.
  • استيراد مجموعات من Postman أو Insomnia.
  • العمل دون اتصال بالإنترنت.

لكن إذا احتجت إلى CLI، أو Mock Server، أو تصميم OpenAPI، أو اختبارات CI، أو وثائق تفاعلية، فستحتاج إلى منصة أوسع مثل Apidog.

اختر Restfox للعمل السريع والمحلي. واستخدم منصة دورة حياة API كاملة عندما يكبر المشروع وتتعدد احتياجات الفريق.

Top comments (0)