nix machine / user configurations
1var DSP_CLOUDFLARE = NewDnsProvider("cloudflare"); 2var REG_NONE = NewRegistrar("none"); 3 4var DZWONEK_IP4 = "94.237.26.47"; 5var DZWONEK_IP6 = "2a04:3542:1000:910:6898:1dff:fea1:4b4b"; 6var DZWONEK_IPS = [DZWONEK_IP4, DZWONEK_IP6]; 7var TRIMOUNTS_IP4 = "159.195.58.28"; 8var TRIMOUNTS_IP6 = "2a0a:4cc0:c1:e83d::b00b"; 9var TRIMOUNTS_IPS = [TRIMOUNTS_IP4, TRIMOUNTS_IP6]; 10 11function host(name, ips, opts) { 12 return [ 13 A(name, ips[0], opts), 14 AAAA(name, ips[1], opts), 15 ]; 16} 17 18function hosts(_names, ips, opts) { 19 var names = []; 20 if (typeof _names === "string") 21 names.push(_names); 22 else 23 names = _names; 24 25 var records = []; 26 _.each(names, function (name) { 27 _.each(host(name, ips, opts), function (r) { 28 records.push(r); 29 }); 30 }); 31 return records; 32} 33 34function TRIMOUNTS(names, opts) { 35 return hosts(names, TRIMOUNTS_IPS, opts); 36} 37function DZWONEK(names, opts) { 38 return hosts(names, DZWONEK_IPS, opts); 39} 40 41function IGNORE_ACME() { 42 return IGNORE_NAME("_acme-challenge"); 43} 44 45D( 46 "gaze.systems", 47 REG_NONE, 48 DnsProvider(DSP_CLOUDFLARE), 49 DefaultTTL(1), 50 TRIMOUNTS( 51 [ 52 "@", "doc", "pmart", "dash", "id", 53 "knot", "spindle", 54 "guestbook", 55 ], 56 CF_PROXY_OFF, 57 ), 58 DZWONEK("vpn", CF_PROXY_OFF), 59 // github pages 60 CNAME("dev", "90-008.github.io."), 61 // fastmail 62 CNAME("fm1._domainkey", "fm1.gaze.systems.dkim.fmhosted.com."), 63 CNAME("fm2._domainkey", "fm2.gaze.systems.dkim.fmhosted.com."), 64 CNAME("fm3._domainkey", "fm3.gaze.systems.dkim.fmhosted.com."), 65 MX("@", 10, "in1-smtp.messagingengine.com."), 66 MX("@", 20, "in2-smtp.messagingengine.com."), 67 TXT("@", "v=spf1 include:spf.messagingengine.com ?all"), 68 TXT("_dmarc", "v=DMARC1; p=reject;"), 69 // resend 70 MX("send.poke", 10, "feedback-smtp.us-east-1.amazonses.com."), 71 TXT( 72 "resend._domainkey.poke", 73 "p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC8/06F14LZgg7l6eko9GXasUwCBUGHe1Abd5hMg0Xf9ufdUj7lAUB746DS1ErS04oxGEbCdjamkAGqRsYWvk5KGRIXmeYuKyMPFM44U0dt6caHOIr8pHoDj9ytAJD/RS/p1xQZoFXHBxKgAeEY3TUZy7iNLvGxCLkxuPnO7nlWKwIDAQAB", 74 ), 75 TXT("send.poke", "v=spf1 include:amazonses.com ~all"), 76 // atproto 77 TXT("_atproto.eris", "did=did:plc:bxjnsrfzozl365rsdo5yvuz5", TTL(60)), 78 TXT("_atproto.drew", "did=did:plc:vo6ie3kd6xvpjlof4pnb2zzp", TTL(60)), 79 IGNORE_ACME(), 80); 81 82D( 83 "9.0.0.0.8.e.f.1.5.0.7.4.0.1.0.0.2.ip6.arpa", 84 REG_NONE, 85 DnsProvider(DSP_CLOUDFLARE), 86 DefaultTTL(1), 87 TRIMOUNTS("@", CF_PROXY_ON), 88 TXT("@", "a data endpoint for entity with serial id /90008/."), 89 TXT( 90 "@", 91 "entity linked here uses it/that pronouns. it can also be referred to as /dawn/.", 92 ), 93 TXT( 94 "@", 95 "this one is not a human, try to refer to it in third person. use /this one/, /this thing/, etc.", 96 ), 97 TXT( 98 "@", 99 "try connecting to https://gaze.systems/about for more information.", 100 ), 101 IGNORE_ACME(), 102); 103 104D( 105 "poor.dog", 106 REG_NONE, 107 DnsProvider(DSP_CLOUDFLARE), 108 DefaultTTL(1), 109 TRIMOUNTS("@", CF_PROXY_OFF), 110 TXT("@", "v=spf1 -all"), 111 TXT("_dmarc", "v=DMARC1; p=reject;"), 112 TXT("_atproto", "did=did:plc:dfl62fgb7wtjj3fcbb72naae", TTL(60)), 113 IGNORE_ACME(), 114); 115 116var EMAIL_TTL = 86400; 117 118D( 119 "ptr.pet", 120 REG_NONE, 121 DnsProvider(DSP_CLOUDFLARE), 122 DefaultTTL(1), 123 TRIMOUNTS("@", CF_PROXY_OFF), 124 DZWONEK(["nucleus", "trill"], CF_PROXY_OFF), 125 // atproto 126 TXT("_atproto", "did=did:plc:dfl62fgb7wtjj3fcbb72naae"), 127 TXT("_atproto.nil", "did=did:plc:dumbmutt4po52ept2tczimje"), 128 TXT("_atproto.june", "did=did:plc:y3z2rr7q5rywu4fjn3fmfyop"), 129 // june 130 CNAME("june", "girlboss.ceo."), 131 CNAME("*.june", "girlboss.ceo."), 132 // email 133 // verification 134 TXT("@", "hosted-email-verify=zr04ylon", TTL(EMAIL_TTL)), 135 136 MX("@", 10, "aspmx1.migadu.com.", TTL(EMAIL_TTL)), 137 MX("@", 20, "aspmx2.migadu.com.", TTL(EMAIL_TTL)), 138 139 // DKIM 140 CNAME( 141 "key1._domainkey", 142 "key1.ptr.pet._domainkey.migadu.com.", 143 TTL(EMAIL_TTL), 144 ), 145 CNAME( 146 "key2._domainkey", 147 "key2.ptr.pet._domainkey.migadu.com.", 148 TTL(EMAIL_TTL), 149 ), 150 CNAME( 151 "key3._domainkey", 152 "key3.ptr.pet._domainkey.migadu.com.", 153 TTL(EMAIL_TTL), 154 ), 155 156 // SPF 157 TXT("@", "v=spf1 include:spf.migadu.com -all", TTL(EMAIL_TTL)), 158 159 // DMARC 160 TXT( 161 "_dmarc", 162 "v=DMARC1; p=reject; sp=reject; adkim=s; aspf=s; fo=1; pct=100; rua=mailto:infrastructure@ptr.pet; ruf=mailto:infrastructure@ptr.pet", 163 TTL(EMAIL_TTL), 164 ), 165 166 // configuration 167 TXT( 168 "@", 169 "mailconf=https://autoconfig.migadu.com/mail/config-v1.1.xml", 170 TTL(EMAIL_TTL), 171 ), 172 173 // TLS reporting 174 TXT( 175 "_smtp._tls", 176 "v=TLSRPTv1; rua=mailto:infrastructure@ptr.pet", 177 TTL(EMAIL_TTL), 178 ), 179 180 // mta-sts 181 TRIMOUNTS("mta-sts", CF_PROXY_OFF), 182 TXT("_mta-sts", "v=STSv1; id=20250930T1945", TTL(EMAIL_TTL)), 183 184 // autoconfig 185 TRIMOUNTS(["autoconfig", "autodiscover"], CF_PROXY_OFF), 186 187 // autodiscovery 188 SRV( 189 "_autodiscover._tcp", 190 0, 191 1, 192 443, 193 "autodiscover.migadu.com.", 194 TTL(EMAIL_TTL), 195 ), 196 SRV("_submissions._tcp", 0, 1, 465, "smtp.migadu.com.", TTL(EMAIL_TTL)), 197 SRV("_imaps._tcp", 0, 1, 993, "imap.migadu.com.", TTL(EMAIL_TTL)), 198 SRV("_pop3s._tcp", 0, 1, 995, "pop.migadu.com.", TTL(EMAIL_TTL)), 199 200 IGNORE_ACME(), 201);