97 lines
3.7 KiB
HTML
97 lines
3.7 KiB
HTML
|
<!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'><- 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>
|