
Proyek MNM sedang membangun pengganti yang sah untuk email: server (lihat di bawah), klien, dan protokol sederhana di antara mereka.
Pelajari lebih lanjut di mnmnotmail.org.
11 Desember 2020 - V0.1 dirilis untuk Linux!
13 April 2019 - Pratinjau pribadi sekarang langsung! Hubungi penulis jika Anda ingin mencobanya.
19 Agustus 2018 - Setelah pengujian dengan klien MNM, membuat beberapa perbaikan. Mengubah lisensi ke MPL.
25 September 2017 - Aplikasi klien sedang dalam pengembangan.
3 Agustus 2017 - Simulasi 1000 klien aktif bersamaan memberikan 1 juta pesan dengan total 6,7GB dalam 46 menit. Ini menggunakan ~ 200MB RAM, <10MB disk, dan waktu CPU minimal. Setiap klien menjalankan siklus 19 langkah yang memang masuk, kemudian memposting untuk dua penerima (15x) atau untuk sekelompok 100 (2x) setiap 1-30-an, kemudian logout dan menganggur untuk 1-30-an.
Unduh biner atau build dari sumber
A) Dapatkan Mnm-tmtpd-linux-AMD64-V0.1.0.tgz
b) Ekstrak dengan tar xzf mnm-tmtpd-linux-amd64-v0.1.0.tgz
atau
A) go get github.com/networkimprov/mnm
Aktifkan TCP+TLS dengan sertifikat yang ditandatangani sendiri
A) cd mnm
b) openssl ecparam -genkey -name secp384r1 -out server.key
c) openssl req -new -x509 -sha256 -key server.key -out server.crt -days 3650
D) cp mnm.conf mnm.config # Edit untuk merevisi NTP.Hosts dan menyesuaikan Listen.laddr dengan "Host: Port"
Catatan: Pada host internet publik, Port 443 akan melihat tetesan permintaan probe yang stabil (sering dengan niat jahat) yang mencemari log MNM. Pilih port di atas 1024 untuk menghindari ini.
Jalankan server
a) ./mnm # port default 443 mungkin memerlukan sudo ./mnm ; Log ke Stdout & Stderr
b) ctrl-c untuk berhenti
atau
a) ./mnm >> logfile 2>&1 & # Run in Background, log ke akhir logfile
b) kill -s INT <background_pid> # kirim sinyal sigint, memicu shutdown anggun
Mendistribusikan alamat server kepada pengguna
+ Use =address:port untuk sertifikat yang ditandatangani sendiri, misalnya =192.168.1.2:3456
+Gunakan +address:port untuk sertifikat yang diterbitkan CA, misalnya +mnm.example.com:443
File "MNM.Config" berisi objek JSON dengan bidang -bidang ini.
Objek ntp (Network Time Protocol) mendefinisikan:
hosts - serangkaian server NTP
retries - berapa kali untuk mencoba lagi setiap host
Objek listen mendefinisikan:
net & laddr - argumen ke net.ListenConfig.Listen(nil, net, laddr)
certPath & keyPath - Argumen untuk tls.LoadX509KeyPair(certPath, keyPath)
Parameter name mendefinisikan bidang tmtprev .name server.
Parameter auth mendefinisikan di mana otentikasi pihak ketiga diperlukan:
0 - tidak didukung
1 - Diperlukan untuk pendaftaran
2 - Diperlukan untuk pendaftaran dan login (belum diterapkan)
Array authby mendefinisikan satu set objek yang menggambarkan penyedia OpenID Connect:
label - Nama penyedia/aplikasi OIDC
login - Array yang memberikan URL dasar, diikuti dengan nama = Parameter Permintaan Nilai, untuk OIDC /authorize
token - Array yang memberikan URL dasar, diikuti dengan nama = parameter permintaan nilai, untuk OIDC /token
std - Array Nama = Parameter Permintaan Nilai untuk ditambahkan ke kedua permintaan login & token
keys - URL untuk kunci publik yang diperlukan untuk memvalidasi token yang disediakan oleh OIDC Authentication
iss & aud - nilai yang diharapkan untuk klaim di bidang .id_token dari token OIDC
Jika objek authby pertama kosong, otentikasi OpenID Connect adalah opsional. Ini berguna untuk pengujian.
Dengan asumsi repositori ini telah diperoleh melalui git clone :
A) cd mnm
b) git stash # jika diperlukan
c) git checkout <your_branch>
d) Edit KversionDate di Main.go
e) ./pkg.sh # membuat unduhan rilis
Urutan tes kontinu dengan klien yang disimulasikan
a) ./mnm 10 > /dev/null # mungkin 2-1000
b) ctrl-c untuk berhenti
File test.json memberikan urutan permintaan dan hasil yang diharapkan, yang berjalan sebelum tes berkelanjutan. Ini termasuk permintaan yang tidak valid, yang mencetak pesan ke Stderr.
Hak Cipta 2020 Liam Breck
Diterbitkan di https://github.com/networkimprov/mnm
Formulir Kode Sumber ini tunduk pada ketentuan Lisensi Publik Mozilla, v. 2.0. Jika salinan MPL tidak didistribusikan dengan file ini, Anda dapat memperolehnya di http://mozilla.org/mpl/2.0/