I am @JoshData. By day (and night) I am a civic entrepreneur/hacker.
I run GovTrack.us and recently co-founded if.then.fund.
Today I am going to tell you about my side-project:
https://mailinabox.email
Decentralized. Secure.
https://github.com/mail-in-a-box/mailinabox
Readable. Idempotent. Fool-proof.
~20 installs per day
No idea how many Mail-in-a-Boxes are actually running.
Small but great open source community.
Ultimate goal: Let people tinker with email again.
The control panel is a client to
the Management API
(via AJAX --- no <form>s).
| Create Mailboxes | |
|---|---|
| GET /admin/mail/users | (list users) |
| POST /admin/mail/users/add | (add user) |
| POST /admin/mail/users/password | (set user pw) |
| Modify DNS | |
| PUT /admin/dns/custom/<qname>/<rtype> | (set DNS record) |
| Other Management | |
| POST /admin/ssl/install | (install SSL cert) |
| POST /admin/system/status | (self monitoring - JSON) |
curl -X POST --user me@joshmail.xyz:123456 https://box.joshmail.xyz/admin/system/status
[
{
"extra": [],
"text": "System",
"type": "heading"
},
{
"extra": [],
"text": "All system services are running.",
"type": "ok"
},
{
"extra": [],
"text": "SSH disallows password-based login.",
"type": "ok"
},
{
"extra": [],
"text": "System updates have been installed
and a reboot of the machine is required.",
"type": "error"
},
...
To create a dynamic DNS service:
curl -X PUT --user me@joshmail.xyz:123456 https://box.joshmail.xyz/admin/dns/custom/laptop.joshmail.xyz
Stay in touch.
@JoshData. @Mailinabox. https://mailinabox.email.