Dendrite هو منزل مصفوفة مفتوح المصدر تم تطويره من عام 2019 إلى عام 2023 كجزء من مؤسسة Matrix.org. مؤسسة Matrix.org غير قادرة على صيانة الموارد من Dendrite ويستمر تطويرها بواسطة Element بالإضافة إلى ذلك لديك خيار من Matrix Homeservers الأخرى
انظر مستقبل المشبك و POST المدونة Dendrite لمزيد من المعلومات.

Dendrite هو من الجيل الثاني مصفوفة HomeServer مكتوبة في Go. يعتزم توفير بديل فعال وموثوق وقابل للتطوير للمشابك:
Dendrite هو برنامج تجريبي ، وهو ما يعني:
هذا لا يعني:
في الوقت الحالي ، نتوقع أن يعمل Dendrite بشكل جيد لعمليات نشر HomeServer الصغيرة (10s/100s من المستخدمين) بالإضافة إلى العقد المصفوفة P2P في المقبض أو على الأجهزة المحمولة.
إذا كانت لديك أسئلة أخرى ، فيرجى إلقاء نظرة على الأسئلة الشائعة أو الانضمام إلينا:
راجع تخطيط صفحة التثبيت الخاصة بك لمزيد من المعلومات حول المتطلبات.
لبناء dendrite ، ستحتاج إلى GO 1.21 أو أحدث.
لنشر Dendrite القابل للاستخدام ، ستحتاج أيضًا إلى:
الموصى بها أيضًا:
يمكن استخدام اختبار الاتحاد للتحقق من نشرك.
إذا كنت ترغب في إنشاء مثيل Dendrite بالكامل ، راجع وثائق التثبيت. لتشغيل Docker ، انظر Build/Docker.
التعليمات التالية كافية لبدء تشغيل Dendrite كنشر اختبار غير متخلف باستخدام الشهادات الموقعة ذاتيًا وقواعد بيانات SQLite:
$ git clone https://github.com/matrix-org/dendrite
$ cd dendrite
$ go build -o bin/ ./cmd/...
# Generate a Matrix signing key for federation (required)
$ ./bin/generate-keys --private-key matrix_key.pem
# Generate a self-signed certificate (optional, but a valid TLS certificate is normally
# needed for Matrix federation/clients to work properly!)
$ ./bin/generate-keys --tls-cert server.crt --tls-key server.key
# Copy and modify the config file - you'll need to set a server name and paths to the keys
# at the very least, along with setting up the database connection strings.
$ cp dendrite-sample.yaml dendrite.yaml
# Build and run the server:
$ ./bin/dendrite --tls-cert server.crt --tls-key server.key --config dendrite.yaml
# Create an user account (add -admin for an admin user).
# Specify the localpart only, e.g. 'alice' for '@alice:domain.com'
$ ./bin/create-account --config dendrite.yaml --username alice ثم قم بإشارة عميل المصفوفة المفضل لديك على http://localhost:8008 أو https://localhost:8448 .
نحن نستخدم برنامج نصي يسمى "هل نحن متزامن بعد" الذي يتحقق من معدلات الامتثال SYTest. Sytest عبارة عن منصة اختبار HomeServer ذات الصندوق الأسود مع حوالي 900 اختبار. يعمل البرنامج النصي على عدد هذه الاختبارات التي تمر على dendrite وتحديثها مع CI. اعتبارًا من يناير 2023 ، لدينا تكافؤ 100 ٪ خادم خادم مع المشبك ، ويبلغ تكافؤ خادم العميل 93 ٪ ، على الرغم من فحص CI للحصول على أحدث الأرقام. في الممارسة العملية ، هذا يعني أنه يمكنك التواصل محليًا وعبر الاتحاد مع خوادم المشبك مثل Matrix.org جيدًا بشكل معقول ، على الرغم من أنه لا تزال هناك بعض الميزات المفقودة (مثل SSO و APIs معرف الطرف الثالث).
نحن نعطي الأولوية للميزات التي ستفيد HomeServers المفرد أولاً (EG Engipts ، E2E) بدلاً من الميزات التي قد تكون عمليات النشر الضخمة مهتمة (OpenId ، الضيوف ، واجهات برمجة التطبيقات الإدارية ، مثل API). هذا يعني دعم dendrite من بين أمور أخرى:
سنكون ممتنين لأي مساعدة في القضايا التي تم تحديدها كما نناقش حتى الآن. كل هذه القضايا لها اختبارات ذات صلة والتي تحتاج إلى تمرير من أجل إغلاق القضية. بمجرد كتابة الكود الخاص بك ، يمكنك تشغيل Sytest بسرعة للتأكد من أن أسماء الاختبار تمر الآن.
إذا كنت جديدًا في المشروع ، راجع صفحتنا المساهمة للوصول إلى السرعة ، ثم ابحث عن المشكلات الأولى الجيدة. إذا كنت معتادًا على المشروع ، فابحث عن المشكلات المطلوبة.