mnm 项目正在构建电子邮件的合法替代品:客户端(见下文)、服务器以及它们之间的简单协议。
请访问 mnmnotmail.org 了解更多信息。
下载 mnm 客户端应用程序
2021 年 3 月 9 日- 在线演示发布。它已经在 Chrome 和 Firefox 上进行了测试。
2021 年 1 月 3 日- v0.9 发布。它修复了恐慌和一些缺陷,但在其他方面与 v0.8 相同。
2020 年 11 月 15 日- v0.8 发布,适用于 Windows 7+、MacOS 和 Linux。其 UI 已在 Chrome 和 Firefox 上进行了测试。
新增内容: Markdown 参考面板、新线程上的“Todo”标签、填写表格的菜单以及许多其他增强功能和修复。
2020 年 4 月 20 日- v0.7 发布,适用于 Windows 7+、MacOS 和 Linux。它已经过 Chrome 和 Firefox 的测试。
新功能:幻灯片布局、复制到多台 PC、简化启动。
2019 年 10 月 20 日- v0.6 发布,适用于 Windows 7+、MacOS 和 Linux。它已经过 Chrome 和 Firefox 的测试。
新功能:搜索、消息标签、文件查看器、UI 颜色、徽标等。修复了许多 UI 缺陷。
2019 年 5 月 29 日- v0.5 发布。它修复了 Windows 上的恐慌,但其他方面与 v0.4 相同。
2019 年 5 月 25 日- v0.4 发布。它已在 Windows 7、MacOS 和 Linux 以及 Firefox 上进行了测试。
新功能: Windows 支持。修复了崩溃恢复失败和 TMTP 处理错误。
2019 年 5 月 13 日- v0.3 发布。它已经在 Linux 和 MacOS 以及 Firefox 上进行了测试。
新功能:菜单图标上的工具提示。修复了恐慌和一些用户界面缺陷。
2019 年 5 月 7 日- v0.2 发布。它已经在 Linux 和 MacOS 以及 Firefox 上进行了测试。
新内容:包含基本功能的卡通之旅。
2019 年 4 月 19 日- v0.1 发布。它已经在 Linux 和 MacOS 以及 Firefox 上进行了测试。
生产版本:1+ . 0 . 0+
预览版本: pp . 1+ . pp (之前生产版本的第一个和最后一个)
第二个数字仅用于预览。大多数(希望是所有)预览功能和更改将出现在以下生产版本中。
需要 Go 1.13.3+
a) go get github.com/networkimprov/mnm-hammer
b) cd $GOPATH/src/github.com/networkimprov/mnm-hammer
# 项目目录可以移出$GOPATH
c) ./webdeps.sh
# 下载浏览器模块
d) 在 main.go 中编辑kVersionDate
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 中定义。它创建蓝色帐户和金色帐户,然后交换消息。由于两个帐户之间的同步松散,它偶尔会产生误报。测试通过完成后,应用程序在端口 8123 上提供 http(除非给出 --http):
./mnm-hammer --test server:port
# server:port是TMTP服务
要访问以前的测试通过:
(cd test-run/TPD/ && ../../mnm-hammer --http :8123)
# TPD 是目录名
如果server:port
处的 TMTP 站点未配置为可选的第三方身份验证,则测试序列将从“local1 local”重新生成“cs”(可以忽略)的 Expect/got 消息。测试序列无法针对需要第三方身份验证的 TMTP 站点运行。
碰撞测试
a) ./mnm-hammer --test server:port --crash init
# 制作测试目录
b) ./mnm-hammer --test server:port --crash dir:service:order:op[:sender:order]
# 在测试序列中崩溃
c) ./mnm-hammer --test server:port --verify dir:service:order:count
# 恢复并验证结果
./test-crash.sh server:port [ item_index ]
# 在单个目录中运行的崩溃/验证集合
a) go test -c -covermode=count -coverpkg ./...
b) go build
c) ./mnm-hammer.test --test localhost:443 -test.coverprofile mnm-hammer.cov
。 。 。 # 这个测试通过的目录是下面的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) 打开浏览器选项卡,转到localhost:8123/w/coverage.html
参考:https://www.elastic.co/blog/code-coverage-for-your-golang-system-tests
生成演示文件:
a) cp web/{gui.vue,service-demo.html}
b) cp web/docs{,-demo}.html
c) git apply web/*demo.patch
要在更改演示文件后重新创建web/...-demo.patch
文件:
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) 编辑补丁以使用a/web/...-demo.html
作为原始路径。
要从 mnm 客户端实例创建用于web/data-demo.js
JSON 对象:
a) 编辑web/gui.vue
以在所有其他<head>
脚本之后插入<script src="/w/demodata.js"></script>
。
b) 退出并重新启动应用程序,然后按住 Shift 键并重新加载http://localhost:8123
页面。
c) 调用http://localhost:8123/#demodata
并等待它逐步遍历每个帐户。
d) 打开 Web 控制台并复制 JSON 结果。
版权所有 2018, 2020 利亚姆·布雷克
发布于 https://github.com/networkimprov/mnm-hammer
本源代码表受 Mozilla Public 条款的约束
许可证,v.2.0。如果 MPL 的副本未随此一起分发
文件,您可以从 http://mozilla.org/MPL/2.0/ 获取一个