العودة إلى التحديثات
New releaseJul 25, 2026

Reticulum v1.3.9

مكدس الشبكات القائم على التشفير لبناء شبكات لا يمكن إيقافها باستخدام LoRa وراديو الحزمة (Packet Radio) وWiFi وكل ما بين ذلك.

مشاركة

مكدس شبكات Reticulum

هذا المستودع هو نسخة مرآة عامة. كل التطوير يجري في مكان آخر.

لفهم الفلسفة الأساسية وأهداف هذا النظام، اقرأ Zen of Reticulum.

Reticulum هو مكدس شبكات قائم على التشفير لبناء شبكات محلية وواسعة النطاق باستخدام أجهزة متاحة بسهولة. يمكن أن يعمل حتى مع زمن انتقال مرتفع جداً وعرض نطاق ترددي منخفض للغاية. يتيح لك Reticulum بناء شبكات واسعة النطاق بأدوات جاهزة، ويوفر تشفيراً من طرف إلى طرف واتصالاً، وإخفاء هوية البادئ، ونقلاً متعدد القفزات مدعوماً بالتشفير ذاتي التكوين، وعنونة فعالة، وإيصالات استلام غير قابلة للتزوير، وغير ذلك.

رؤية Reticulum هي السماح لأي شخص بأن يكون مشغل شبكته الخاصة، وجعل تغطية مساحات شاسعة بشبكات مستقلة ومترابطة ومستقلة أمراً رخيصاً وسهلاً. Reticulum ليس شبكة واحدة. إنه أداة لبناء آلاف الشبكات. شبكات بدون مفاتيح إيقاف أو مراقبة أو رقابة أو تحكم. شبكات يمكنها التفاعل بحرية، والارتباط والانفصال عن بعضها البعض، ولا تتطلب إشرافاً مركزياً. شبكات للبشر. شبكات من أجل الناس.

Reticulum هو مكدس شبكات كامل، ولا يعتمد على IP أو طبقات أعلى، لكن من الممكن استخدام IP كحامل أساسي لـ Reticulum. لذلك من السهل توجيه Reticulum عبر الإنترنت أو شبكات IP الخاصة.

عدم وجود تبعيات على مكدسات الشبكات التقليدية يحرر الموارد التي استُخدمت لتنفيذ مكدس شبكات مبني مباشرة على مبادئ التشفير، مما يسمح بالمرونة والوظائف المستقرة، حتى في الشبكات المفتوحة وغير الموثوقة.

لا حاجة لوحدات kernel أو برامج تشغيل. يعمل Reticulum بالكامل في مساحة المستخدم، ويمكن تشغيله على أي نظام تقريباً يدعم Python 3.

اقرأ الدليل

التوثيق الكامل لـ Reticulum متاح على markqvist.github.io/Reticulum/manual/.

يمكنك أيضاً تنزيل دليل Reticulum بصيغة PDF أو كتاب إلكتروني بصيغة EPUB.

لمزيد من المعلومات، راجع reticulum.network وقسم الأسئلة الشائعة في الويكي.

الميزات البارزة

  • عنونة وتحديد هوية عالمية فريدة بدون تنسيق
  • توجيه متعدد القفزات ذاتي التكوين بالكامل عبر ناقلات غير متجانسة
  • قابلية توسع مرنة عبر طبولوجيا غير متجانسة
    • يمكن لـ Reticulum نقل البيانات عبر أي مزيج من الوسائط المادية والطبولوجيا
    • يمكن للشبكات منخفضة النطاق الترددي أن تتعايش وتتفاعل مع الشبكات الكبيرة وعالية النطاق الترددي
  • إخفاء هوية البادئ، تواصل دون الكشف عن هويتك
    • لا يضمّن Reticulum عناوين مصدر في أي حزمة
  • تشفير X25519 غير المتماثل وتوقيعات Ed25519 كأساس لجميع الاتصالات
    • مفاتيح هوية Reticulum الأساسية هي مجموعات مفاتيح منحنى إهليلجي 512 بت
  • السرية الأمامية (Forward Secrecy) متاحة لجميع أنواع الاتصالات، سواء للحزم الفردية أو عبر الروابط
  • يستخدم Reticulum التنسيق التالي للرموز المشفرة:
    • مفاتيح عابرة لكل حزمة ورابط مشتقة من تبادل مفاتيح ECDH على Curve25519
    • AES-256 في وضع CBC مع حشو PKCS7
    • HMAC باستخدام SHA256 للمصادقة
    • يتم إنشاء IVs عبر os.urandom()
  • إيصالات استلام حزم غير قابلة للتزوير
  • نظام واجهات مرن وقابل للتوسع
    • يتضمن Reticulum مجموعة متنوعة من أنواع الواجهات المدمجة
    • القدرة على تحميل واستخدام أنواع واجهات مخصصة يقدمها المستخدم أو المجتمع
    • إنشاء واجهاتك المخصصة بسهولة للاتصال عبر أي شيء
  • المصادقة والتقسيم الافتراضي للشبكة على جميع أنواع الواجهات المدعومة
  • واجهة برمجة تطبيقات (API) بديهية وسهلة الاستخدام
    • أبسط وأسهل في الاستخدام من واجهات برمجة تطبيقات المقابس، لكنها أكثر قوة
    • تجعل بناء التطبيقات الموزعة واللامركزية أبسط بكثير
  • نقل موثوق وفعال لأي كمية من البيانات
    • يمكن لـ Reticulum التعامل مع بضع بايتات من البيانات أو ملفات بحجم عدة غيغابايتات
    • التسلسل والضغط وتنسيق النقل والتحقق من المجموع الاختباري تتم تلقائياً
    • واجهة برمجة التطبيقات سهلة الاستخدام للغاية، وتوفر تقدم النقل
  • آلية طلب/استجابة خفيفة ومرنة وقابلة للتوسع
  • إنشاء روابط فعال
    • التكلفة الإجمالية لإنشاء رابط مشفر ومتحقق منه هي 3 حزم فقط، بإجمالي 297 بايت
    • تكلفة منخفضة لإبقاء الروابط مفتوحة عند 0.44 بت فقط في الثانية
  • تسليم متسلسل موثوق به مع آليات القناة والمخزن المؤقت

التنفيذ المرجعي

كود Python في هذا المستودع هو التنفيذ المرجعي لـ Reticulum. يتم تعريف بروتوكول Reticulum بشكل كامل وحاسم بواسطة هذا التنفيذ المرجعي ودليله المرتبط. يتم صيانته بواسطة Mark Qvist، المُعرّف بهوية Reticulum <bc7291552be7a58f361522990465165c>.

لا توجد حالياً، ولن توجد أبداً، مشتقات مواصفات بروتوكول من الدرجة الثانية. لا يمكنك الحصول على مواصفات أفضل من تلك القابلة للتنفيذ والوظيفية والقابلة للاختبار والمنشورة والتشغيل على مدار الساعة عبر الكوكب.

لا يوجد، ولن يكون هناك أبداً، "مواصفات رسمية" منفصلة أو "RFC" أو أي شيء مشابه لـ Reticulum:

التنفيذ المرجعي هو المواصفات النهائية والموثوقة.

يتم تعريف التوافق مع بروتوكول Reticulum على أنه امتلاك قابلية تشغيل متبادل كاملة، وتكافؤ وظيفي كافٍ مع هذا التنفيذ المرجعي. أي تطبيق بروتوكول محدد يحقق ذلك هو Reticulum. أي لا يحققه ليس Reticulum.

التنفيذ المرجعي مرخص بموجب ترخيص Reticulum.

تم تخصيص بروتوكول Reticulum للملكية العامة في عام 2016.

أمثلة على تطبيقات Reticulum

إذا كنت ترغب في الحصول على فكرة سريعة عما يمكن أن يفعله Reticulum، ألق نظرة على قسم البرامج التي تستخدم Reticulum في الدليل، أو الموارد التالية:

  • LXMF هو بروتوكول نقل رسائل موزع ومقاوم للتأخير والانقطاع مبني على Reticulum
  • يوفر بروتوكول وإطار LXST نقل الصوت والإشارات في الوقت الفعلي عبر Reticulum. يتضمن أساسيات وأدوات لبناء تطبيقات وأجهزة تعتمد على الصوت، مثل برنامج rnphone، الذي يمكن استخدامه لبناء هواتف أجهزة.
  • للحصول على منصة اتصالات شبكية مشفرة ومرنة خارج الشبكة، انظر Nomad Network
  • تطبيق Sideband لنظامي Android وLinux وmacOS وWindows يتميز بواجهة رسومية والعديد من الميزات المتقدمة، مثل نقل الملفات والصور والرسائل الصوتية والمكالمات الصوتية في الوقت الفعلي ونظام القياس عن بعد الموزع وإمكانيات الخرائط وقابلية التوسع الكاملة للإضافات.
  • MeshChatX هو عميل LXMF كامل الميزات مع العديد من الأدوات والوظائف المدمجة، ويدعم أيضاً الصور والرسائل الصوتية ونقل الملفات والمكالمات الصوتية. يتضمن أيضاً متصفح صفحات مدمج لتصفح عقد Nomad Network.
  • يمكنك استخدام برنامج rnsh المضمن لإنشاء جلسات شل عن بُعد عبر Reticulum.

أين يمكن استخدام Reticulum؟

عبر أي وسيلة تقريباً يمكنها دعم قناة نصف مزدوجة على الأقل بمعدل نقل أكبر من 5 بتات في الثانية، و MTU يبلغ 500 بايت. أجهزة الراديو البيانات، المودمات، أجهزة راديو LoRa، الخطوط التسلسلية، أجهزة TNC AX.25، الأنماط الرقمية للراديو الهاوي، أجهزة WiFi و Ethernet، الوصلات الضوئية في الفضاء الحر، والأنظمة المشابهة هي جميعها أمثلة على أنواع الأجهزة المادية التي يمكن لـ Reticulum استخدامها.

تم تصميم واجهة مفتوحة المصدر قائمة على LoRa تسمى RNode خصيصاً للاستخدام مع Reticulum. من الممكن بناؤها بنفسك، أو يمكن شراؤها كجهاز إرسال واستقبال كامل يحتاج فقط إلى اتصال USB بالمضيف.

يمكن أيضاً تغليف Reticulum عبر شبكات IP الحالية، لذلك لا شيء يمنعك من استخدامه عبر Ethernet السلكي، أو شبكة WiFi المحلية الخاصة بك أو الإنترنت، حيث سيعمل بنفس الجودة. في الواقع، إحدى نقاط القوة في Reticulum هي مدى سهولة السماح لك بربط وسائط مختلفة في شبكة متشابكة ذاتية التكوين ومرنة ومشفرة، باستخدام أي مزيج متاح من البنية التحتية المتاحة.

كمثال، من الممكن إعداد Raspberry Pi متصل بكل من راديو LoRa وجهاز TNC راديو حزمة وشبكة WiFi. بمجرد تكوين الواجهات، سيتولى Reticulum الباقي، وأي جهاز على شبكة WiFi يمكنه التواصل مع العقد على جانبي راديو LoRa وراديو الحزمة من الشبكة، والعكس صحيح.

كيف أبدأ؟

أفضل طريقة للبدء مع مكدس شبكات Reticulum تعتمد على ما تريد فعله. للحصول على التفاصيل الكاملة والأمثلة، ألق نظرة على قسم البدء السريع في دليل Reticulum.

لتثبيت Reticulum والأدوات المساعدة ذات الصلة على نظامك ببساطة، أسهل طريقة هي عبر pip. يمكنك بعد ذلك تشغيل أي برنامج يستخدم Reticulum، أو بدء Reticulum كخدمة نظام باستخدام أداة rnsd.```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` أو ما شابه ذلك.

للحصول على أمثلة أكثر تفصيلاً حول كيفية توسيع نطاق الاتصال عبر العديد من الوسائط مثل الراديو الحزمي أو LoRa، أو المنافذ التسلسلية، أو عبر روابط IP السريعة والإنترنت باستخدام واجهات UDP وTCP، ألق نظرة على قسم [الواجهات المدعومة](https://markqvist.github.io/Reticulum/manual/interfaces.html) من [دليل Reticulum](https://markqvist.github.io/Reticulum/manual/).

## الأدوات المضمنة
يتضمن Reticulum مجموعة من الأدوات المفيدة لإدارة شبكاتك، وعرض الحالة والمعلومات، والمهام الأخرى. يمكنك قراءة المزيد عن هذه البرامج في قسم [برامج الأدوات المضمنة](https://markqvist.github.io/Reticulum/manual/using.html#included-utility-programs) من [دليل Reticulum](https://markqvist.github.io/Reticulum/manual/).

- البرنامج الخفي للنظام `rnsd` لتشغيل Reticulum كخدمة متاحة دائماً
- أداة حالة الواجهة المسماة `rnstatus`، التي تعرض معلومات حول الواجهات
- أداة البحث عن المسار وإدارته `rnpath` التي تتيح لك عرض جداول المسار وتعديلها
- أداة تشخيص مسماة `rnprobe` للتحقق من الاتصال بالوجهات
- برنامج نقل ملفات بسيط مسماً `rncp` يسهل نقل الملفات بين الأنظمة
- أداة إدارة الهوية والتشفير `rnid` تتيح لك إدارة الهويات وتشفير/فك تشفير الملفات
- يتيح لك برنامج `rnsh` إنشاء جلسة شل تفاعلية كاملة مع الأنظمة البعيدة
- برنامج تنفيذ الأوامر عن بعد `rnx` يتيح لك تشغيل أوامر وبرامج بسيطة واسترداد المخرجات من الأنظمة البعيدة
- يوفر برنامج `rngit` عقدة Git كاملة متعددة المستودعات لخدمة المستودعات عبر Reticulum
- يسمح لك المساعد المضمن `git-remote-rns` بالتفاعل مع مستودعات Git عبر Reticulum

جميع الأدوات، بما في ذلك `rnx` و`rncp`، تعمل بشكل موثوق وجيد حتى عبر روابط النطاق الترددي المنخفض جداً مثل LoRa أو الراديو الحزمي. للحصول على شل بعيد كامل الميزات عبر Reticulum، ألق نظرة أيضاً على برنامج [rnsh](https://github.com/acehoss/rnsh).

## أنواع الواجهات والأجهزة المدعومة

ينفذ Reticulum مجموعة من أنواع الواجهات المعممة التي تغطي معظم أجهزة الاتصالات التي يمكن لـ Reticulum العمل عليها. إذا كان جهازك غير مدعوم، فمن [البسيط تنفيذ وحدة واجهة مخصصة](https://markqvist.github.io/Reticulum/manual/interfaces.html#custom-interfaces).

يتم قبول طلبات السحب للواجهات المخصصة بامتنان، شريطة أن تكون مفيدة بشكل عام ومختبرة جيداً في الاستخدام الواقعي.

حالياً، يتم دعم الواجهات المضمنة التالية:

- أي جهاز إيثرنت
- LoRa باستخدام [RNode](https://unsigned.io/rnode/)
- أجهزة TNC للراديو الحزمي (مع أو بدون AX.25)
- أجهزة المودم المتوافقة مع KISS (برمجية ومادية)
- أي جهاز مزود بمنفذ تسلسلي
- TCP عبر شبكات IP
- UDP عبر شبكات IP
- البرامج الخارجية عبر stdio أو الأنابيب
- الأجهزة المخصصة عبر stdio أو الأنابيب

## الأداء
يستهدف Reticulum نطاق أداء قابل للاستخدام *واسع جداً*، لكنه يعطي الأولوية للأداء على الوسائط منخفضة النطاق الترددي. الهدف هو توفير نطاق أداء ديناميكي من 250 بت في الثانية إلى 1 جيجابت في الثانية على الأجهزة العادية.

حالياً، نطاق الأداء القابل للاستخدام هو تقريباً من 150 بت في الثانية إلى 500 ميجابت في الثانية، مع عدم إشباع الوسائط المادية الأسرع من ذلك. الأداء الذي يتجاوز المستوى الحالي مخصص للترقيات المستقبلية، لكنه ليس ذا أولوية عالية في هذه المرحلة الزمنية.

## الحالة الحالية
جميع ميزات البروتوكول الأساسية منفذة وتعمل، لكن الإضافات ربما ستحدث مع استكشاف وفهم الاستخدام الواقعي. يمكن اعتبار 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) من هذا المستند.

## بدء الاتصال

Reticulum ليس خدمة تشترك فيها، ولا هو شبكة عالمية واحدة "تنضم" إليها. يوفر Reticulum وظائف لاكتشاف الواجهات العامة المتاحة عبر الشبكة نفسها، وقدم المجتمع الأوسع أدلة متنوعة لنقاط الدخول المتاحة للجمهور لبدء الاتصال.

لمعرفة كيفية إنشاء اتصال أولي عبر Reticulum، اقرأ قسم [بدء الاتصال](https://reticulum.network/manual/gettingstartedfast.html#bootstrapping-connectivity) من الدليل.

إذا كانت لديك فكرة عامة عن كيفية عمل ذلك، فيمكنك استخدام مواقع يديرها المجتمع مثل [directory.rns.recipes](https://directory.rns.recipes/) و [rmap.world](https://rmap.world) للعثور على تعريفات واجهة للاتصال الأولي بالعمود الفقري الموزع عالمياً لـ Reticulum.

## شبكة الاختبار العامة
***هام!** تاريخياً، تم توفير شبكة اختبار موجهة للمطورين من قبل مشروع Reticulum نفسه. نظراً لنمو عدد عقد Reticulum العالمية ونقاط الدخول إلى كمية كبيرة، تم إيقاف تشغيل شبكة الاختبار العامة هذه، بما في ذلك نقطة دخول أمستردام التجريبية. إذا كان لا يزال لديك مثيلات تعتمد على نقطة الدخول هذه للاتصال، فانتقل إلى استخدام العمود الفقري الموزع بدلاً من ذلك. يتضمن Reticulum الآن نظاماً كاملاً لاكتشاف الواجهة على الشبكة وبدء الاتصال. اقرأ قسم [بدء الاتصال](https://reticulum.network/manual/gettingstartedfast.html#bootstrapping-connectivity) من الدليل للحصول على إرشادات.*

## ادعم Reticulum
لجعل هذا ممكناً، أحتاج إلى مساعدتك. يرجى دعم التطوير المستمر لأنظمة الاتصالات المفتوحة والحرة والخاصة عن طريق التبرع عبر إحدى القنوات التالية:

- Monero:  ```
  84FpY1QbxHcgdseePYNmhTHcrgMX4nFfBYtz2GKYToqHVVhJp8Eaw1Z1EedRnKD19b3B8NiLCGVxzKV17UMmmeEsCrPyA5w
  • بيتكوين ``` bc1pgqgu8h8xvj4jtafslq396v7ju7hkgymyrzyqft4llfslz5vp99psqfk3a6

Ethereum ``` 0x91C421DdfB8a30a49A71d63447ddb54cEBe3465E

Liberapay: https://liberapay.com/Reticulum/

- Ko-Fi: https://ko-fi.com/markqvist

## الأوليات التشفيرية
يستخدم Reticulum مجموعة بسيطة من الأوليات التشفيرية الفعالة والقوية والمختبرة جيدًا، مع تطبيقات متاحة على نطاق واسع يمكن استخدامها على كل من وحدات المعالجة المركزية العامة والمتحكمات الدقيقة.

أحد الاعتبارات الأساسية لاختيار هذه المجموعة المعينة من الأوليات هو أنه يمكن تنفيذها *بأمان* مع عدد قليل نسبيًا من المزالق، على جميع منصات الحوسبة الحالية عمليًا.

الأوليات المدرجة هنا **معتمدة**. أي شيء يدعي أنه Reticulum، لكنه لا يستخدم هذه الأوليات الدقيقة **ليس** Reticulum، ومن المحتمل أن يكون نسخة مضعفة أو مخترقة عمدًا. الأوليات المستخدمة هي:

- مفاتيح هوية Reticulum هي مجموعات مفاتيح Curve25519 بطول 512 بت
- مفتاح Ed25519 بطول 256 بت للتوقيعات
- مفتاح X22519 بطول 256 بت لتبادل المفاتيح ECDH
- HKDF لاشتقاق المفاتيح
- الرموز المشفرة مبنية على [مواصفات Fernet](https://github.com/fernet/spec/)
- مفاتيح مؤقتة مشتقة من تبادل مفاتيح ECDH على Curve25519
- HMAC باستخدام SHA256 لمصادقة الرسائل
- يجب إنشاء IVs من خلال `os.urandom()` أو أفضل
- AES-256 في وضع CBC مع حشو PKCS7
- لا توجد حقول وصفية لنسخة Fernet وطابع زمني
- SHA-256
- SHA-512

في تكوين التثبيت الافتراضي، يتم توفير الأوليات `X25519` و `Ed25519` و `AES-256-CBC` بواسطة [OpenSSL](https://www.openssl.org/)
(عبر حزمة [PyCA/cryptography](https://github.com/pyca/cryptography)).
يتم توفير دوال التجزئة `SHA-256` و `SHA-512` بواسطة مكتبة Python القياسية [hashlib](https://docs.python.org/3/library/hashlib.html). يتم دائمًا توفير الأوليات `HKDF` و `HMAC` و `Token` و دالة الحشو `PKCS7` بواسطة التطبيقات الداخلية التالية:

- [HKDF.py](https://github.com/markqvist/reticulum/blob/HEAD/RNS/Cryptography/HKDF.py)
- [HMAC.py](https://github.com/markqvist/reticulum/blob/HEAD/RNS/Cryptography/HMAC.py)
- [Token.py](https://github.com/markqvist/reticulum/blob/HEAD/RNS/Cryptography/Token.py)
- [PKCS7.py](https://github.com/markqvist/reticulum/blob/HEAD/RNS/Cryptography/PKCS7.py)

يتضمن Reticulum أيضًا تطبيقًا كاملاً لجميع الأوليات الضرورية في Python النقية. إذا لم يكن OpenSSL و PyCA متاحين على النظام عند بدء تشغيل Reticulum، فسيستخدم Reticulum بدلاً من ذلك الأوليات الداخلية النقية في Python. إحدى النتائج الثانوية لذلك هي الأداء، حيث أن الواجهة الخلفية لـ OpenSSL أسرع *بكثير*. أما النتيجة الأكثر أهمية فهي فقدان الأمان المحتمل باستخدام أوليات لم تخضع لنفس القدر من التدقيق والاختبار والمراجعة مثل تلك من OpenSSL.

يرجى ملاحظة أنه افتراضيًا، سيتطلب تثبيت Reticulum **تثبيت** OpenSSL و PyCA تلقائيًا إذا لم يكونا متاحين بالفعل. من الممكن فقط استخدام الأوليات النقية في Python إذا تم تجاوز هذا المطلب على وجه التحديد من قبل المستخدم، على سبيل المثال عن طريق تثبيت حزمة `rnspure` بدلاً من حزمة `rns` العادية، أو عن طريق التشغيل مباشرة من الكود المصدري المحلي.

إذا كنت ترغب في استخدام الأوليات الداخلية النقية في Python، فمن **المستحسن بشدة** أن يكون لديك فهم جيد للمخاطر التي يشكلها ذلك، وأن تتخذ قرارًا مستنيرًا حول ما إذا كانت تلك المخاطر مقبولة بالنسبة لك.

Reticulum هو برنامج جديد نسبيًا، ويجب التعامل معه على هذا النحو. على الرغم من أنه تم بناؤه مع مراعاة أفضل ممارسات التشفير في المقدمة، إلا أنه _لم_ يخضع لتدقيق أمني خارجي، وقد يكون هناك بالتأكيد أخطاء تتعلق بالخصوصية أو الأمان. إذا كنت ترغب في المساعدة، أو المساعدة في رعاية تدقيق، فيرجى التواصل.

## الشكر والتقدير
لا يمكن أن يوجد Reticulum إلا بفضل الجبل الشاسع من العمل مفتوح المصدر الذي بني عليه، ومساهمات جميع المشاركين، وكل من دعم المشروع على مر السنين. لكل من ساعد، شكرًا جزيلاً لكم.

عدد من الوحدات والمشاريع الأخرى هي إما جزء من Reticulum أو تستخدمه. شكر صادق لمؤلفي ومساهمي المشاريع التالية:

- [PyCA/cryptography](https://github.com/pyca/cryptography)، *ترخيص BSD*
- [Pure-25519](https://github.com/warner/python-pure25519) من [Brian Warner](https://github.com/warner)، *ترخيص MIT*
- [Pysha2](https://github.com/thomdixon/pysha2) من [Thom Dixon](https://github.com/thomdixon)، *ترخيص MIT*
- [Python AES-128](https://github.com/orgurar/python-aes) من [Or Gur Arie](https://github.com/orgurar)، *ترخيص MIT*
- [Python AES-256](https://github.com/boppreh/aes) من [BoppreH](https://github.com/boppreh)، *ترخيص MIT*
- [Curve25519.py](https://gist.github.com/nickovs/cc3c22d15f239a2640c185035c06f8a3#file-curve25519-py) من [Nicko van Someren](https://gist.github.com/nickovs)، *الملكية العامة*
- [I2Plib](https://github.com/l-n-s/i2plib) من [Viktor Villainov](https://github.com/l-n-s)
- [PySerial](https://github.com/pyserial/pyserial) من Chris Liechti، *ترخيص BSD*
- [Configobj](https://github.com/DiffSK/configobj) من Michael Foord و Nicola Larosa و Rob Dennis و Eli Courtwright، *ترخيص BSD*
- [ifaddr](https://github.com/pydron/ifaddr) من Stefan C. Mueller، *ترخيص MIT*
- [Umsgpack.py](https://github.com/vsergeev/u-msgpack-python) من [Ivan A. Sergeev](https://github.com/vsergeev)
- [rnsh](https://github.com/acehoss/rnsh) من [Aaron Heise](https://github.com/acehoss)
- [Python](https://www.python.org)

الفئات