this repo has no description
4
fork

Configure Feed

Select the types of activity you want to include in your feed.

feat(wolumonde): email for ptr.pet. june woof

dusk 8029bad5 6ad8137e

+146 -10
+1 -1
deploy.nu
··· 32 32 } 33 33 34 34 def upload-paste []: any -> string { 35 - let paste_url = http post --content-type multipart/form-data "https://0x0.st" {file: ($in | to text | into binary), secret: true} 35 + let paste_url = http post -H ["user-agent" "gaze.systems terra deploy"] --content-type multipart/form-data "https://0x0.st" {file: ($in | to text | into binary), secret: true} 36 36 return $paste_url 37 37 } 38 38
+78 -3
dns/dnsconfig.js
··· 21 21 A("likes", WOLUMONDE_IP, CF_PROXY_OFF), 22 22 A("vpn", WOLUMONDE_IP, CF_PROXY_OFF), 23 23 A("id", WOLUMONDE_IP, CF_PROXY_OFF), 24 + A("test", WOLUMONDE_IP, CF_PROXY_OFF), 24 25 // atp handles 25 26 A("dawn", WOLUMONDE_IP, CF_PROXY_OFF), 26 27 A("guestbook", WOLUMONDE_IP, CF_PROXY_OFF), ··· 86 87 TXT("_dmarc", "v=DMARC1; p=reject;"), 87 88 ); 88 89 90 + var EMAIL_TTL = 86400; 91 + 89 92 D( 90 93 "ptr.pet", 91 94 REG_NONE, 92 95 DnsProvider(DSP_CLOUDFLARE), 93 96 DefaultTTL(1), 94 97 A("@", WOLUMONDE_IP, CF_PROXY_OFF), 95 - A("nil", WOLUMONDE_IP, CF_PROXY_OFF), 98 + A("test", WOLUMONDE_IP, CF_PROXY_OFF), 99 + // atproto 96 100 TXT("_atproto", "did=did:plc:dfl62fgb7wtjj3fcbb72naae"), 101 + A("nil", WOLUMONDE_IP, CF_PROXY_OFF), 97 102 TXT("_atproto.nil", "did=did:web:dawn.gaze.systems"), 98 - TXT("@", "v=spf1 -all"), 99 - TXT("_dmarc", "v=DMARC1; p=reject;"), 103 + TXT("_atproto.june", "did=did:plc:y3z2rr7q5rywu4fjn3fmfyop"), 104 + // june 105 + CNAME("june", "girlboss.ceo."), 106 + CNAME("*.june", "girlboss.ceo."), 107 + // email 108 + // verification 109 + TXT("@", "hosted-email-verify=zr04ylon", TTL(EMAIL_TTL)), 110 + 111 + MX("@", 10, "aspmx1.migadu.com.", TTL(EMAIL_TTL)), 112 + MX("@", 20, "aspmx2.migadu.com.", TTL(EMAIL_TTL)), 113 + 114 + // DKIM 115 + CNAME( 116 + "key1._domainkey", 117 + "key1.ptr.pet._domainkey.migadu.com.", 118 + TTL(EMAIL_TTL), 119 + ), 120 + CNAME( 121 + "key2._domainkey", 122 + "key2.ptr.pet._domainkey.migadu.com.", 123 + TTL(EMAIL_TTL), 124 + ), 125 + CNAME( 126 + "key3._domainkey", 127 + "key3.ptr.pet._domainkey.migadu.com.", 128 + TTL(EMAIL_TTL), 129 + ), 130 + 131 + // SPF 132 + TXT("@", "v=spf1 include:spf.migadu.com -all", TTL(EMAIL_TTL)), 133 + 134 + // DMARC 135 + TXT( 136 + "_dmarc", 137 + "v=DMARC1; p=reject; sp=reject; adkim=s; aspf=s; fo=1; pct=100; rua=mailto:infrastructure@ptr.pet; ruf=mailto:infrastructure@ptr.pet", 138 + TTL(EMAIL_TTL), 139 + ), 140 + 141 + // configuration 142 + TXT( 143 + "@", 144 + "mailconf=https://autoconfig.migadu.com/mail/config-v1.1.xml", 145 + TTL(EMAIL_TTL), 146 + ), 147 + 148 + // TLS reporting 149 + TXT( 150 + "_smtp._tls", 151 + "v=TLSRPTv1; rua=mailto:infrastructure@ptr.pet", 152 + TTL(EMAIL_TTL), 153 + ), 154 + 155 + // mta-sts 156 + A("mta-sts", WOLUMONDE_IP, CF_PROXY_OFF), 157 + TXT("_mta-sts", "v=STSv1; id=20250930T1945", TTL(EMAIL_TTL)), 158 + 159 + // autoconfig 160 + A("autoconfig", WOLUMONDE_IP, CF_PROXY_OFF), 161 + A("autodiscover", WOLUMONDE_IP, CF_PROXY_OFF), 162 + 163 + // autodiscovery 164 + SRV( 165 + "_autodiscover._tcp", 166 + 0, 167 + 1, 168 + 443, 169 + "autodiscover.migadu.com.", 170 + TTL(EMAIL_TTL), 171 + ), 172 + SRV("_submissions._tcp", 0, 1, 465, "smtp.migadu.com.", TTL(EMAIL_TTL)), 173 + SRV("_imaps._tcp", 0, 1, 993, "imap.migadu.com.", TTL(EMAIL_TTL)), 174 + SRV("_pop3s._tcp", 0, 1, 995, "pop.migadu.com.", TTL(EMAIL_TTL)), 100 175 );
+3 -1
hosts/wolumonde/modules/atproto.nix
··· 44 44 in 45 45 { 46 46 security.acme.certs."gaze.systems".extraDomainNames = [ 47 - dawnDid guestbookDid "drew.gaze.systems" 47 + dawnDid guestbookDid "drew.gaze.systems" "test.gaze.systems" 48 48 ]; 49 49 services.nginx.virtualHosts = { 50 + "test.gaze.systems" = mkHandleCfg "gaze.systems" "did:web:dawn.gaze.systems"; 50 51 "poor.dog" = mkHandleCfg "poor.dog" "did:plc:dfl62fgb7wtjj3fcbb72naae"; 51 52 "ptr.pet" = mkHandleCfg "ptr.pet" "did:plc:dfl62fgb7wtjj3fcbb72naae"; 52 53 "nil.ptr.pet" = mkHandleCfg "ptr.pet" "did:web:dawn.gaze.systems"; 54 + "june.ptr.pet" = mkHandleCfg "ptr.pet" "did:plc:y3z2rr7q5rywu4fjn3fmfyop"; 53 55 "drew.gaze.systems" = mkHandleCfg "gaze.systems" "did:plc:vo6ie3kd6xvpjlof4pnb2zzp"; 54 56 } 55 57 // (mkDidWebCfg dawnDid)
-4
hosts/wolumonde/modules/blog.nix
··· 79 79 services.nginx.virtualHosts."poor.dog" = { 80 80 locations."/".return = "301 https://gaze.systems$request_uri"; 81 81 }; 82 - 83 - services.nginx.virtualHosts."ptr.pet" = { 84 - locations."/".return = "301 https://gaze.systems$request_uri"; 85 - }; 86 82 }
+62
hosts/wolumonde/modules/email.nix
··· 1 + {pkgs, ...}: { 2 + security.acme.certs."ptr.pet".extraDomainNames = [ 3 + "mta-sts.ptr.pet" 4 + "autoconfig.ptr.pet" 5 + "autodiscover.ptr.pet" 6 + "test.ptr.pet" 7 + ]; 8 + services.nginx.virtualHosts."test.ptr.pet" = { 9 + useACMEHost = "ptr.pet"; 10 + quic = true; 11 + kTLS = true; 12 + forceSSL = true; 13 + }; 14 + services.nginx.virtualHosts."ptr.pet" = { 15 + useACMEHost = "ptr.pet"; 16 + quic = true; 17 + kTLS = true; 18 + forceSSL = true; 19 + locations."/mail/config-v1.1.xml" = { 20 + return = "301 https://autoconfig.migadu.com/mail/config-v1.1.xml"; 21 + }; 22 + locations."/Autodiscover/Autodiscover.xml" = { 23 + return = "301 https://autodiscover.migadu.com/Autodiscover/Autodiscover.xml"; 24 + }; 25 + }; 26 + services.nginx.virtualHosts."mta-sts.ptr.pet" = let 27 + file = pkgs.writeText "mta-sts.txt" '' 28 + version: STSv1 29 + mode: enforce 30 + mx: aspmx1.migadu.com 31 + mx: aspmx2.migadu.com 32 + max_age: 31557600 33 + ''; 34 + in { 35 + useACMEHost = "ptr.pet"; 36 + quic = true; 37 + kTLS = true; 38 + forceSSL = true; 39 + locations."=/.well-known/mta-sts.txt".extraConfig = '' 40 + alias ${file}; 41 + default_type text/plain; 42 + ''; 43 + }; 44 + services.nginx.virtualHosts."autoconfig.ptr.pet" = { 45 + useACMEHost = "ptr.pet"; 46 + quic = true; 47 + kTLS = true; 48 + forceSSL = true; 49 + locations."/" = { 50 + return = "301 https://autoconfig.migadu.com$request_uri"; 51 + }; 52 + }; 53 + services.nginx.virtualHosts."autodiscover.ptr.pet" = { 54 + useACMEHost = "ptr.pet"; 55 + quic = true; 56 + kTLS = true; 57 + forceSSL = true; 58 + locations."/" = { 59 + return = "301 https://autodiscover.migadu.com$request_uri"; 60 + }; 61 + }; 62 + }
+2 -1
secrets/dawn.gaze.systems.did
··· 7 7 "id": "did:web:dawn.gaze.systems", 8 8 "alsoKnownAs": [ 9 9 "at://nil.ptr.pet", 10 - "at://dawn.gaze.systems" 10 + "at://dawn.gaze.systems", 11 + "at://test.gaze.systems" 11 12 ], 12 13 "verificationMethod": [ 13 14 {