Das MNM-Projekt baut einen legitimen Ersatz für E-Mail: einen Client (siehe unten), einen Server und ein einfaches Protokoll zwischen ihnen.
Erfahren Sie mehr unter mnmnotmail.org.
Laden Sie die MNM-Client-App herunter
09. März 2021 – die Online-Demo wird veröffentlicht. Es wurde auf Chrome und Firefox getestet.
03. Januar 2021 – v0.9 ist veröffentlicht. Es behebt eine Panik und einige Fehler, ist aber ansonsten identisch mit v0.8.
15. November 2020 – v0.8 wird für Windows 7+, MacOS und Linux veröffentlicht. Die Benutzeroberfläche wurde auf Chrome und Firefox getestet.
Neu: Markdown-Referenzfenster, „Todo“-Tag für neue Threads, Menü mit ausgefüllten Formulartabellen und Dutzende anderer Verbesserungen und Korrekturen.
20. April 2020 – v0.7 wird für Windows 7+, MacOS und Linux veröffentlicht. Es wurde mit Chrome und Firefox getestet.
Neu: Slide-Deck-Layouts, Replikation auf mehrere PCs, vereinfachter Start.
20. Oktober 2019 – v0.6 wird für Windows 7+, MacOS und Linux veröffentlicht. Es wurde mit Chrome und Firefox getestet.
Neu: Suche, Nachrichten-Tags, Datei-Viewer, UI-Farben, Logo und mehr. Behebt viele UI-Fehler.
29. Mai 2019 – v0.5 ist veröffentlicht. Es behebt eine Panik unter Windows, ist aber ansonsten identisch mit v0.4.
25. Mai 2019 – v0.4 ist veröffentlicht. Es wurde unter Windows 7, MacOS und Linux mit Firefox getestet.
Neu: Windows-Unterstützung. Behebt einen Fehler bei der Wiederherstellung nach einem Absturz und einen TMTP-Verarbeitungsfehler.
13. Mai 2019 – v0.3 ist veröffentlicht. Es wurde unter Linux und MacOS mit Firefox getestet.
Neu: Tooltips zu Menüsymbolen. Behebt eine Panik und eine Handvoll UI-Fehler.
07. Mai 2019 – v0.2 ist veröffentlicht. Es wurde unter Linux und MacOS mit Firefox getestet.
Neu: ein Rundgang mit Cartoons zu wesentlichen Themen.
19. April 2019 – v0.1 wird veröffentlicht. Es wurde unter Linux und MacOS mit Firefox getestet.
Produktionsfreigaben: 1+ . 0 . 0+
Vorschauversionen: S. 1+ . PP (erste und letzte aus der vorherigen Produktionsversion)
Die zweite Nummer wird nur für Vorschauen verwendet. Die meisten (hoffentlich alle) Vorschaufunktionen und Änderungen werden in der folgenden Produktionsversion verfügbar sein.
Erfordert Go 1.13.3+
a) go get github.com/networkimprov/mnm-hammer
b) cd $GOPATH/src/github.com/networkimprov/mnm-hammer
# Projektverzeichnis kann aus $GOPATH verschoben werden
c) ./webdeps.sh
# Browsermodule herunterladen
d) Bearbeiten Sie kVersionDate in main.go
e) ./pkg.sh
# Release-Downloads für alle Plattformen erstellen
Build für Windows erfordert Patches für die Go-Quelle (die sich nicht auf andere Programme auswirken):
go-winfsd.patch behebt #32088
go-winstat.patch behebt #9611
Wenden Sie Patches an mit: cp go*.patch /.../go && (cd /.../go && git apply go*.patch)
Eine automatisierte Testsequenz ist in test-in.json definiert. Es erstellt die Konten Blue und Gold, die dann Nachrichten austauschen. Aufgrund der losen Synchronisierung zwischen den beiden Konten kommt es gelegentlich zu Fehlalarmen. Nach Abschluss eines Testdurchlaufs stellt die App http auf Port 8123 bereit (es sei denn, --http ist angegeben):
./mnm-hammer --test server:port
# server:port ist ein TMTP-Dienst
So greifen Sie auf einen früheren Testdurchlauf zu:
(cd test-run/TPD/ && ../../mnm-hammer --http :8123)
# TPD ist ein Verzeichnisname
Wenn die TMTP-Site unter server:port
nicht für die optionale Authentifizierung durch Dritte konfiguriert ist, erzeugt die Testsequenz eine Expect/Got-Nachricht von „local1 local“ re „cs“ (die ignoriert werden kann). Die Testsequenz kann nicht für eine TMTP-Site ausgeführt werden, die eine Authentifizierung durch Dritte erfordert.
Crashtest
a) ./mnm-hammer --test server:port --crash init
# testverzeichnis erstellen
b) ./mnm-hammer --test server:port --crash dir:service:order:op[:sender:order]
# Absturz hier in der Testsequenz
c) ./mnm-hammer --test server:port --verify dir:service:order:count
# Ergebnis wiederherstellen und überprüfen
./test-crash.sh server:port [ item_index ]
# Sammlung von Crash-/Verify-Läufen in einem einzelnen Verzeichnis
a) go test -c -covermode=count -coverpkg ./...
b) go build
c) ./mnm-hammer.test --test localhost:443 -test.coverprofile mnm-hammer.cov
. . . # Dieses Testdurchlaufverzeichnis befindet sich unten im TPD
d) go tool cover -html=test-run/TPD/mnm-hammer.cov -o web/coverage.html
e) (cd test-run/TPD/ && ../../mnm-hammer --http :8123)
f) Öffnen Sie einen Browser-Tab und gehen Sie zu localhost:8123/w/coverage.html
Referenz: https://www.elastic.co/blog/code-coverage-for-your-golang-system-tests
So generieren Sie die Demodateien:
a) cp web/{gui.vue,service-demo.html}
b) cp web/docs{,-demo}.html
c) git apply web/*demo.patch
So erstellen Sie die web/...-demo.patch
Dateien nach der Änderung der Demodateien neu:
a) git diff --no-index web/gui.vue web/service-demo.html > web/service-demo.patch
b) git diff --no-index web/docs.html web/docs-demo.html > web/docs-demo.patch
c) Bearbeiten Sie die Patches so, dass sie a/web/...-demo.html
als Ursprungspfad verwenden.
So erstellen Sie ein JSON-Objekt zur Verwendung in web/data-demo.js
aus einer MNM-Client-Instanz:
a) Bearbeiten Sie web/gui.vue
, um <script src="/w/demodata.js"></script>
nach allen anderen <head>
-Skripten einzufügen.
b) Beenden Sie die App, starten Sie sie neu und laden Sie dann bei gedrückter Umschalttaste die Seite unter http://localhost:8123
.
c) Rufen Sie http://localhost:8123/#demodata
auf und warten Sie, während die einzelnen Konten durchlaufen werden.
d) Öffnen Sie die Webkonsole und kopieren Sie das JSON-Ergebnis.
Copyright 2018, 2020 Liam Breck
Veröffentlicht unter https://github.com/networkimprov/mnm-hammer
Dieses Quellcode-Formular unterliegt den Bedingungen von Mozilla Public
Lizenz, Version 2.0. Wenn eine Kopie der MPL nicht mit verteilt wurde
Datei, Sie können eine unter http://mozilla.org/MPL/2.0/ erhalten.