mmbradley.ca/dnsconfig.js

64 lines
1.8 KiB
JavaScript

// @ts-check
/// <reference path="types-dnscontrol.d.ts" />
var DSP_OVH = NewDnsProvider("ovh");
var REG_OVH = NewRegistrar("ovh");
var DOMAIN_NAME = "mmbradley.ca";
var TIME_TO_LIVE = 3600;
var IPv4 = IP("51.79.71.238");
var IPv6 = "2607:5300:205:200::4bcf";
function service(subdomain) {
return [A(subdomain, IPv4), AAAA(subdomain, IPv6)];
}
function minecraftServer(name, port) {
name = name + ".mc";
return [service(name), SRV("_minecraft._tcp." + name, 0, 5, port, name + "." + DOMAIN_NAME + ".")]
}
D(DOMAIN_NAME, REG_OVH,
DnsProvider(DSP_OVH),
DefaultTTL(TIME_TO_LIVE),
NAMESERVER_TTL(TIME_TO_LIVE),
// NAMESERVER("dns200.anycast.me."),
// NAMESERVER("ns200.anycast.me."),
service("@"),
CNAME("www", "@"),
service("ldap"),
service("keycloak"),
service("headscale"),
service("mail"),
MX("@", 10, "mail.mmbradley.ca."),
TXT("mail._domainkey", "v=DKIM1; h=sha256; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoJKbz8ihTjVtVjxclGFWny7O3Cl0F0gUZ6RRUSn1Ig6xirX4qHvXHO2KoxoH/S/qwxJf4wrVfwbiwyOFz37RtEFR4eT1sYUyYixveFzin9UfME/jSQRtC0N/cSPQ5nOfkngCC2XrfwuZlmuE3IUdQw4CIyIEuwYgdFMjOljsgWX5g9xh92waJusVRyQYtRIDwv9NFwjeuFJFH6CWmzFIu3I1Krk07QoEN7ENZJhioyLI7n4KKsp2mYrNay581/OzC5HiIQUfyjeHPEYETHyK2Lda2zJ7/od0ZP3jffwVfg3XItQ8cvg8tGncEnzc1Fg+iFJw14AFzlg3sprmwfqefQIDAQAB"),
TXT("_dmarc", "v=DMARC1; p=reject; sp=reject; fo=0; adkim=r; aspf=r; pct=100; rf=afrf; ri=86400; rua=mailto:admin@mmbradley.ca; ruf=mailto:admin@mmbradley.ca"),
TXT("@", "v=spf1 mx -all"),
service("dash"),
service("nginx"),
service("dozzle"),
service("glances"),
service("git"),
service("jellyfin"),
service("ntfy"),
service("bitwarden"),
service("photos"),
service("notes"),
service("dav"),
service("sync"),
service("relay.sync"),
service("disco.sync"),
service("mc"),
minecraftServer("jsut", 25567),
minecraftServer("david", 25566),
minecraftServer("hs", 25564),
);