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에서 테스트되었습니다.
새로운 기능: 마크다운 참조 패널, 새 스레드의 "Todo" 태그, 채워진 형식 테이블 메뉴, 기타 수십 가지 개선 사항 및 수정 사항.
2020년 4월 20일 - Windows 7+, MacOS, Linux용 v0.7이 출시되었습니다. Chrome 및 Firefox에서 테스트되었습니다.
새로운 기능: 슬라이드 데크 레이아웃, 여러 PC에 복제, 단순화된 시작.
2019년 10월 20일 - Windows 7+, MacOS, Linux용 v0.6이 출시되었습니다. Chrome 및 Firefox에서 테스트되었습니다.
새로운 기능: 검색, 메시지 태그, 파일 뷰어, UI 색상, 로고 등. 많은 UI 결함을 수정합니다.
2019년 5월 29일 - v0.5가 출시되었습니다. Windows의 패닉을 해결하지만 그 외의 부분은 v0.4와 동일합니다.
2019년 5월 25일 - v0.4가 출시되었습니다. Firefox를 사용하여 Windows 7, MacOS, Linux에서 테스트되었습니다.
새로운 기능: Windows 지원. 충돌 복구 실패 및 TMTP 처리 오류를 수정합니다.
2019년 5월 13일 - v0.3이 출시되었습니다. Firefox를 사용하여 Linux 및 MacOS에서 테스트되었습니다.
새로운 기능: 메뉴 아이콘에 대한 툴팁. 패닉 및 몇 가지 UI 결함을 수정합니다.
2019년 5월 7일 - v0.2가 출시되었습니다. Firefox를 사용하여 Linux 및 MacOS에서 테스트되었습니다.
새로운 기능: 필수 기능을 다루는 만화 투어입니다.
2019년 4월 19일 - v0.1이 출시되었습니다. Firefox를 사용하여 Linux 및 MacOS에서 테스트되었습니다.
프로덕션 릴리스: 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에 정의되어 있습니다. Blue와 Gold 계정을 생성한 후 메시지를 교환합니다. 두 계정 간의 느슨한 동기화로 인해 가끔 오탐지가 발생하는 경우가 있습니다. 테스트 통과가 완료되면 앱은 포트 8123에서 http를 제공합니다(--http가 제공되지 않는 한).
./mnm-hammer --test server:port
# server:port는 TMTP 서비스입니다.
이전 테스트 통과에 액세스하려면:
(cd test-run/TPD/ && ../../mnm-hammer --http :8123)
# TPD는 디렉토리 이름입니다.
server:port
의 TMTP 사이트가 선택적 제3자 인증을 위해 구성되지 않은 경우 테스트 시퀀스는 "local1 local" 및 "cs"(무시 가능)에서 예상/가져온 메시지를 생성합니다. 타사 인증이 필요한 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) 웹 콘솔을 열고 JSON 결과를 복사합니다.
저작권 2018, 2020 리암 브렉
https://github.com/networkimprov/mnm-hammer에 게시됨
이 소스 코드 양식에는 Mozilla Public 약관이 적용됩니다.
라이센스, v. 2.0. MPL 사본이 이와 함께 배포되지 않은 경우
파일은 http://mozilla.org/MPL/2.0/에서 얻을 수 있습니다.