يقوم مشروع mnm ببناء بديل شرعي للبريد الإلكتروني: عميل (انظر أدناه)، وخادم، وبروتوكول بسيط بينهما.
تعرف على المزيد على mnnmnotmail.org.
قم بتنزيل تطبيق عميل mnm
09 مارس 2021 - تم إصدار العرض التجريبي عبر الإنترنت. وقد تم اختباره على Chrome وFirefox.
03 يناير 2021 - تم إصدار الإصدار 0.9. إنه يعمل على إصلاح الذعر وبعض العيوب، ولكنه مطابق للإصدار 0.8.
15 نوفمبر 2020 - تم إصدار الإصدار 0.8 لنظام التشغيل Windows 7+ وMacOS وLinux. تم اختبار واجهة المستخدم الخاصة به على Chrome وFirefox.
جديد: لوحة مرجعية Markdown، وعلامة "Todo" في المواضيع الجديدة، وقائمة الجداول المملوءة، وعشرات التحسينات والإصلاحات الأخرى.
20 أبريل 2020 - تم إصدار الإصدار 0.7 لنظام التشغيل Windows 7+ وMacOS وLinux. لقد تم اختباره مع Chrome وFirefox.
جديد: تخطيطات مجموعة الشرائح، والنسخ المتماثل على أجهزة كمبيوتر متعددة، وبدء التشغيل المبسط.
20 أكتوبر 2019 - تم إصدار الإصدار 0.6 لنظام التشغيل Windows 7+ وMacOS وLinux. لقد تم اختباره مع Chrome وFirefox.
جديد: البحث وعلامات الرسائل وعارض الملفات وألوان واجهة المستخدم والشعار والمزيد. إصلاح العديد من عيوب واجهة المستخدم.
29 مايو 2019 - تم إصدار الإصدار 0.5. إنه يعمل على إصلاح حالة الذعر على نظام التشغيل Windows، ولكنه مطابق للإصدار 0.4.
25 مايو 2019 - تم إصدار الإصدار 0.4. لقد تم اختباره على أنظمة التشغيل Windows 7 وMacOS وLinux، مع Firefox.
جديد: دعم ويندوز. يعمل على إصلاح فشل استرداد الأعطال وخطأ في معالجة TMTP.
13 مايو 2019 - تم إصدار الإصدار 0.3. لقد تم اختباره على Linux وMacOS، مع Firefox.
جديد: تلميحات الأدوات على أيقونات القائمة. يعمل على إصلاح الذعر وحفنة من عيوب واجهة المستخدم.
07 مايو 2019 - تم إصدار الإصدار 0.2. لقد تم اختباره على Linux وMacOS، مع Firefox.
جديد: جولة مع رسوم كاريكاتورية تغطي الميزات الأساسية.
19 أبريل 2019 - تم إصدار الإصدار 0.1. لقد تم اختباره على Linux وMacOS، مع Firefox.
إصدارات الإنتاج: 1+ . 0 . 0+
معاينة الإصدارات: ص . 1+ . pp (الأول والأخير من إصدار الإنتاج السابق)
الرقم الثاني يستخدم فقط للمعاينات. تظهر معظم ميزات المعاينة والتغييرات (نأمل أن تكون جميعها) في إصدار الإنتاج التالي.
يتطلب الذهاب 1.13.3+
أ) go get github.com/networkimprov/mnm-hammer
ب) cd $GOPATH/src/github.com/networkimprov/mnm-hammer
# يمكن نقل دليل المشروع من $GOPATH
ج) ./webdeps.sh
# تنزيل وحدات المتصفح
د) تحرير kVersionDate في main.go
e) ./pkg.sh
# قم بإجراء تنزيلات الإصدار لجميع الأنظمة الأساسية
يتطلب التصميم لنظام التشغيل Windows تصحيحات لمصدر Go (والتي لا تؤثر على البرامج الأخرى):
إصلاحات go-winfsd.patch رقم 32088
إصلاحات go-winstat.patch رقم 9611
قم بتطبيق التصحيحات باستخدام: cp go*.patch /.../go && (cd /.../go && git apply go*.patch)
يتم تعريف تسلسل الاختبار الآلي في test-in.json. يقوم بإنشاء حسابات زرقاء وذهبية، والتي تقوم بعد ذلك بتبادل الرسائل. إنه ينتج نتائج إيجابية كاذبة في بعض الأحيان بسبب المزامنة غير الدقيقة بين الحسابين. بعد اكتمال اجتياز الاختبار، يوفر التطبيق http على المنفذ 8123 (ما لم يتم إعطاء --http):
./mnm-hammer --test server:port
# server:port هي خدمة TMTP
للوصول إلى اجتياز الاختبار السابق:
(cd test-run/TPD/ && ../../mnm-hammer --http :8123)
# TPD هو اسم دليل
إذا لم يتم تكوين موقع TMTP على server:port
لمصادقة طرف ثالث اختيارية، فسينتج عن تسلسل الاختبار رسالة توقع/حصلت على رسالة من "local1 local" re "cs" (والتي يمكن تجاهلها). لا يمكن تشغيل تسلسل الاختبار على موقع TMTP الذي يتطلب مصادقة جهة خارجية.
اختبار التصادم
أ) ./mnm-hammer --test server:port --crash init
# إنشاء دليل اختبار
ب) ./mnm-hammer --test server:port --crash dir:service:order:op[:sender:order]
# تعطل هنا في تسلسل الاختبار
ج) ./mnm-hammer --test server:port --verify dir:service:order:count
# استرداد والتحقق من النتيجة
./test-crash.sh server:port [ item_index ]
# مجموعة عمليات التعطل/التحقق التي يتم تشغيلها في دليل واحد
أ) go test -c -covermode=count -coverpkg ./...
ب) go build
ج) ./mnm-hammer.test --test localhost:443 -test.coverprofile mnm-hammer.cov
. . . # دليل تمرير الاختبار هذا هو TPD أدناه
د) go tool cover -html=test-run/TPD/mnm-hammer.cov -o web/coverage.html
هـ) (cd test-run/TPD/ && ../../mnm-hammer --http :8123)
و) افتح علامة تبويب المتصفح، وانتقل إلى localhost:8123/w/coverage.html
المرجع: https://www.elastic.co/blog/code-coverage-for-your-golang-system-tests
لإنشاء ملفات العرض التوضيحي:
أ) cp web/{gui.vue,service-demo.html}
ب) cp web/docs{,-demo}.html
ج) git apply web/*demo.patch
لإعادة إنشاء ملفات web/...-demo.patch
بعد تغيير الملفات التجريبية:
أ) git diff --no-index web/gui.vue web/service-demo.html > web/service-demo.patch
ب) git diff --no-index web/docs.html web/docs-demo.html > web/docs-demo.patch
ج) قم بتحرير التصحيحات لاستخدام a/web/...-demo.html
كمسار أصلي.
لإنشاء كائن JSON لاستخدامه في web/data-demo.js
من نسخة عميل mnm:
أ) قم بتحرير web/gui.vue
لإدراج <script src="/w/demodata.js"></script>
بعد جميع البرامج النصية <head>
الأخرى.
ب) قم بإنهاء التطبيق وإعادة تشغيله، ثم اضغط على Shift-Reload الصفحة على http://localhost:8123
.
ج) استدعاء http://localhost:8123/#demodata
وانتظر أثناء التنقل عبر كل حساب.
د) افتح وحدة تحكم الويب وانسخ نتيجة JSON.
حقوق الطبع والنشر 2018، 2020 ليام بريك
تم النشر على https://github.com/networkimprov/mnm-hammer
يخضع نموذج كود المصدر هذا لشروط Mozilla Public
الترخيص، الإصدار 2.0. إذا لم يتم توزيع نسخة من MPL مع هذا
الملف، يمكنك الحصول عليه على http://mozilla.org/MPL/2.0/