
تطبيق اتصالات شبكة شبكية بسيطة مدعوم من مكدس شبكة الشبكة.

يمكنك تنزيل أحدث إصدار لنظام التشغيل Windows و Mac و Linux من صفحة الإصدارات.
بدلاً من ذلك ، يمكنك تنزيل المصدر وتشغيله يدويًا من سطر الأوامر.
انظر "كيفية استخدامه؟" القسم أدناه حول كيفية القيام بذلك.
بمجرد تنزيل Meshchat وتثبيتها وإطلاقها ، هناك بعض الأشياء التي تحتاج إلى القيام بها من أجل البدء في التواصل مع أشخاص آخرين على الشبكة.
إنشاء هوية
على شبكة الشبكة ، يمكن لأي شخص الحصول على أي عدد من الهويات. يمكنك اختيار استخدام اسمك الحقيقي ، أو قد تقرر أن تكون مجهول الهوية تمامًا. الاختيار لك.
هوية الشبكة هي لوحة مفاتيح عامة/خاصة. يمكنك التحكم في المفتاح الخاص المستخدم لإنشاء عناوين الوجهة ، وتشفير المحتوى وإثبات استلام البيانات مع إقرارات التسليم غير القابلة للتسليم.
تتم مشاركة المفتاح العام الخاص بك مع الشبكة عند إرسال إعلان ، ويسمح للآخرين على الشبكة باكتشاف طريق إلى وجهة يمكنك التحكم فيها.
في هذا الوقت ، يولد Reticulum Meshchat هوية جديدة في المرة الأولى التي تقوم فيها بتشغيلها. سيسمح لك التحديث المستقبلي بإنشاء وإدارة هويات متعددة.
في الوقت الحالي ، إذا كنت ترغب في تغيير هويتك أو إعادة ضبطها ، فيمكنك الوصول إلى ملف الهوية على ~/.reticulum-meshchat/identity .
تكوين اسم العرض الخاص بك
الشيء التالي الذي يجب عليك فعله هو تعيين اسم عرض. اسم العرض الخاص بك هو ما سيراه أي شخص آخر على الشبكة عند البحث عن شخص ما للتواصل معه من قائمة الأقران.
يمكنك القيام بذلك في قسم My Identity في الزاوية اليسرى السفلية. أدخل اسم عرض جديد ، ثم اضغط على Save .
أرسل إعلانًا
عند استخدام شبكة الشبكة ، لكي تكون قابلاً للاتصال ، تحتاج إلى إرسال Announce . يمكنك إرسال إعلان في كثير من الأحيان ، أو بشكل غير متكرر كما تريد.
يتيح إرسال إعلان من أقرانهم الآخرين على الشبكة اكتشاف القفص التالي عبر الشبكة التي يجب أن تأخذها حزمهم للوصول إلى وجهة تحكم هويتك.
إذا لم ترسل أبدًا إعلانًا ، فستكون غير مرئي ولن يتمكن أحد من إرسال أي شيء إليك.
عندما تنتقل عبر الشبكة ، وتغيير نقاط الدخول ، مثل الانتقال من شبكة WiFi المنزلية ، إلى توصيل منفذ Ethernet في مكتبة محلية أو حتى تسلق الجبل واستخدام RNODE عبر راديو Lora ، فإن أقرانهم الآخرون على الشبكة سيعرفون فقط المسار السابق إلى ضياعك.
للسماح لهم باكتشاف المسار الجديد الذي يجب أن تتخذه حزمهم للوصول إليك ، يجب عليك إرسال إعلان.
اكتشف الأقران وابدأ في إرسال الرسائل
في شبكة الشبكة ، يمكنك التحكم في عدد غير محدود من عناوين الوجهة. واحد من هذه يمكن أن يكون عنوان تسليم LXMF.
تتيح لك هوية الشبكة الخاصة بك الحصول على عنوان LXMF. فكر في عنوان LXMF كعنوان بريد إلكتروني خاص بك ، آمن ، مشفرة من طرف إلى طرف ، لا يمكن التخلص منه ، عبر شبكة شبكية.
عندما يعلن شخص آخر على الشبكة نفسه (بشكل أكثر تحديداً ، عنوان LXMF الخاص به) ، فإنه سيظهر في علامة التبويب أقرانه.
يمكنك النقر على أي من هؤلاء أقرانهم المكتشفين لفتح واجهة المراسلة. من هنا ، يمكنك إرسال الرسائل النصية والملفات والصور المضمنة. إذا استجابوا ، فستظهر رسائلهم هناك أيضًا.
بالإضافة إلى القدرة على الإعلان عن عنوان LXMF الخاص بك واكتشاف الآخرين ، يمكن لـ Reticulum Meshchat أيضًا اكتشاف عقد شبكة البدو التي يستضيفها المستخدمون الآخرون. من علامة تبويب العقد ، أنت حر في استكشاف الصفحات وتنزيل الملفات التي قد تشاركها علنًا على الشبكة.
من المقرر أن يتيح لك التحديث المستقبلي استضافة العقدة الخاصة بك ومشاركة الصفحات والملفات مع أقرانهم الآخرين على الشبكة. في الوقت الحالي ، يمكنك استخدام عميل شبكة Nomad الرسمية للقيام بذلك.
تذكر ، من أجل التواصل مع أقرانهم أو العقد الآخرين ، يجب أن يعلنوا على الشبكة. لذلك لا تنس أن تعلن إذا كنت تريد أن يتم اكتشافها!
تكوين واجهات شبكة إضافية
TODO: لم يتم كتابة هذا القسم بعد. في الوقت الحالي ، يمكنك التحقق من الوثائق الرسمية لتكوين واجهات في ملف تكوين الشبكة. يقع هذا الملف في
~/.reticulum/config
يوصى بتنزيل تطبيق مستقل.
إذا كنت لا ترغب في ذلك ، أو أن الإصدار غير متاح لجهازك ، فستحتاج إلى ذلك ؛
meshchat.py . # clone repo
git clone https://github.com/liamcottle/reticulum-meshchat
cd reticulum-meshchat
# install nodejs deps
# if you want to build electron binaries, remove "--omit=dev"
# if you're using termux, add "--ignore-scripts" to fix error with esbuild
npm install --omit=dev
# build frontend vue components
npm run build-frontend
# install python deps
pip install -r requirements.txt
# run meshchat
python meshchat.py
ملاحظة: يجب أن تكون قادرًا الآن على الوصول إلى واجهة الويب على http: // localhost: 8000
للحصول على قائمة كاملة بخيارات سطر الأوامر ، يمكنك التشغيل ؛
python meshchat.py --help
usage: meshchat.py [-h] [--host [HOST]] [--port [PORT]] [--headless] [--identity-file IDENTITY_FILE] [--identity-base64 IDENTITY_BASE64] [--generate-identity-file GENERATE_IDENTITY_FILE] [--generate-identity-base64]
[--reticulum-config-dir RETICULUM_CONFIG_DIR] [--storage-dir STORAGE_DIR]
ReticulumMeshChat
options:
-h, --help show this help message and exit
--host [HOST] The address the web server should listen on.
--port [PORT] The port the web server should listen on.
--headless Web browser will not automatically launch when this flag is passed.
--identity-file IDENTITY_FILE
Path to a Reticulum Identity file to use as your LXMF address.
--identity-base64 IDENTITY_BASE64
A base64 encoded Reticulum Identity to use as your LXMF address.
--generate-identity-file GENERATE_IDENTITY_FILE
Generates and saves a new Reticulum Identity to the provided file path and then exits.
--generate-identity-base64
Outputs a randomly generated Reticulum Identity as base64 and then exits.
--reticulum-config-dir RETICULUM_CONFIG_DIR
Path to a Reticulum config directory for the RNS stack to use (e.g: ~/.reticulum)
--storage-dir STORAGE_DIR
Path to a directory for storing databases and config files (default: ./storage)
من الممكن تشغيله على Android من المصدر ، باستخدام Termux. ستحتاج إلى تثبيت بعض التبعيات الإضافية وإجراء تغيير على requirements.txt .
pkg upgrade
pkg install git
pkg install nodejs-lts
pkg install python-pip
pkg install rust
pkg install binutils
pkg install build-essential
يجب أن تكون قادرًا الآن على اتباع تعليمات كيفية استخدامه أعلاه.
قبل تشغيل pip install -r requirements.txt ، ستحتاج إلى التعليق على تبعية cx_freeze . لقد فشل في البناء على جهاز Android Tablet الخاص بي ، وهو ليس مطلوبًا فعليًا للتشغيل من المصدر.
nano requirements.txt
تأكد من تحديث خط cx_freeze إلى #cx_freeze
ملاحظة: قد يستغرق بناء عجلة التشفير بعض الوقت على Android.
بمجرد أن يتم تشغيل Meshchat عبر Termux ، افتح متصفح الويب المفضل لدى Android ، وانتقل إلى http: // localhost: 8000
ملاحظة: قد لا تعمل
AutoInterfaceالافتراضية على جهاز Android الخاص بك. ستحتاج إلى تكوين واجهة أخرى مثلTCPClientInterface.
في المرة الأولى التي تقوم فيها بتشغيل هذا التطبيق ، يتم إنشاء هوية شبكية جديدة وحفظها storage/identity .
إذا كنت ترغب في استخدام هوية موجودة ؛
storage/identity مع ملف هوية آخر. لاستخدام ملف هوية مخصص ، وفر وسيطة --identity-file تليها المسار إلى ملف الهوية المخصصة.
python meshchat.py --identity-file ./custom_identity_file
إذا كنت ترغب في إنشاء هوية جديدة ، فيمكنك استخدام الأداة المساعدة RNID التي توفرها الشبكة.
rnid --generate ./new_identity_file
إذا لم يكن لديك إمكانية الوصول إلى الأمر rnid ، فيمكنك استخدام ما يلي:
python meshchat.py --generate-identity-file ./new_identity_file
بدلاً من ذلك ، يمكنك توفير مفتاح خاص مشفر BASE64 ، مثل ذلك ؛
python meshchat.py --identity-base64 "GCN6mMhVemdNIK/fw97C1zvU17qjQPFTXRBotVckeGmoOwQIF8VOjXwNNem3CUOJZCQQpJuc/4U94VSsC39Phw=="
ملاحظة: هذه هوية تم إنشاؤها عشوائيًا على سبيل المثال أغراض. لا تستخدمه ، لقد تم تسريبه!
تم تصميم صورة Docker تلقائيًا عن طريق إجراءات GitHub ، ويمكن تنزيلها من سجل حاوية GitHub.
docker pull ghcr.io/liamcottle/reticulum-meshchat:master
بالإضافة إلى ذلك ، يتوفر مثال Docker-corm.yml.
يقوم المثال تلقائيًا بإنشاء ملف تكوين شبكية جديد في وحدة تخزين meshchat-config . يتم تخزين قاعدة بيانات Meshchat أيضًا في هذا المجلد.
يمكن تشغيل meshchat reticulum من المصدر عبر سطر الأوامر ، كما هو موضح أعلاه ، أو كتطبيق مستقل.
لتشغيله كتطبيق مستقل ، نحتاج إلى تجميع نص Python والتبعيات إلى قابلة للتنفيذ مع Cxfreeze ثم إنشاء تطبيق إلكترون يتضمن متصفحًا مجملًا يمكنه التفاعل مع Python القابل للتنفيذ.
يتيح ذلك تشغيل التطبيق بالكامل بالنقر المزدوج على ملف واحد دون الحاجة إلى تثبيت Python يدويًا ، أو تشغيل أي أوامر في تطبيق سطر الأوامر.
لبناء A .exe عند التشغيل على Windows أو .dmg عند التشغيل على جهاز Mac ، قم بتشغيل ما يلي ؛
pip install -r requirements.txt
npm install
npm run dist
ملاحظة: يدعم Cxfreeze فقط بناء قابلة للتنفيذ للمنصة الحالية. ستحتاج إلى جهاز Mac لإنشاء Mac ، وجهاز كمبيوتر يعمل بنظام Windows لنظام التشغيل Windows.
بمجرد الانتهاء ، يجب أن يكون لديك .exe أو .dmg في مجلد dist .
عادةً ما أقوم بتشغيل الأوامر التالية للعمل في المشروع محليًا.
تثبيت التبعيات
pip install -r requirements.txt
npm install
بناء وتشغيل تطبيق الإلكترون
npm run electron
أو؛ بناء وتشغيل خادم meshchat
npm run build-frontend
python3 meshchat.py --headless
أقوم بإنشاء تطبيق Vite في كل مرة بدون إعادة التحميل الساخن ، لأن Meshchat يتوقع كل شيء عبر منفذه الخاص ، وليس منفذ خادم Vite. سأحاول إصلاح هذا في المستقبل.
جهاز التوجيه LXMF
معهد ماساتشوستس للتكنولوجيا