nullhex-website/setup.html

97 lines
3.7 KiB
HTML
Raw Permalink Normal View History

<!doctype html>
<html lang=en>
<head>
<link href='data:image/x-icon;base64,AAABAAEAEBAQAAEABAAoAQAAFgAAACgAAAAQAAAAIAAAAAEABAAAAAAAgAAAABILAAASCwAAEAAAABAAAAAAAAAAQ0NDAGEA0gAg7n4AL+2GADztjQA97Y0A/8xmAImJiQDAwMAA0NDQANTU1ADj4+MA5ubmAAAAAAAAAAAAAAAAAAAAAAB3d3d3d3d3dwAAAAAAAAAAGJmZmZmZmYGIm7u7u7u5iImJu5mbu5iYi5iZiIm5ibiLuYiqqJibuIu5it3aibu4i5itZUyom7iJit0yItqJuIit3TLd3aiYit3dMj3d2oiN3d3SIt3dqBi7u7u7u7uBAAAAAAAAAAAAAAAAAAAAAAAAAAAA' rel=icon>
<title>Setup Nullhex</title>
<meta charset=utf-8>
<meta name=viewport content="width=device-width,initial-scale=1.0">
<meta name=Description content="An email service for members of Cyberia">
<link href="style.css" rel="stylesheet">
</head>
<body>
<pre>
<a href='https://cyberia.club'>&lt- cyberia</a> <a href='https://mail.nullhex.com'>webmail</a> <a href='https://paste.cyberia.club/~j3s/cc9fb08908ddea3cb99e7c188f0e0590f53a118f'>setup</a> <a href='mailto:ops@cyberia.club'>support 📧</a>
</pre>
<pre class="fullpage wrap">
<b class="purple">How to use Nullhex</b>
<b><i>1. Get a DNS record</i></b>
We do not support anything besides custom domains, because we want our users to have authority over their email routing, and because custom domains are cool af.
I recommend using njal.la for domain purchasing. But use whatever you like!
For the sake of example, lets pretend we have purchased "garbage.gov"
<b><i>2. Set up all of them pesky records</i></b>
Here's the BIND representation of what you need to do. The exact steps will differ between DNS providers.
<pre class="code">
garbage.gov. 3000 IN MX 10 smtp-in-1.nullhex.com.
garbage.gov. 3000 IN MX 20 smtp-in-2.nullhex.com.
garbage.gov. 3000 IN TXT "v=spf1 a mx ~all"
key1._domainkey.garbage.gov. 3000 IN CNAME key1.nullhex.com.
_dmarc.garbage.gov. 3000 IN TXT "v=DMARC1; p=quarantine;"
autoconfig.garbage.gov. 3000 IN CNAME autoconfig.nullhex.com.
_autodiscover._tcp.garbage.gov. 3000 IN SRV 0 1 443 autodiscover.nullhex.com.
_submissions._tcp.garbage.gov. 3000 IN SRV 0 1 465 smtp.nullhex.com.
_imaps._tcp.garbage.gov. 3000 IN SRV 0 1 993 imap.nullhex.com.
</pre>
<b><i>3. Test your records</i></b>
Use our testing script to check whether things are kosher:
<pre class="code">
#!/bin/sh
if [ -z "$1" ]; then
echo "error: domain missing (nullhex.com)"
exit 1
fi
domain="$1"
errors=""
dig +short MX "$domain" | grep -q 'smtp-in-1.nullhex.com' || errors="smtp-in-1.nullhex.com record not found"
dig +short MX "$domain" | grep -q 'smtp-in-2.nullhex.com' || errors="$errors\nsmtp-in-2.nullhex.com record not found"
dig +short TXT "$domain" | grep -q '^"v=spf1 a mx ~all"$' || errors="$errors\nspf record not found"
dig +short CNAME "key1._domainkey.$domain" | grep -q 'key1.nullhex.com' || errors="$errors\nkey1._domainkey.$domain record not found"
dig +short TXT "_dmarc.$domain" | grep -q '^"v=DMARC1; p=quarantine;"$' || errors="$errors\ndmarc TXT record is missing"
dig +short SRV "_autodiscover._tcp.$domain" | grep -q '443 autodiscover.nullhex.com.' || errors="$errors\nautodiscover SRV record is missing"
dig +short SRV "_imaps._tcp.$domain" | grep -q '993 imap.nullhex.com.' || errors="$errors\nimap SRV record is missing"
dig +short SRV "_submissions._tcp.$domain" | grep -q '465 smtp.nullhex.com.' || errors="$errors\nsmtp SRV record is missing"
dig +short CNAME "autoconfig.$domain" | grep -q 'autoconfig.nullhex.com.' || errors="$errors\nautoconfig CNAME record is missing"
if [ ! -z "$errors" ]; then
echo "$errors"
exit 1
else
echo "success! u are redy"
fi
</pre>
<b><i>4. Set up an account</i></b>
Email ops@cyberia.club and tell us:
- that you're ready for onboarding
- which email address(es) you'd like to have, initially
- we will respond!
(c) Attribution-ShareAlike 4.0 International
Cyberia Computer Club 2020-∞
</pre>
</body>