بدء مشروع برمجي بسرعة.

شعار Centrifugo

Centrifugo

Centrifugo — الزمن الحقيقي على خادمك: WebSocket وواجهة نشر ورموز JWT ولوحة إدارة محمية بكلمة مرور، دون خدمة خارجية.

1 غيغابايت على الأقل ذاكرة عشوائية 1 vCPU المنفذ 8113 قيد التحقق

قيد التحقق

التثبيت التلقائي لهذا الحل جاهز ويخضع حاليًا لاختباراتنا على خادم حقيقي. سيُفتح الطلب فور اكتمال التحقق.

المنظومة التقنية

DockerGoCentrifugo
الحد الأدنى من RAM1 غيغابايت على الأقل
الحد الأدنى من CPU1 vCPU
المنفذ الافتراضي8113
أنظمة التشغيل المتوافقةتوزيعات Linux حسب اختيارك

Centrifugo خادم مراسلة فورية مفتوح المصدر (رخصة Apache-2.0) مكتوب بلغة Go. يتولى أصعب جزء في الزمن الحقيقي: إبقاء آلاف اتصالات WebSocket مفتوحة، وإيصال الرسائل المعنية إلى كل اتصال. يبقى تطبيقك بلغة PHP أو Python أو Node.js أو Go أو Ruby، ولا يحتاج إلا إلى طلب HTTP واحد للنشر.

المبدأ بسيط. يوقّع الخادم الخلفي لتطبيقك رمز JWT لكل مستخدم، ويستعمله المتصفح أو تطبيق الجوال لفتح اتصال على `wss://your-domain/connection/websocket`. عند وقوع حدث — طلب مدفوع، رسالة دردشة، تنبيه — يستدعي الخادم الخلفي واجهة `/api/publish` بمفتاحه، فيدفع Centrifugo الرسالة إلى جميع مشتركي القناة. إنه بديل مستضاف ذاتيًا لـ Pusher أو Ably أو PubNub، دون فوترة لكل رسالة.

الميزات الرئيسية

اتصالات فورية — WebSocket، مع حزم رسمية للعملاء بلغات JavaScript وDart/Flutter وSwift وJava/Android وGo وPython.
واجهة نشر — يكفي طلب HTTP واحد مع الترويسة X-API-Key لإرسال رسالة إلى قناة، من أي لغة.
مصادقة بالرموز — يوقّع خادمك الخلفي رموز JWT ‏(HS256)، ويُرفض كل اتصال بلا رمز صالح.
قنوات واشتراكات من جهة الخادم — يمكن أن يحمل رمز المستخدم قائمة قنواته، دون شيفرة إضافية لدى العميل.
لوحة إدارة — حالة العقدة وعدد العملاء المتصلين وإرسال أوامر الواجهة من المتصفح، محمية بكلمة مرور.
خفيف — ملف Go تنفيذي واحد، وبضع عشرات من الميغابايت من الذاكرة في وضع الخمول.

متى تستخدم هذا الحل؟

1

إشعارات مباشرة

أخبر العميل فور دفع طلبه أو وصول رد على تذكرته، دون أن يعيد تحميل الصفحة.

2

دردشة وتعليقات فورية

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

3

لوحات متابعة تتحدث تلقائيًا

ادفع العدادات وحالات التوصيل أو الأسعار إلى الشاشات المفتوحة بدل الاستعلام عنها كل ثانية.

نشر Centrifugo على خادم VPS الخاص بك

دليل محسّن لخوادم VPS Cloud من ServOrbit.

01

إنشاء الخادم واختيار العنوان

اطلب خادمًا افتراضيًا بنظام Ubuntu 24.04؛ تكفي ذاكرة 1 غيغابايت للبدء. يتطلب Centrifugo نطاقًا: تتصل به المتصفحات عبر wss:// ويستدعي خادمك الخلفي واجهته عبر HTTPS، على اسم ثابت. يُفتح على نطاق فرعي من أحد نطاقاتك، أو على النطاق الفرعي المجاني للخادم (centrifugo.{dns_slug}‎.servorbit-dns.com) مع HTTPS. لا حاجة لشراء اسم نطاق.

02

تثبيت Centrifugo من المتجر

من مساحة العميل، اختر Centrifugo وحدد العنوان ثم انقر على «تثبيت». ينشر السكربت الحاوية الرسمية، ويولّد كلمة مرور اللوحة ومفتاح واجهة الخادم ومفتاح توقيع الرموز، ثم يضبط الوكيل العكسي nginx عبر HTTPS مع دعم WebSocket.

03

تسجيل الدخول لأول مرة

افتح https://your-domain: تطلب لوحة الإدارة كلمة مرور. أدخل كلمة المرور المعروضة في مساحة العميل. تعرض الصفحة الرئيسية إصدار العقدة وعدد العملاء المتصلين.

04

استرجاع مفاتيح الخادم الخلفي

اتصل بالخادم عبر SSH واقرأ /opt/centrifugo/.env: ‏ENCRYPTION_KEY هو مفتاح واجهة الخادم (الترويسة X-API-Key) وENCRYPTION_KEY_HEX64 هو مفتاح HMAC الذي يوقّع رموز الاتصال. احفظهما في أسرار تطبيقك، ولا تضعهما أبدًا في شيفرة تُرسل إلى المتصفح.

05

النشر وربط العملاء

يوقّع خادمك الخلفي رمز JWT بخوارزمية HS256 ‏(sub = معرّف المستخدم، channels = القنوات المتابَعة) ويسلّمه إلى المتصفح، الذي يتصل بحزمة centrifuge على wss://your-domain/connection/websocket. أضف أصل موقعك إلى CENTRIFUGO_CLIENT_ALLOWED_ORIGINS في /opt/centrifugo/docker-compose.yml، وأعد التشغيل بـ docker compose up -d، ثم انشر بطلب POST إلى https://your-domain/api/publish.

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

الخدمة نفسها: ينشر خادمك الخلفي، وتتلقى المتصفحات المشتركة الرسالة مباشرة. ‏Pusher وAbly خدمتان مستضافتان تُفوتران حسب عدد الاتصالات والرسائل؛ أما Centrifugo فيعمل على خادمك دون فوترة لكل رسالة، ولا تغادر بياناتك خادمك. في المقابل، تقع إدارة الخادم على عاتقك.

بدء مشروع برمجي بسرعة.

لا يمكن طلب Centrifugo بعد.

التثبيت التلقائي لهذا الحل جاهز ويخضع حاليًا لاختباراتنا على خادم حقيقي. سيُفتح الطلب فور اكتمال التحقق.

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

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

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