Skip to content
تم إنشاء هذه الصفحة وترجمتها بمساعدة الذكاء الاصطناعي. إذا لاحظت أي أخطاء، لا تتردد في المساهمة في تحسينها. تعديل على GitHub

سيجنال

اربط PRX بـ Signal باستخدام JSON-RPC وSSE API من signal-cli daemon للمراسلة المشفرة في الرسائل الخاصة والمجموعات.

المتطلبات المسبقة

  • رقم هاتف مسجّل في Signal
  • تثبيت signal-cli وتسجيله
  • تشغيل signal-cli في وضع daemon مع تفعيل HTTP API

الإعداد السريع

1. تثبيت وتسجيل signal-cli

bash
# Install signal-cli (see https://github.com/AsamK/signal-cli for latest)
# Register your phone number
signal-cli -u +1234567890 register
signal-cli -u +1234567890 verify <verification-code>

2. تشغيل signal-cli Daemon

bash
signal-cli -u +1234567890 daemon --http localhost:8686

3. التهيئة

toml
[channels_config.signal]
http_url = "http://127.0.0.1:8686"
account = "+1234567890"
allowed_from = ["+1987654321", "*"]

4. التحقق

bash
prx channel doctor signal

مرجع الإعدادات

الحقلالنوعالافتراضيالوصف
http_urlStringrequiredBase URL لخدمة signal-cli HTTP daemon (مثل "http://127.0.0.1:8686")
accountStringrequiredرقم هاتف E.164 لحساب signal-cli (مثل "+1234567890")
group_idStringnullتصفية الرسائل حسب المجموعة. null = قبول الكل (رسائل مباشرة ومجموعات). "dm" = الرسائل المباشرة فقط. Group ID محدد = تلك المجموعة فقط
allowed_from[String][]أرقام هواتف المرسلين المسموح بها بصيغة E.164. القيمة "*" = السماح للجميع
ignore_attachmentsboolfalseتخطي الرسائل التي تحتوي على مرفقات فقط (بدون نص)
ignore_storiesboolfalseتخطي رسائل القصص الواردة

الميزات

  • تشفير طرفي -- كل الرسائل مشفرة عبر Signal Protocol
  • دعم الرسائل الخاصة والمجموعات -- التعامل مع الرسائل المباشرة ومحادثات المجموعات
  • تدفق أحداث SSE -- الاستماع عبر Server-Sent Events على /api/v1/events للتسليم الفوري
  • إرسال عبر JSON-RPC -- إرسال الردود عبر JSON-RPC على /api/v1/rpc
  • تصفية مرنة للمجموعات -- قبول كل الرسائل، أو الرسائل المباشرة فقط، أو مجموعة محددة
  • معالجة المرفقات -- معالجة الرسائل ذات المرفقات فقط أو تخطيها اختياريًا

القيود

  • يتطلب تشغيل signal-cli كعملية daemon منفصلة
  • يجب أن يكون signal-cli مسجلاً ومؤكداً برقم هاتف صالح
  • كل instance من signal-cli يدعم رقم هاتف واحد
  • إرسال رسائل المجموعات يتطلب أن يكون حساب signal-cli عضوًا في المجموعة
  • signal-cli تطبيق Java وله متطلبات موارد خاصة به

استكشاف الأخطاء وإصلاحها

تعذر الاتصال بـ signal-cli

  • تحقق من عمل signal-cli daemon: curl http://127.0.0.1:8686/api/v1/about
  • افحص أن http_url يطابق عنوان الربط والمنفذ في daemon
  • تأكد من عدم وجود قواعد جدار ناري تمنع الاتصال

يتم تجاهل رسائل المجموعات

  • افحص مرشح group_id -- إذا كان "dm" فسيتم استبعاد رسائل المجموعات
  • إذا كان مضبوطًا على Group ID محدد، ستُقبل رسائل تلك المجموعة فقط
  • اضبط group_id على null (أو احذفه) لقبول كل الرسائل

يتم تخطي الرسائل ذات المرفقات فقط

  • هذا سلوك متوقع عند ignore_attachments = true
  • اضبط ignore_attachments = false لمعالجة هذه الرسائل

Released under the Apache-2.0 License.