
مكدس الشبكات القائم على التشفير لبناء شبكات لا يمكن إيقافها باستخدام LoRa وراديو الحزمة (Packet Radio) وWiFi وكل ما بين ذلك.
Reticulum Network Stack <img align="right" src="https://static.pepy.tech/personalized-badge/rns?period=month&units=international_system&left_color=grey&right_color=blue&left_text=Installs/month" style="padding-left:10px"/><a href="https://github.com/markqvist/Reticulum/actions/workflows/build.yml"><img align="right" src="https://github.com/markqvist/Reticulum/actions/workflows/build.yml/badge.svg"/></a> ========== > [!WARNING] > يتم حاليًا تسويق عدد كبير من النسخ المزيفة المتسرّعة، غير الصحيحة، المشكوك فيها، الضارة مباشرةً، وفي معظم الحالات المولّدة بالكامل بواسطة نماذج اللغة الكبيرة (LLM) لتطبيقات Reticulum و"التوثيق" و"الأدلة" والتطبيقات الموجّهة للمستخدم، تحت ادعاءات مصقولة لكنها مضللة في نهاية المطاف أو خادعة صراحةً. > > لمزيد من المعلومات التفصيلية، راجع الأقسام ذات الصلة من فصل [مرجع براندوليني](https://reticulum.network/manual/brandolinis.html) في الدليل. التطبيقات المجتمعية المعروفة الجيدة مُدرجة في قسم [التطبيقات المجتمعية](#community-implementations) من هذا الملف التعريفي. أما البرمجيات والمشاريع المعترف بها من قِبل مجتمع Reticulum، فراجع فصل [البرامج التي تستخدم Reticulum](https://reticulum.network/manual/software.html) في الدليل. > > المحتوى المولّد آليًا والمستمد من الشيفرة المصدرية أو التوثيق الخاص بـ RNS (مثل "التطبيقات" و"الأدلة" المعروضة للبيع، وما إلى ذلك)، ينتهك في عدة حالات موثّقة جيدًا تراخيص المصادر المفتوحة التي منحت حقوق النسخ والتوزيع. > > أي ادعاء بحقوق النشر أو منح ترخيص (Apache، GPL، وما إلى ذلك) تقدّمه هذه المشاريع هو [منح باطل](https://reticulum.network/manual/brandolinis.html#void-grants-legal-foundations-of-machine-generated-code). كلٌّ من المخالفين أنفسهم، وجميع المشاريع اللاحقة التي تستخدم المشتقات المنتهِكة، مسؤولون **مباشرةً** وشخصيًا عن العواقب القانونية. > > **لا** تستخدم هذه "المشاريع"، فهي خطر على المنظومة بأكملها التي كنا نبنيها بعناية على مدى السنوات العشر الماضية. <p align="center"><img width="200" src="https://assets.kitploit.com/production/public/readmes/10927/035f499a1619cfb6d2da2ca99539e9e9d122bb18addf2ab83d3413592e7662f9.png"></p> *هذا المستودع هو [نسخة مرآة عامة](https://github.com/markqvist/reticulum/blob/master/MIRROR.md). تجري جميع أعمال التطوير في مكان آخر.* لفهم الفلسفة التأسيسية والأهداف لهذا النظام، اقرأ [زن Reticulum](https://github.com/markqvist/reticulum/blob/master/Zen%20of%20Reticulum.md). Reticulum هو حزمة الشبكات القائمة على التشفير لبناء شبكات محلية وواسعة النطاق باستخدام عتاد متوفر بسهولة. يمكنه العمل حتى مع زمن استجابة مرتفع جدًا وعرض نطاق منخفض للغاية. يتيح لك Reticulum بناء شبكات واسعة النطاق بأدوات جاهزة، ويوفّر التشفير من الطرف إلى الطرف والاتصال، وإخفاء هوية المُبادر، ونقلًا متعدد القفزات مُهيّأً ذاتيًا ومدعومًا تشفيريًا، وعنونة فعّالة، وإقرارات تسليم غير قابلة للتزوير، والمزيد. رؤية Reticulum هي تمكين أي شخص من أن يكون مشغّل شبكته الخاصة، وجعل تغطية مساحات شاسعة بشبكات لا حصر لها مستقلة وقابلة للترابط وذاتية الحكم أمرًا رخيصًا وسهلًا. Reticulum **ليس** *شبكة* واحدة. إنه **أداة** لبناء *آلاف الشبكات*. شبكات بلا مفاتيح إيقاف، ولا مراقبة، ولا رقابة، ولا تحكّم. شبكات يمكنها أن تتعامل بحرية، وتتحالف وتنفصل عن بعضها البعض، ولا تتطلب أي إشراف مركزي. شبكات للبشر. *شبكات للناس*. Reticulum هو حزمة شبكات كاملة، ولا يعتمد على IP أو الطبقات الأعلى، لكن من الممكن استخدام IP كحامل أساسي لـ Reticulum. لذلك من السهل جدًا تمرير Reticulum عبر الإنترنت أو شبكات IP الخاصة. إن عدم وجود تبعيات على حزم الشبكات التقليدية يحرّر عبئًا إضافيًا استُخدم لتنفيذ حزمة شبكات مبنية مباشرةً على مبادئ تشفيرية، مما يتيح المرونة والوظائف المستقرة، حتى في الشبكات المفتوحة وغير الموثوقة. لا حاجة لوحدات نواة أو برامج تشغيل. يعمل Reticulum بالكامل في مساحة المستخدم، ويمكنه العمل على أي نظام تقريبًا يشغّل Python 3. ## اقرأ الدليل التوثيق الكامل لـ Reticulum متاح على [markqvist.github.io/Reticulum/manual/](https://markqvist.github.io/Reticulum/manual/). يمكنك أيضًا تنزيل [دليل Reticulum بصيغة PDF](https://github.com/markqvist/Reticulum/releases/latest/download/Reticulum.Manual.pdf) أو [ككتاب إلكتروني بصيغة EPUB](https://github.com/markqvist/Reticulum/releases/latest/download/Reticulum.Manual.epub). لمزيد من المعلومات، راجع [reticulum.network](https://reticulum.network/) و[قسم الأسئلة الشائعة في الويكي](https://github.com/markqvist/Reticulum/wiki/Frequently-Asked-Questions). ## الميزات البارزة - عنونة وتعرّف فريدان عالميًا بدون تنسيق - توجيه متعدد القفزات مُهيّأ ذاتيًا بالكامل عبر حوامل غير متجانسة - قابلية توسّع مرنة عبر طوبولوجيات غير متجانسة - يمكن لـ Reticulum نقل البيانات عبر أي مزيج من الوسائط المادية والطوبولوجيات - يمكن للشبكات منخفضة النطاق أن تتعايش وتترابط مع الشبكات الكبيرة عالية النطاق - إخفاء هوية المُبادر، تواصل دون الكشف عن هويتك - لا يتضمن Reticulum عناوين المصدر في أي حزمة - تشفير X25519 غير المتماثل وتوقيعات Ed25519 كأساس لجميع الاتصالات - مفاتيح هوية Reticulum التأسيسية هي مجموعات مفاتيح منحنى إهليلجي بحجم 512 بت - السرية الأمامية متاحة لجميع أنواع الاتصالات، سواء للحزم المفردة أو عبر الروابط - يستخدم Reticulum التنسيق التالي للرموز المشفّرة: - مفاتيح مؤقتة لكل حزمة ولكل رابط ومشتقة من تبادل مفاتيح ECDH على Curve25519 - AES-256 في وضع CBC مع حشو PKCS7 - HMAC باستخدام SHA256 للمصادقة - يتم توليد IVs عبر os.urandom() - تأكيدات تسليم حزم غير قابلة للتزوير - نظام واجهات مرن وقابل للتوسيع - يتضمن Reticulum مجموعة كبيرة من أنواع الواجهات المدمجة - القدرة على تحميل واستخدام أنواع واجهات مخصصة يوفّرها المستخدم أو المجتمع - أنشئ بسهولة واجهاتك المخصصة للتواصل عبر أي شيء - المصادقة وتقسيم الشبكة الافتراضي على جميع أنواع الواجهات المدعومة - واجهة برمجة تطبيقات بديهية وسهلة الاستخدام - أبسط وأسهل في الاستخدام من واجهات sockets، لكنها أقوى - تجعل بناء التطبيقات الموزّعة واللامركزية أكثر بساطة - نقل موثوق وفعّال لكميات عشوائية من البيانات - يمكن لـ Reticulum التعامل مع بضعة بايتات من البيانات أو ملفات بحجم عدة غيغابايت - التسلسل والضغط وتنسيق النقل والتحقق من المجموع الاختباري تتم تلقائيًا - واجهة برمجة التطبيقات سهلة الاستخدام جدًا، وتوفّر تقدّم النقل - آلية طلب/استجابة خفيفة ومرنة وقابلة للتوسيع - إنشاء روابط فعّال - التكلفة الإجمالية لإعداد رابط مشفّر ومُتحقَّق منه هي 3 حزم فقط، بإجمالي 297 بايت - تكلفة منخفضة لإبقاء الروابط مفتوحة عند 0.44 بت في الثانية فقط - تسليم تسلسلي موثوق بآليات Channel وBuffer ## موارد المجتمع المراجع المدرجة هنا لا يديرها أو يشرف عليها مشروع Reticulum أو القائمون عليه. يوفّرها متطوعون مستقلون مخلصون في المجتمع، لفائدة أي شخص مهتم بمعرفة المزيد عن Reticulum. - [ويكي مجتمع Reticulum](https://reticulum.miraheze.org/wiki) - [وصفات RNS](https://rns.recipes/) - [RNS موسكو](https://rns.moscow/) - [RMAP.world](https://rmap.world/) إذا وجدت أي شيء لم يعد دقيقًا أو غير صحيح أو ببساطة غير محدّث تمامًا، فلا تطالب أو تشتكِ إلى القائمين على هذه الموارد. بدلًا من ذلك، تولَّ المهمة بنفسك للمساعدة وتحسين الأمور من خلال العمل على المساهمات التي تودّ رؤيتها وتقديمها، كما فعل مبتكرو ما سبق بأنفسهم. ## التطبيق المرجعي شيفرة Python في هذا المستودع هي التطبيق المرجعي لـ Reticulum. يُعرَّف بروتوكول Reticulum بالكامل وبشكل موثوق من خلال هذا التطبيق المرجعي، ودليله المرافق. يشرف عليه Mark Qvist، المعرَّف بهوية Reticulum `<bc7291552be7a58f361522990465165c>`. لا توجد حاليًا أي مشتقات من الدرجة الثانية لمواصفات البروتوكول، ولن توجد أبدًا. لا يمكنك الحصول على مواصفة أفضل من مواصفة قابلة للتنفيذ، وعملية، وقابلة للاختبار، ومنشورة، وتعمل على مدار الساعة طوال أيام الأسبوع عبر الكوكب. لا يوجد، ولن يوجد أبدًا، "مواصفة رسمية" مشتقة منفصلة، أو "RFC" أو أي شيء مشابه لـ Reticulum: **التطبيق المرجعي *هو* المواصفة النهائية والموثوقة.** يُعرَّف التوافق مع بروتوكول Reticulum بأنه امتلاك قابلية تشغيل متبادل كاملة، وتكافؤ وظيفي كافٍ مع هذا التطبيق المرجعي. أي تطبيق بروتوكول محدد يحقق ذلك هو Reticulum. وأي تطبيق لا يحقق ذلك ليس Reticulum. التطبيق المرجعي مرخّص بموجب ترخيص Reticulum. أُهدي بروتوكول Reticulum إلى الملكية العامة في عام 2016. ## التطبيقات المجتمعية التطبيقات المدرجة هنا أثبتت التوافق على مستوى الاتصال، وتكافؤًا وظيفيًا كافيًا، وممارسات أمنية وتطويرية معقولة، والتزامًا طويل الأمد واهتمامًا بجودة التطبيق. بالإضافة إلى ذلك، لديها سجل حافل لا يقل عن 18 شهرًا من التطوير النشط. والأهم من ذلك، أن مطوّريها والقائمين عليها معترف بهم من قِبل المجتمع بأنهم يعرفون فعلًا ما يفعلونه، وبأنهم ملتزمون بتحسين منظومة Reticulum ككل. - [microReticulum](https://github.com/attermann/microReticulum/) من [Chad Atterman](https://github.com/attermann) هو تطبيق بلغة C++ يستهدف المتحكمات الدقيقة 32 بت. - [Reticulum-Go](https://reticulum-go.quad4.io/) من [Quad4](https://quad4.io/) هو تطبيق بلغة Go يستهدف كلًا من أنظمة سطح المكتب والجوال والأنظمة المدمجة. *إذا كنت القائم على تطبيق غير مدرج أعلاه، وتعتقد أنه يستحق الإدراج باتباع نفس معايير الصرامة والالتزام، فسيُرحَّب باقتراحك.* --- **تحذير!** يتم حاليًا تسويق ودفع عدد كبير من النسخ المزيفة المتسرّعة، غير الصحيحة، المشكوك فيها، الضارة مباشرةً، وفي معظم الحالات المولّدة بالكامل بواسطة نماذج اللغة الكبيرة (LLM) لتطبيقات Reticulum (والتطبيقات الموجّهة للمستخدم) تحت ادعاءات مصقولة لكنها مضللة في نهاية المطاف أو خادعة صراحةً. معظم هذه إما محاولات سريعة لجذب الانتباه أو جمع المال، غير مراجَعة بالكامل، وغير متوافقة، وبلا صيانة أو إشراف بشري، وتحاول بنشاط تفتيت المجتمع، أو مزيج من ذلك. --- لمزيد من المعلومات الموسّعة حول هذا الموضوع، اقرأ فصل [مرجع براندوليني](https://reticulum.network/manual/brandolinis.html) في الدليل (للأسس القانونية، راجع [المنح الباطلة](https://reticulum.network/manual/brandolinis.html#void-grants-legal-foundations-of-machine-generated-code) تحديدًا). الفصل طويل جدًا، ومفصّل جدًا، وهو التحليل المهذّب والمتّزن، المقصود به أن يكون مرجعًا متطورًا ومقسّمًا حول هذه القضايا. إذا كنت تفضّل النسخة القصيرة غير المفلترة والغاضبة تمامًا، والتي تتألف من ردّ فعلي على تجلٍّ معيّن لهذه الظاهرة ككل، مستخدمًا كمثال، يمكنك قراءة [نعم، أنا غاضب](https://github.com/markqvist/reticulum/blob/master/docs/history/2026_09_18_Yes_I_am_Angry.md). إنها توصل نفس الفكرة، بلغة مختلفة تمامًا، إن كنت تستطيع تحمّل هذا النوع من التواصل. ينصح القائمون والمطوّرون الأساسيون لـ Reticulum **بشدة بعدم استخدام أي "تطبيق" من هذا القبيل**. تسبّب [السلوك الخادع والانتهازي](https://reticulum.network/manual/brandolinis.html#a-persistent-but-fragile-triad) لعدد صغير من الأفراد إما سيئي النية أو الباحثين عن الاهتمام أو غير الأكفاء في [ضرر كبير وإهدار للوقت والموارد](https://reticulum.network/manual/brandolinis.html#intent-consequence) لكلٍّ من المطوّرين ومشغّلي العقد والمستخدمين والمجتمع ومشروع Reticulum عمومًا. نطلب من جميع المستخدمين بلطف، ولكن بإلحاح، توخّي الحذر والفطرة السليمة والتشكّك الصحي عند [تقييم](https://reticulum.network/manual/brandolinis.html#evaluating-a-reticulum-implementation) الاستخدام المحتمل لأي تطبيق غير مدرج أعلاه؛ وأن يتقبّلوا أن **اختيار القيام بذلك رغم ذلك ينقل مسؤولية الضرر المحتمل من فرد غير مسؤول أو خبيث إلى أنفسكم**. ## أمثلة على تطبيقات Reticulum إذا كنت تريد تكوين فكرة سريعة عمّا يمكن لـ Reticulum فعله، ألقِ نظرة على قسم [البرامج التي تستخدم Reticulum](https://reticulum.network/manual/software.html) في الدليل، أو على الموارد التالية: - [LXMF](https://github.com/markqvist/lxmf) هو بروتوكول نقل رسائل موزّع يتحمّل التأخير والانقطاع، مبني على Reticulum - يوفّر بروتوكول وإطار عمل [LXST](https://github.com/markqvist/lxst) نقل الصوت والإشارات في الوقت الفعلي عبر Reticulum. يتضمن عناصر أساسية وأدوات لبناء تطبيقات وأجهزة قائمة على الصوت، مثل برنامج `rnphone`، الذي يمكن استخدامه لبناء هواتف عتادية. - للحصول على منصة اتصالات شبكية مشفّرة ومرنة وخارج الشبكة، راجع [Nomad Network](https://github.com/markqvist/NomadNet) - تطبيق [Sideband](https://github.com/markqvist/Sideband) لأندرويد ولينكس وماك أو إس وويندوز يمتلك واجهة رسومية والعديد من الميزات المتقدمة، مثل نقل الملفات، ورسائل الصور والصوت، ومكالمات صوتية في الوقت الفعلي، ونظام قياس عن بُعد موزّع، وقدرات رسم الخرائط، وقابلية توسيع كاملة عبر الإضافات. - [MeshChatX](https://git.quad4.io/RNS-Things/MeshChatX) هو عميل LXMF كامل الميزات مع العديد من الأدوات والوظائف المدمجة، يدعم أيضًا رسائل الصور والصوت، ونقل الملفات، والمكالمات الصوتية. يتضمن أيضًا متصفح صفحات مدمجًا لتصفح عقد Nomad Network. - يمكنك استخدام برنامج [rnsh](https://reticulum.network/manual/using.html#the-rnsh-utility) المضمّن لإنشاء جلسات shell عن بُعد عبر Reticulum. - يوفّر نظام [rngit](https://reticulum.network/manual/git.html) المضمّن حلًا كاملًا لإدارة واستضافة والتعاون على مستودعات Git والتفاعل معها عبر Reticulum. ## أين يمكن استخدام Reticulum؟ عبر أي وسيط تقريبًا يمكنه دعم قناة نصف مزدوجة على الأقل بمعدل نقل أكبر من 5 بتات في الثانية، ووحدة نقل قصوى (MTU) بحجم 500 بايت. راديو البيانات، والمودمات، وراديو LoRa، والخطوط التسلسلية، ووحدات AX.25 TNC، وأنماط الراديو الهواة الرقمية، وأجهزة WiFi وEthernet، وروابط البصريات في الفضاء الحر، وأنظمة مشابهة، كلها أمثلة على أنواع الأجهزة المادية التي يمكن لـ Reticulum استخدامها. صُمّمت واجهة مفتوحة المصدر قائمة على LoRa تُسمى [RNode](https://markqvist.github.io/Reticulum/manual/hardware.html#rnode) خصيصًا للاستخدام مع Reticulum. يمكنك بناؤها بنفسك، أو شراؤها كجهاز إرسال واستقبال كامل يحتاج فقط إلى اتصال USB أو WiFi أو Bluetooth بالمضيف. يمكن أيضًا تغليف Reticulum فوق شبكات IP الموجودة، فلا شيء يمنعك من استخدامه عبر Ethernet السلكي، أو شبكة WiFi المحلية، أو الإنترنت، حيث سيعمل بنفس الجودة. في الواقع، إحدى نقاط قوة Reticulum هي سهولة تمكينه لك من ربط وسائط مختلفة في شبكة متداخلة مُهيّأة ذاتيًا ومرنة ومشفّرة، باستخدام أي مزيج متاح من البنية التحتية المتوفرة. على سبيل المثال، من الممكن إعداد Raspberry Pi متصل في الوقت نفسه براديو LoRa، ووحدة packet radio TNC، وشبكة WiFi. بمجرد تهيئة الواجهات، سيتولّى Reticulum الباقي، ويمكن لأي جهاز على شبكة WiFi التواصل مع العقد على جانبي LoRa وpacket radio من الشبكة، والعكس صحيح. ## كيف أبدأ؟ تعتمد أفضل طريقة للبدء مع Reticulum Network Stack على ما تريد فعله. للحصول على التفاصيل الكاملة والأمثلة، ألقِ نظرة على قسم [البدء السريع](https://markqvist.github.io/Reticulum/manual/gettingstartedfast.html) من [دليل Reticulum](https://markqvist.github.io/Reticulum/manual/). لتثبيت Reticulum والأدوات المرتبطة به ببساطة على نظامك، أسهل طريقة هي عبر `pip`. يمكنك بعد ذلك تشغيل أي برنامج يستخدم Reticulum، أو تشغيل Reticulum كخدمة نظام باستخدام [أداة rnsd](https://markqvist.github.io/Reticulum/manual/using.html#the-rnsd-utility).```bash pip install rns ``` إذا كنت تستخدم نظام تشغيل يمنع تثبيت حزم المستخدم العادي عبر `pip`، يمكنك إعادة `pip` إلى سلوكه الطبيعي عن طريق تحرير ملف `~/.config/pip/pip.conf`، وإضافة التوجيه التالي في قسم `[global]`:```text [global] break-system-packages = true ``` بدلاً من ذلك، يمكنك استخدام أداة `pipx` لتثبيت Reticulum في بيئة معزولة:```bash pipx install rns ``` عند بدء التشغيل لأول مرة، سيقوم Reticulum بإنشاء ملف تكوين افتراضي، يوفر اتصالاً أساسيًا بأقران Reticulum الأخرى التي قد تكون قابلة للوصول محليًا. يحتوي ملف التكوين الافتراضي على بعض الأمثلة، ومراجع لإنشاء تكوين أكثر تعقيدًا. إذا كان لديك إصدار قديم من `pip` على نظامك، فقد تحتاج إلى ترقيته أولاً باستخدام `pip install pip --upgrade`. إذا لم يكن `pip` مثبتًا لديك بالفعل، يمكنك تثبيته باستخدام مدير الحزم في نظامك عبر `sudo apt install python3-pip` أو ما شابه ذلك. للحصول على أمثلة أكثر تفصيلاً حول كيفية توسيع الاتصالات عبر العديد من الوسائط مثل packet radio أو LoRa، أو المنافذ التسلسلية، أو عبر روابط IP السريعة والإنترنت باستخدام واجهات UDP و TCP، ألقِ نظرة على قسم [Supported Interfaces](https://markqvist.github.io/Reticulum/manual/interfaces.html) في [Reticulum Manual](https://markqvist.github.io/Reticulum/manual/). ## الأدوات المضمنة يتضمن Reticulum مجموعة من الأدوات المفيدة لإدارة شبكاتك، وعرض الحالة والمعلومات، ومهام أخرى. يمكنك قراءة المزيد عن هذه البرامج في قسم [Included Utility Programs](https://markqvist.github.io/Reticulum/manual/using.html#included-utility-programs) في [Reticulum Manual](https://markqvist.github.io/Reticulum/manual/). - برنامج الخدمة النظامي `rnsd` لتشغيل Reticulum كخدمة متاحة دائمًا - أداة حالة الواجهات المسماة `rnstatus`، التي تعرض معلومات حول الواجهات - أداة البحث عن المسارات وإدارتها `rnpath` التي تتيح لك عرض جداول المسارات وتعديلها - أداة تشخيصية تسمى `rnprobe` للتحقق من الاتصال بالوجهات - برنامج نقل ملفات بسيط يسمى `rncp` يجعل نقل الملفات بين الأنظمة أمرًا سهلاً - أداة إدارة الهويات والتشفير `rnid` التي تتيح لك إدارة الهويات وتشفير/فك تشفير الملفات - يتيح لك برنامج `rnsh` إنشاء جلسة shell تفاعلية بالكامل مع الأنظمة البعيدة - برنامج تنفيذ الأوامر عن بُعد `rnx` الذي يتيح لك تشغيل أوامر وبرامج بسيطة واسترداد المخرجات من الأنظمة البعيدة - يوفر برنامج `rngit` عقدة Git كاملة متعددة المستودعات لخدمة المستودعات عبر Reticulum - تتيح لك الأداة المساعدة المضمنة `git-remote-rns` التفاعل مع مستودعات Git عبر Reticulum تعمل جميع الأدوات، بما في ذلك `rnx` و `rncp`، بشكل موثوق وجيد حتى عبر روابط ذات نطاق ترددي منخفض جدًا مثل LoRa أو Packet Radio. للحصول على remote shells كاملة الميزات عبر Reticulum، ألقِ نظرة أيضًا على برنامج [rnsh](https://github.com/acehoss/rnsh). ## أنواع الواجهات والأجهزة المدعومة يطبق Reticulum مجموعة من أنواع الواجهات المعممة التي تغطي معظم أجهزة الاتصالات التي يمكن تشغيل Reticulum عبرها. إذا لم تكن أجهزتك مدعومة، فإن [تنفيذ وحدة واجهة مخصصة أمر بسيط](https://markqvist.github.io/Reticulum/manual/interfaces.html#custom-interfaces). يتم قبول المساهمات بواجهات مخصصة بامتنان، بشرط أن تكون مفيدة بشكل عام ومختبرة جيدًا في الاستخدام الواقعي. حاليًا، يتم دعم الواجهات المضمنة التالية: - أي جهاز Ethernet - LoRa باستخدام [RNode](https://unsigned.io/rnode/) - Packet Radio TNCs (مع أو بدون AX.25) - أجهزة وبرمجيات المودم المتوافقة مع KISS - أي جهاز به منفذ تسلسلي - TCP عبر شبكات IP - UDP عبر شبكات IP - البرامج الخارجية عبر stdio أو الأنابيب - الأجهزة المخصصة عبر stdio أو الأنابيب ## الأداء *تفترض جميع أرقام الأداء هنا تشغيل `rnsd` في وضع Python المفسر بالكامل، ومحدودًا بنواة CPU واحدة.* يستهدف Reticulum نطاق أداء قابلًا للاستخدام *واسعًا جدًا*، لكنه يعطي الأولوية للوظائف والأداء على الوسائط ذات النطاق الترددي المنخفض. الهدف هو توفير نطاق أداء ديناميكي من 100 بت في الثانية، إلى 10 جيجابت في الثانية على الأجهزة العادية. حاليًا، يبلغ نطاق الأداء القابل للاستخدام على الشبكة حوالي 150 بت في الثانية إلى 1 جيجابت في الثانية على أجهزة متواضعة. سيختلف الأداء الواقعي بشكل كبير حسب سرعة نظامك، وتوفر تسريع الأجهزة التشفيري، وعوامل أخرى. يبلغ معدل نقل التوجيه الخام لعقدة نقل مستضافة على Raspberry Pi 5 حوالي 5 جيجابت في الثانية. يمكن للأنظمة المزودة بتسريع أجهزة تشفير حديث تحقيق معدل نقل يبلغ 15 جيجابت في الثانية وأعلى. بينما التنفيذ المرجعي قادر تمامًا على الوصول إلى 100+ Gbps، من خلال استخدام نوى CPU متعددة والنقل المتجهي، فإن الأداء الذي يتجاوز المستوى الحالي ليس ذا أولوية عالية، لأن RNS قادر بالفعل على إشباع عرض النطاق الترددي للوسيط الفيزيائي المتاح في جميع المواقف الواقعية تقريبًا. الأهداف الأساسية لـ RNS هي *الموثوقية*، و*الصحة*، و*الأمان*، و*الإدارة السليمة لحركة المرور* و*الأداء العملي فعليًا*، وليس "معايير" جوفاء على الورق لا صلة لها تقريبًا بقابلية الاستخدام الواقعية. يُشجَّع جميع القائمين على التنفيذات البديلة *بشدة* على تبني نهج مماثل، وعلى وجه الخصوص التركيز على جعل تنفيذاتهم تعمل بشكل صحيح وموثوق قبل نشر ادعاءات أداء مشكوك فيها تجريبيًا أو خاطئة واقعيًا. ## الحالة الحالية جميع ميزات البروتوكول الأساسية منفذة وتعمل، لكن الإضافات ستحصل على الأرجح مع استكشاف الاستخدام الواقعي وفهمه. يمكن اعتبار API وتنسيق الإرسال مستقرين. ## التبعيات يتطلب تثبيت حزمة `rns` الافتراضية تبعيتين خارجيتين فقط، المدرجتين أدناه. لدى جميع الأنظمة والتوزيعات تقريبًا حزم متاحة بسهولة لهذه التبعيات، وعند تثبيت حزمة `rns` باستخدام `pip`، سيتم تنزيلها وتثبيتها أيضًا. - [PyCA/cryptography](https://github.com/pyca/cryptography) - [pyserial](https://github.com/pyserial/pyserial) على الأنظمة غير المعتادة، وفي بعض الحالات النادرة، قد لا يكون من الممكن تثبيت أو حتى ترجمة وحدة أو أكثر من الوحدات المذكورة أعلاه. في مثل هذه الحالات، يمكنك استخدام حزمة `rnspure` بدلاً من ذلك، والتي لا تتطلب أي تبعيات خارجية للتثبيت. يرجى ملاحظة أن محتويات حزمتي `rns` و `rnspure` *متطابقة*. الفرق الوحيد هو أن حزمة `rnspure` لا تسرد أي تبعيات مطلوبة للتثبيت. بغض النظر عن كيفية تثبيت Reticulum وبدء تشغيله، فإنه سيحمّل التبعيات الخارجية فقط إذا كانت *مطلوبة* و*متاحة*. إذا كنت مثلاً تريد استخدام Reticulum على نظام لا يدعم [pyserial](https://github.com/pyserial/pyserial)، فمن الممكن تمامًا القيام بذلك باستخدام حزمة `rnspure`، لكن Reticulum لن يكون قادرًا على استخدام الواجهات التسلسلية. سيتم تحميل جميع الوحدات الأخرى المتاحة عند الحاجة. **يرجى الملاحظة!** إذا كنت تستخدم حزمة `rnspure` لتشغيل Reticulum على أنظمة لا تدعم [PyCA/cryptography](https://github.com/pyca/cryptography)، فمن المهم أن تقرأ وتفهم قسم [Cryptographic Primitives](#cryptographic-primitives) في هذا المستند. ## تمهيد الاتصال Reticulum ليس خدمة تشترك فيها، ولا شبكة عالمية واحدة "تنضم" إليها. يوفر Reticulum وظائف لاكتشاف الواجهات العامة المتاحة عبر الشبكة نفسها، وقد وفر المجتمع الأوسع أدلة متنوعة لنقاط دخول متاحة للعموم لتمهيد الاتصال. لمعرفة كيفية إنشاء اتصال أولي عبر Reticulum، اقرأ قسم [Bootstrapping Connectivity](https://reticulum.network/manual/gettingstartedfast.html#bootstrapping-connectivity) في الدليل. ``` --- [Read more](https://github.com/markqvist/reticulum)