Le projet mnm construit un remplacement légitime du courrier électronique : un client (voir ci-dessous), un serveur et un protocole simple entre eux.
Apprenez-en davantage sur mnmnotmail.org.
Téléchargez l'application client mnm
09 mars 2021 – la démo en ligne est publiée. Il a été testé sur Chrome et Firefox.
03 janvier 2021 – la v0.9 est publiée. Il corrige une panique et quelques défauts, mais est par ailleurs identique à la v0.8.
15 novembre 2020 - La v0.8 est publiée pour Windows 7+, MacOS et Linux. Son interface utilisateur a été testée sur Chrome et Firefox.
Nouveau : panneau de référence Markdown, balise "Todo" sur les nouveaux fils de discussion, menu de tableaux remplis et des dizaines d'autres améliorations et correctifs.
20 avril 2020 - La v0.7 est publiée pour Windows 7+, MacOS et Linux. Il a été testé avec Chrome et Firefox.
Nouveau : présentations des diapositives, réplication sur plusieurs PC, démarrage simplifié.
20 octobre 2019 - La v0.6 est publiée pour Windows 7+, MacOS et Linux. Il a été testé avec Chrome et Firefox.
Nouveau : recherche, balises de message, visionneuse de fichiers, couleurs de l'interface utilisateur, logo, etc. Corrige de nombreux défauts de l'interface utilisateur.
29 mai 2019 - la v0.5 est publiée. Il corrige une panique sous Windows, mais est par ailleurs identique à la v0.4.
25 mai 2019 - la v0.4 est publiée. Il a été testé sur Windows 7 & MacOS & Linux, avec Firefox.
Nouveau : prise en charge de Windows. Corrige un échec de récupération après crash et une erreur de gestion TMTP.
13 mai 2019 - la v0.3 est publiée. Il a été testé sur Linux & MacOS, avec Firefox.
Nouveau : infobulles sur les icônes de menu. Corrige une panique et une poignée de défauts de l'interface utilisateur.
07 mai 2019 - la v0.2 est publiée. Il a été testé sur Linux & MacOS, avec Firefox.
Nouveau : un parcours animé avec des dessins reprenant les incontournables.
19 avril 2019 - la v0.1 est publiée. Il a été testé sur Linux & MacOS, avec Firefox.
Sorties de production : 1+ . 0 . 0+
Versions préliminaires : pp . 1+. pp (premier et dernier de la version de production précédente)
Le deuxième numéro n'est utilisé que pour les aperçus. La plupart (espérons-le tous) des fonctionnalités et modifications en avant-première apparaissent dans la version de production suivante.
Nécessite Go 1.13.3+
a) go get github.com/networkimprov/mnm-hammer
b) cd $GOPATH/src/github.com/networkimprov/mnm-hammer
# le répertoire du projet peut être déplacé hors de $GOPATH
c) ./webdeps.sh
# télécharger les modules du navigateur
d) Modifier kVersionDate dans main.go
e) ./pkg.sh
# effectuer des téléchargements de versions pour toutes les plateformes
La construction pour Windows nécessite des correctifs pour la source Go (qui n'affectent pas les autres programmes) :
go-winfsd.patch corrige #32088
go-winstat.patch corrige #9611
Appliquez les correctifs avec : cp go*.patch /.../go && (cd /.../go && git apply go*.patch)
Une séquence de tests automatisés est définie dans test-in.json. Il crée des comptes Bleu et Or, qui échangent ensuite des messages. Il génère occasionnellement des faux positifs en raison d’une mauvaise synchronisation entre les deux comptes. Une fois le test terminé, l'application fournit http sur le port 8123 (sauf si --http est indiqué) :
./mnm-hammer --test server:port
# server:port est un service TMTP
Pour accéder à un test précédent :
(cd test-run/TPD/ && ../../mnm-hammer --http :8123)
# TPD est un nom de répertoire
Si le site TMTP sur server:port
n'est pas configuré pour une authentification tierce facultative, la séquence de test produira un message attendu/obtenu de "local1 local" re "cs" (qui peut être ignoré). La séquence de test ne peut pas s'exécuter sur un site TMTP nécessitant une authentification tierce.
Tests de collision
a) ./mnm-hammer --test server:port --crash init
# créer un répertoire de test
b) ./mnm-hammer --test server:port --crash dir:service:order:op[:sender:order]
# crash ici dans la séquence de test
c) ./mnm-hammer --test server:port --verify dir:service:order:count
# récupérer et vérifier le résultat
./test-crash.sh server:port [ item_index ]
# collection d'exécutions de crash/vérification dans un seul répertoire
a) go test -c -covermode=count -coverpkg ./...
b) go build
c) ./mnm-hammer.test --test localhost:443 -test.coverprofile mnm-hammer.cov
. . . # ce répertoire de réussite du test est TPD ci-dessous
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) Ouvrez un onglet de navigateur, accédez à localhost:8123/w/coverage.html
Réf : https://www.elastic.co/blog/code-coverage-for-your-golang-system-tests
Pour générer les fichiers de démonstration :
a) cp web/{gui.vue,service-demo.html}
b) cp web/docs{,-demo}.html
c) git apply web/*demo.patch
Pour recréer les fichiers web/...-demo.patch
après avoir modifié les fichiers de démonstration :
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) Modifiez les correctifs pour utiliser a/web/...-demo.html
comme chemin d'origine.
Pour créer un objet JSON à utiliser dans web/data-demo.js
à partir d'une instance client mnm :
a) Modifiez web/gui.vue
pour insérer <script src="/w/demodata.js"></script>
après tous les autres scripts <head>
.
b) Quittez et redémarrez l'application, puis Shift-Rechargez la page à http://localhost:8123
.
c) Invoquez http://localhost:8123/#demodata
et attendez pendant qu'il parcourt chaque compte.
d) Ouvrez la console Web et copiez le résultat JSON.
Copyright 2018, 2020 Liam Breck
Publié sur https://github.com/networkimprov/mnm-hammer
Ce formulaire de code source est soumis aux termes du Mozilla Public
Licence, version 2.0. Si une copie de la MPL n'a pas été distribuée avec ce
fichier, vous pouvez en obtenir un sur http://mozilla.org/MPL/2.0/