Signal-cli هي واجهة سطر الأوامر لبرنامج Signal messenger. وهو يدعم تسجيل الرسائل والتحقق منها وإرسالها واستقبالها. يستخدم Signal-cli ملف libsignal-service-java المصحح، المستخرج من كود مصدر Signal-Android. للتسجيل تحتاج إلى رقم هاتف حيث يمكنك تلقي الرسائل القصيرة أو المكالمات الواردة.
تم تصميم Signal-cli في المقام الأول ليتم استخدامه على الخوادم لإعلام المسؤولين بالأحداث المهمة. بالنسبة لحالة الاستخدام هذه، فهي تحتوي على وضع خفي مع واجهة JSON-RPC (صفحة الدليل) وواجهة D-BUS (صفحة الدليل). بالنسبة لواجهة JSON-RPC، يوجد أيضًا مثال بسيط للعميل، مكتوب بلغة Rust.
يمكنك إنشاء Signal-cli بنفسك أو استخدام الملفات الثنائية المتوفرة، والتي يجب أن تعمل على Linux وmacOS وWindows. هناك أيضًا صورة عامل إرساء وبعض حزم Linux التي يوفرها المجتمع.
متطلبات النظام:
على الأقل Java Runtime Environment (JRE) 21
المكتبة الأصلية: عميل libsignal
يتم تجميع libs الأصلية لنظام التشغيل x86_64 Linux (مع glibc حديث بما فيه الكفاية)، وWindows، وMacOS. بالنسبة للأنظمة/البنيات الأخرى، راجع: توفير lib الأصلي لـ libsignal
انظر أحدث إصدار.
export VERSION= < latest version, format " x.y.z " >
wget https://github.com/AsamK/signal-cli/releases/download/v " ${VERSION} " /signal-cli- " ${VERSION} " .tar.gz
sudo tar xf signal-cli- " ${VERSION} " .tar.gz -C /opt
sudo ln -sf /opt/signal-cli- " ${VERSION} " /bin/signal-cli /usr/local/bin/
يمكنك العثور على مزيد من التعليمات على ويكي:
للحصول على نظرة عامة كاملة على الاستخدام، يرجى قراءة صفحة الدليل والويكي.
هام: الحساب هو رقم هاتفك بالتنسيق الدولي ويجب أن يتضمن رمز الاتصال الخاص بالدولة. ومن ثم يجب أن يبدأ بعلامة "+". (راجع ويكيبيديا للحصول على قائمة بجميع رموز البلدان.)
تسجيل رقم (مع التحقق عبر الرسائل القصيرة)
signal-cli -a ACCOUNT register
يمكنك تسجيل تطبيق Signal باستخدام رقم الهاتف الثابت. في هذه الحالة، يمكنك تخطي عملية التحقق من الرسائل النصية القصيرة والانتقال مباشرة إلى التحقق من المكالمة الصوتية عن طريق إضافة مفتاح --voice
في نهاية أمر التسجيل أعلاه.
قد يتطلب التسجيل حل تحدي CAPTCHA: التسجيل باستخدام captcha
تحقق من الرقم باستخدام الرمز الذي تلقيته عبر الرسائل القصيرة أو الصوت، وقم بإضافة --pin PIN_CODE
بشكل اختياري إذا قمت بإضافة رمز سري إلى حسابك
signal-cli -a ACCOUNT verify CODE
أرسل رسالة
signal-cli -a ACCOUNT send -m " This is a message " RECIPIENT
توجيه محتوى الرسالة من عملية أخرى.
uname -a | signal-cli -a ACCOUNT send --message-from-stdin RECIPIENT
تلقي الرسائل
signal-cli -a ACCOUNT receive
تلميح : يتوقع بروتوكول Signal أن يتم استلام الرسائل الواردة بانتظام (باستخدام daemon
أو أمر receive
). وهذا مطلوب لكي يعمل التشفير بكفاءة وللحصول على تحديثات للمجموعات ومؤقت انتهاء الصلاحية والميزات الأخرى.
يتم إنشاء كلمة المرور ومفاتيح التشفير عند التسجيل وتخزينها في الدليل الرئيسي للمستخدمين الحاليين:
$XDG_DATA_HOME/signal-cli/data/
$HOME/.local/share/signal-cli/data/
يستخدم هذا المشروع Gradle لبناء التبعيات والحفاظ عليها. إذا كان لديك إصدار حديث مثبت من gradle، فيمكنك استبدال ./gradlew
بـ gradle
في الخطوات التالية.
تحقق من المصدر في مكان ما على نظام الملفات الخاص بك باستخدام
git clone https://github.com/AsamK/signal-cli.git
تنفيذ Gradle:
./gradlew build
2 أ. قم بإنشاء غلاف Shell في build/install/signal-cli/bin :
./gradlew installDist
2ب. إنشاء ملف tar في البناء/التوزيعات :
./gradlew distTar
2 ج. قم بإنشاء ملف Fat tar في build/libs/signal-cli-fat :
./gradlew fatJar
2د. ترجمة وتشغيل إشارة cli:
./gradlew run --args= " --help "
من الممكن إنشاء ثنائي أصلي باستخدام GraalVM. لا يزال هذا تجريبيًا ولن ينجح في جميع المواقف.
قم بتثبيت GraalVM وقم بإعداد البيئة
تنفيذ Gradle:
./gradlew nativeCompile
الملف الثنائي متاح في build/native/nativeCompile/signal-cli
بالنسبة للأسئلة والقضايا المتداولة، قم بإلقاء نظرة على الويكي.
يستخدم هذا المشروع libsignal-service-java من Open Whisper Systems:
https://github.com/WhisperSystems/libsignal-service-java
مرخص بموجب GPLv3: http://www.gnu.org/licenses/gpl-3.0.html