From 432798f1c70c072b5a03ce17e1756c860d513873 Mon Sep 17 00:00:00 2001 From: Manuel Hutter Date: Tue, 2 Jul 2024 14:46:44 +0200 Subject: [PATCH 1/3] Cleanup :broom: Signed-off-by: Manuel Hutter --- .envrc | 2 -- .github/workflows/preview.yml | 30 ------------------------------ .github/workflows/push.yml | 21 --------------------- .gitignore | 1 - README.txt | 12 ------------ creds.json | 11 ----------- dnsconfig.js | 22 ---------------------- flake.lock | 27 --------------------------- flake.nix | 13 ------------- renovate.json | 5 ----- zones/hutter.io.js | 16 ---------------- zones/izibizi.js | 10 ---------- zones/mhnet.app.js | 13 ------------- zones/mhnet.dev.js | 21 --------------------- zones/mhu.dev.js | 15 --------------- zones/mhutter.net.js | 9 --------- zones/neweden.tech.js | 3 --- zones/the-voice.cc.js | 10 ---------- 18 files changed, 241 deletions(-) delete mode 100644 .envrc delete mode 100644 .github/workflows/preview.yml delete mode 100644 .github/workflows/push.yml delete mode 100644 .gitignore delete mode 100644 README.txt delete mode 100644 creds.json delete mode 100644 dnsconfig.js delete mode 100644 flake.lock delete mode 100644 flake.nix delete mode 100644 renovate.json delete mode 100644 zones/hutter.io.js delete mode 100644 zones/izibizi.js delete mode 100644 zones/mhnet.app.js delete mode 100644 zones/mhnet.dev.js delete mode 100644 zones/mhu.dev.js delete mode 100644 zones/mhutter.net.js delete mode 100644 zones/neweden.tech.js delete mode 100644 zones/the-voice.cc.js diff --git a/.envrc b/.envrc deleted file mode 100644 index 3b11770..0000000 --- a/.envrc +++ /dev/null @@ -1,2 +0,0 @@ -use flake -dotenv diff --git a/.github/workflows/preview.yml b/.github/workflows/preview.yml deleted file mode 100644 index 098c75a..0000000 --- a/.github/workflows/preview.yml +++ /dev/null @@ -1,30 +0,0 @@ ---- -name: Preview - -on: pull_request - -jobs: - preview: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - - name: DNSControl preview - uses: koenrh/dnscontrol-action@v3 - id: dnscontrol_preview - env: - CLOUDFLARE_APITOKEN: ${{ secrets.CLOUDFLARE_APITOKEN }} - GANDI_APIKEY: ${{ secrets.GANDI_APIKEY }} - with: - args: preview - - - name: Preview pull request comment - uses: unsplash/comment-on-pr@master - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - msg: | - ``` - ${{ steps.dnscontrol_preview.outputs.preview_comment }} - ``` - check_for_duplicate_msg: true diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml deleted file mode 100644 index 1997a8f..0000000 --- a/.github/workflows/push.yml +++ /dev/null @@ -1,21 +0,0 @@ ---- -name: Push - -on: - push: - branches: - - main - -jobs: - push: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - - name: DNSControl push - uses: koenrh/dnscontrol-action@v3 - env: - CLOUDFLARE_APITOKEN: ${{ secrets.CLOUDFLARE_APITOKEN }} - GANDI_APIKEY: ${{ secrets.GANDI_APIKEY }} - with: - args: push diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 4c49bd7..0000000 --- a/.gitignore +++ /dev/null @@ -1 +0,0 @@ -.env diff --git a/README.txt b/README.txt deleted file mode 100644 index ae69fef..0000000 --- a/README.txt +++ /dev/null @@ -1,12 +0,0 @@ -DNS config -========== - -Powered by DNSControl: https://dnscontrol.org/ - -Documentation -------------- - -Language Reference: https://docs.dnscontrol.org/language-reference/js - -Providers: - Cloudflare: https://docs.dnscontrol.org/service-providers/providers/cloudflareapi diff --git a/creds.json b/creds.json deleted file mode 100644 index 0b24c24..0000000 --- a/creds.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "porkbun": { - "TYPE": "PORKBUN", - "api_key": "$PORKBUN_API_KEY", - "secret_key": "$PORKBUN_SECRET_KEY" - }, - "cloudflare": { - "TYPE": "CLOUDFLAREAPI", - "apitoken": "$CLOUDFLARE_APITOKEN" - } -} diff --git a/dnsconfig.js b/dnsconfig.js deleted file mode 100644 index 1b14924..0000000 --- a/dnsconfig.js +++ /dev/null @@ -1,22 +0,0 @@ -// Providers -var REG_NONE = NewRegistrar('none'); -var DNS_CF = NewDnsProvider('cloudflare', {'manage_redirects': true}); -var DNS_PB = NewDnsProvider("porkbun"); -DEFAULTS( - DnsProvider(DNS_CF), - CF_PROXY_DEFAULT_OFF -); - -// Templates -var GANDI_MX = [ - MX('@', 10, 'spool.mail.gandi.net.'), - MX('@', 50, 'fb.mail.gandi.net.'), - TXT('@', 'v=spf1 include:_mailcust.gandi.net ?all'), -]; - -// IPs -var RHEA_A = '116.202.233.38'; -var RHEA_AAAA = '2a01:4f8:241:4c27::1'; - -// Zones -require_glob('./zones/'); diff --git a/flake.lock b/flake.lock deleted file mode 100644 index 6cde8df..0000000 --- a/flake.lock +++ /dev/null @@ -1,27 +0,0 @@ -{ - "nodes": { - "nixpkgs": { - "locked": { - "lastModified": 1703961334, - "narHash": "sha256-M1mV/Cq+pgjk0rt6VxoyyD+O8cOUiai8t9Q6Yyq4noY=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "b0d36bd0a420ecee3bc916c91886caca87c894e9", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "root": { - "inputs": { - "nixpkgs": "nixpkgs" - } - } - }, - "root": "root", - "version": 7 -} diff --git a/flake.nix b/flake.nix deleted file mode 100644 index 41efffc..0000000 --- a/flake.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ - inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; - outputs = { self, nixpkgs }: - let - system = "x86_64-linux"; - pkgs = nixpkgs.legacyPackages.${system}; - in - { - devShell."${system}" = pkgs.mkShell { - packages = with pkgs; [ dnscontrol ]; - }; - }; -} diff --git a/renovate.json b/renovate.json deleted file mode 100644 index f45d8f1..0000000 --- a/renovate.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "extends": [ - "config:base" - ] -} diff --git a/zones/hutter.io.js b/zones/hutter.io.js deleted file mode 100644 index db293fa..0000000 --- a/zones/hutter.io.js +++ /dev/null @@ -1,16 +0,0 @@ -D('hutter.io', REG_NONE, - ALIAS('@', 'mhu-dev.pages.dev.', CF_PROXY_ON), - CNAME('www', '@', CF_PROXY_ON), - - // Mail - MX('@', 10, 'in1-smtp.messagingengine.com.'), - MX('@', 20, 'in2-smtp.messagingengine.com.'), - CNAME('fm1._domainkey', 'fm1.hutter.io.dkim.fmhosted.com.'), - CNAME('fm2._domainkey', 'fm2.hutter.io.dkim.fmhosted.com.'), - CNAME('fm3._domainkey', 'fm3.hutter.io.dkim.fmhosted.com.'), - TXT('@', 'v=spf1 include:spf.messagingengine.com ?all'), - - // Redirects - CF_REDIRECT('hutter.io/*', 'https://mhu.dev/$1'), - CF_REDIRECT('www.hutter.io/*', 'https://mhu.dev/$1') -); diff --git a/zones/izibizi.js b/zones/izibizi.js deleted file mode 100644 index 447a428..0000000 --- a/zones/izibizi.js +++ /dev/null @@ -1,10 +0,0 @@ -D('izibizi.ch', REG_NONE, - ALIAS('@', 'web.jimdosite.com.', CF_PROXY_ON), - CNAME('www', 'web.jimdosite.com.'), - - // Mail setup - GANDI_MX, - - // Redirects - CF_REDIRECT('izibizi.ch/*', 'https://www.izibizi.ch/$1') -); diff --git a/zones/mhnet.app.js b/zones/mhnet.app.js deleted file mode 100644 index b23980b..0000000 --- a/zones/mhnet.app.js +++ /dev/null @@ -1,13 +0,0 @@ -D('mhnet.app', REG_NONE, - A('*', RHEA_A), - AAAA('*', RHEA_AAAA), - - // Sendgrid - CNAME('em6609', 'u22452480.wl231.sendgrid.net.'), - CNAME('s1._domainkey', 's1.domainkey.u22452480.wl231.sendgrid.net.'), - CNAME('s2._domainkey', 's2.domainkey.u22452480.wl231.sendgrid.net.'), - TXT('_dmarc', 'v=DMARC1; p=none;'), - - // CAA - CAA('@', 'issue', 'letsencrypt.org') -); diff --git a/zones/mhnet.dev.js b/zones/mhnet.dev.js deleted file mode 100644 index fd7b4ca..0000000 --- a/zones/mhnet.dev.js +++ /dev/null @@ -1,21 +0,0 @@ -D('mhnet.dev', REG_NONE, - // Rhea - A('rhea', RHEA_A), - AAAA('rhea', RHEA_AAAA), - - // Testing - CNAME('appuio', 'cname.cloudscale-lpg-2.appuio.cloud.'), - - // Sendgrid - CNAME('em5597', 'u22452480.wl231.sendgrid.net.'), - CNAME('s1._domainkey', 's1.domainkey.u22452480.wl231.sendgrid.net.'), - CNAME('s2._domainkey', 's2.domainkey.u22452480.wl231.sendgrid.net.'), - - // Mail - TXT('_dmarc', 'v=DMARC1; p=reject; sp=reject; adkim=s; aspf=s;'), - TXT('*._domainkey', 'v=DKIM1; p='), - TXT('@', 'v=spf1 -all'), - - // CAA - CAA('@', 'issue', 'letsencrypt.org') -); diff --git a/zones/mhu.dev.js b/zones/mhu.dev.js deleted file mode 100644 index c0cecf4..0000000 --- a/zones/mhu.dev.js +++ /dev/null @@ -1,15 +0,0 @@ -D('mhu.dev', REG_NONE, - ALIAS('@', 'mhu-dev.pages.dev.', CF_PROXY_ON), - CNAME('www', '@', CF_PROXY_ON), - - // K3s cluster - A('*', '142.132.241.164'), - AAAA('*', '2a01:4f8:c01e:373::1'), - - - // Verifications - TXT('@', 'keybase-site-verification=botR69lNhVxiuwNAtCVRefDHgZauZaH7XdFfTIlnZkA'), - - // Redirects - CF_REDIRECT('www.mhu.dev/*', 'https://mhu.dev/$1') -); diff --git a/zones/mhutter.net.js b/zones/mhutter.net.js deleted file mode 100644 index 6830411..0000000 --- a/zones/mhutter.net.js +++ /dev/null @@ -1,9 +0,0 @@ -D('mhutter.net', REG_NONE, DnsProvider(DNS_PB), - // Mail - MX('@', 10, 'in1-smtp.messagingengine.com.'), - MX('@', 20, 'in2-smtp.messagingengine.com.'), - CNAME('fm1._domainkey', 'fm1.mhutter.net.dkim.fmhosted.com.'), - CNAME('fm2._domainkey', 'fm2.mhutter.net.dkim.fmhosted.com.'), - CNAME('fm3._domainkey', 'fm3.mhutter.net.dkim.fmhosted.com.'), - TXT('@', 'v=spf1 include:spf.messagingengine.com ?all') -); diff --git a/zones/neweden.tech.js b/zones/neweden.tech.js deleted file mode 100644 index 9d95f46..0000000 --- a/zones/neweden.tech.js +++ /dev/null @@ -1,3 +0,0 @@ -D('neweden.tech', REG_NONE, - CAA('@', 'issue', 'letsencrypt.org') -); diff --git a/zones/the-voice.cc.js b/zones/the-voice.cc.js deleted file mode 100644 index 11f88db..0000000 --- a/zones/the-voice.cc.js +++ /dev/null @@ -1,10 +0,0 @@ -D('the-voice.cc', REG_NONE, - ALIAS('@', 'the-voice.pages.dev.', CF_PROXY_ON), - CNAME('www', '@', CF_PROXY_ON), - - // Mail setup - GANDI_MX, - - // Redirects - CF_REDIRECT('www.the-voice.cc/*', 'https://the-voice.cc/$1') -); From 281c34fdf78266baf1f87bffa418a3315bdb6f5c Mon Sep 17 00:00:00 2001 From: Manuel Hutter Date: Tue, 2 Jul 2024 16:32:06 +0200 Subject: [PATCH 2/3] Boilerplate :seedling: Signed-off-by: Manuel Hutter --- .envrc | 2 ++ .github/workflows/preview.yml | 31 +++++++++++++++++++++++++++++++ .github/workflows/push.yml | 23 +++++++++++++++++++++++ .gitignore | 1 + .prettierrc.toml | 6 ++++++ README.txt | 13 +++++++++++++ creds.json | 11 +++++++++++ flake.lock | 27 +++++++++++++++++++++++++++ flake.nix | 15 +++++++++++++++ renovate.json | 4 ++++ 10 files changed, 133 insertions(+) create mode 100644 .envrc create mode 100644 .github/workflows/preview.yml create mode 100644 .github/workflows/push.yml create mode 100644 .gitignore create mode 100644 .prettierrc.toml create mode 100644 README.txt create mode 100644 creds.json create mode 100644 flake.lock create mode 100644 flake.nix create mode 100644 renovate.json diff --git a/.envrc b/.envrc new file mode 100644 index 0000000..3b11770 --- /dev/null +++ b/.envrc @@ -0,0 +1,2 @@ +use flake +dotenv diff --git a/.github/workflows/preview.yml b/.github/workflows/preview.yml new file mode 100644 index 0000000..3de975a --- /dev/null +++ b/.github/workflows/preview.yml @@ -0,0 +1,31 @@ +--- +name: Preview + +on: pull_request + +jobs: + preview: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: DNSControl preview + uses: wblondel/dnscontrol-action@v4.11 + id: dnscontrol_preview + env: + CLOUDFLARE_APITOKEN: ${{ secrets.CLOUDFLARE_APITOKEN }} + PORKBUN_API_KEY: ${{ secrets.PORKBUN_API_KEY }} + PORKBUN_SECRET_KEY: ${{ secrets.PORKBUN_SECRET_KEY }} + with: + args: preview + + - name: Preview pull request comment + uses: unsplash/comment-on-pr@master + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + msg: | + ``` + ${{ steps.dnscontrol_preview.outputs.preview_comment }} + ``` + check_for_duplicate_msg: true diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml new file mode 100644 index 0000000..07ea83e --- /dev/null +++ b/.github/workflows/push.yml @@ -0,0 +1,23 @@ +--- +name: Push + +on: + push: + branches: + - main + +jobs: + push: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: DNSControl push + uses: wblondel/dnscontrol-action@v4.11 + id: dnscontrol_preview + env: + CLOUDFLARE_APITOKEN: ${{ secrets.CLOUDFLARE_APITOKEN }} + PORKBUN_API_KEY: ${{ secrets.PORKBUN_API_KEY }} + PORKBUN_SECRET_KEY: ${{ secrets.PORKBUN_SECRET_KEY }} + with: + args: push diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4c49bd7 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.env diff --git a/.prettierrc.toml b/.prettierrc.toml new file mode 100644 index 0000000..c5a66aa --- /dev/null +++ b/.prettierrc.toml @@ -0,0 +1,6 @@ +tabWidth = 2 +singleQuote = true + +# DNSControl specifics +trailingComma = "none" +singleAttributePerLine = false diff --git a/README.txt b/README.txt new file mode 100644 index 0000000..bf5058c --- /dev/null +++ b/README.txt @@ -0,0 +1,13 @@ +DNS config +========== + +Powered by DNSControl: https://dnscontrol.org/ + +Documentation +------------- + +Language Reference: https://docs.dnscontrol.org/language-reference/js + +Providers: + Cloudflare: https://docs.dnscontrol.org/provider/cloudflareapi + Porkbun: https://docs.dnscontrol.org/provider/porkbun diff --git a/creds.json b/creds.json new file mode 100644 index 0000000..1976fe9 --- /dev/null +++ b/creds.json @@ -0,0 +1,11 @@ +{ + "cloudflare": { + "TYPE": "CLOUDFLAREAPI", + "apitoken": "$CLOUDFLARE_APITOKEN" + }, + "porkbun": { + "TYPE": "PORKBUN", + "api_key": "$PORKBUN_API_KEY", + "secret_key": "$PORKBUN_SECRET_KEY" + } +} diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..b2b0c9f --- /dev/null +++ b/flake.lock @@ -0,0 +1,27 @@ +{ + "nodes": { + "nixpkgs": { + "locked": { + "lastModified": 1718754859, + "narHash": "sha256-c7ugp8g93fkH+Eql7xICIOxQMGuYofKuInRUSphvlQs=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "78fde8eb6016e101554f01899f07f2ff3bfd6c55", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "78fde8eb6016e101554f01899f07f2ff3bfd6c55", + "type": "github" + } + }, + "root": { + "inputs": { + "nixpkgs": "nixpkgs" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..63d1f3a --- /dev/null +++ b/flake.nix @@ -0,0 +1,15 @@ +{ + # Lock dnscontrol to < v4.12 until a fix for #3016 is released (v4.12.2?) + # https://github.com/StackExchange/dnscontrol/issues/3016 + inputs.nixpkgs.url = "github:NixOS/nixpkgs?rev=78fde8eb6016e101554f01899f07f2ff3bfd6c55"; + outputs = { self, nixpkgs }: + let + system = "x86_64-linux"; + pkgs = nixpkgs.legacyPackages.${system}; + in + { + devShell."${system}" = pkgs.mkShell { + packages = with pkgs; [ dnscontrol ]; + }; + }; +} diff --git a/renovate.json b/renovate.json new file mode 100644 index 0000000..838cb30 --- /dev/null +++ b/renovate.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "extends": ["local>mhutter/.github:renovate-config", ":automergePatch"] +} From 337961d3e2288dc81ae4ba511eee27559134fcf0 Mon Sep 17 00:00:00 2001 From: Manuel Hutter Date: Tue, 2 Jul 2024 17:37:44 +0200 Subject: [PATCH 3/3] Migrate zones already on Porkbun Signed-off-by: Manuel Hutter --- dnsconfig.js | 61 +++++++++++++++++++++++++++++++++++++++++++ zones/hutter.io.js | 16 ++++++++++++ zones/mhnet.app.js | 13 +++++++++ zones/mhnet.dev.js | 17 ++++++++++++ zones/mhu.dev.js | 19 ++++++++++++++ zones/mhutter.net.js | 16 ++++++++++++ zones/the-voice.cc.js | 16 ++++++++++++ 7 files changed, 158 insertions(+) create mode 100644 dnsconfig.js create mode 100644 zones/hutter.io.js create mode 100644 zones/mhnet.app.js create mode 100644 zones/mhnet.dev.js create mode 100644 zones/mhu.dev.js create mode 100644 zones/mhutter.net.js create mode 100644 zones/the-voice.cc.js diff --git a/dnsconfig.js b/dnsconfig.js new file mode 100644 index 0000000..34a6c30 --- /dev/null +++ b/dnsconfig.js @@ -0,0 +1,61 @@ +// Registrars +var REG_NONE = NewRegistrar('none'); +var REG_PORKBUN = NewRegistrar('porkbun'); + +// DNS providers +var DNS_CLOUDFLARE = NewDnsProvider('cloudflare', { manage_redirects: true }); +var DNS_PORKBUN = NewDnsProvider('porkbun'); + +// Helpers +var RHEA_A = '116.202.233.38'; +var RHEA_AAAA = '2a01:4f8:241:4c27::1'; + +function PROTONMAIL(verification, domainkey) { + return [ + // Verification + TXT('@', 'protonmail-verification=' + verification), + + // MX records + MX('@', 10, 'mail.protonmail.ch.'), + MX('@', 20, 'mailsec.protonmail.ch.'), + + // SPF + TXT('@', 'v=spf1 include:_spf.protonmail.ch ~all'), + + // DKIM + CNAME( + 'protonmail._domainkey', + 'protonmail.domainkey.' + domainkey + '.domains.proton.ch.' + ), + CNAME( + 'protonmail2._domainkey', + 'protonmail2.domainkey.' + domainkey + '.domains.proton.ch.' + ), + CNAME( + 'protonmail3._domainkey', + 'protonmail3.domainkey.' + domainkey + '.domains.proton.ch.' + ), + + // DMARC + TXT('_dmarc', 'v=DMARC1; p=quarantine') + ]; +} + +function SENDGRID(domain) { + return [ + // Verification + CNAME(domain, 'u22452480.wl231.sendgrid.net.'), + + // SPF + TXT('@', 'v=spf1 include:sendgrid.net -all'), + + // DKIM + CNAME('s1._domainkey', 's1.domainkey.u22452480.wl231.sendgrid.net.'), + CNAME('s2._domainkey', 's2.domainkey.u22452480.wl231.sendgrid.net.'), + + // DMARC + TXT('_dmarc', 'v=DMARC1; p=quarantine;') + ]; +} + +require_glob('./zones/'); diff --git a/zones/hutter.io.js b/zones/hutter.io.js new file mode 100644 index 0000000..e9e6a53 --- /dev/null +++ b/zones/hutter.io.js @@ -0,0 +1,16 @@ +D( + 'hutter.io', + REG_PORKBUN, + DnsProvider(DNS_PORKBUN), + + // Mail + PROTONMAIL( + '4772488bb32d7e1f190fcaf885ba14658ba34612', + 'dicpqgsjgs3pqp6vlr6lau3zio23chtdzcgdmy4bxn7krq7d6saoq' + ), + + // Web redirect + CNAME('www', 'mhu.dev.'), + + END +); diff --git a/zones/mhnet.app.js b/zones/mhnet.app.js new file mode 100644 index 0000000..10e0edf --- /dev/null +++ b/zones/mhnet.app.js @@ -0,0 +1,13 @@ +D( + 'mhnet.app', + REG_PORKBUN, + DnsProvider(DNS_PORKBUN), + + // Presets + SENDGRID('em6609'), + + A('*', RHEA_A), + AAAA('*', RHEA_AAAA), + + END +); diff --git a/zones/mhnet.dev.js b/zones/mhnet.dev.js new file mode 100644 index 0000000..6478d8e --- /dev/null +++ b/zones/mhnet.dev.js @@ -0,0 +1,17 @@ +D( + 'mhnet.dev', + REG_PORKBUN, + DnsProvider(DNS_PORKBUN), + + // Presets + SENDGRID('em5597'), + + A('rhea', RHEA_A), + AAAA('rhea', RHEA_AAAA), + + // k3s LB + A('*', '49.12.21.173'), + AAAA('*', '2a01:4f8:c01e:2b8::1'), + + END +); diff --git a/zones/mhu.dev.js b/zones/mhu.dev.js new file mode 100644 index 0000000..8989568 --- /dev/null +++ b/zones/mhu.dev.js @@ -0,0 +1,19 @@ +D( + 'mhu.dev', + REG_NONE, + DnsProvider(DNS_CLOUDFLARE), + + ALIAS('@', 'mhu-dev.pages.dev.', CF_PROXY_ON), + CNAME('www', '@', CF_PROXY_ON), + + // Verifications + TXT( + '@', + 'keybase-site-verification=botR69lNhVxiuwNAtCVRefDHgZauZaH7XdFfTIlnZkA' + ), + + // Redirects + CF_REDIRECT('www.mhu.dev/*', 'https://mhu.dev/$1'), + + END +); diff --git a/zones/mhutter.net.js b/zones/mhutter.net.js new file mode 100644 index 0000000..ff14b04 --- /dev/null +++ b/zones/mhutter.net.js @@ -0,0 +1,16 @@ +D( + 'mhutter.net', + REG_PORKBUN, + DnsProvider(DNS_PORKBUN), + + // Mail + PROTONMAIL( + '5b98aa6e07dafc70dcb79311e037f09f2a00da72', + 'dq5m6searbzpjcthudg7hjzlt7tch4rltfijorhafkqbvdujyky3a' + ), + + // Web redirect + CNAME('www', 'mhu.dev.'), + + END +); diff --git a/zones/the-voice.cc.js b/zones/the-voice.cc.js new file mode 100644 index 0000000..7ea0fa2 --- /dev/null +++ b/zones/the-voice.cc.js @@ -0,0 +1,16 @@ +D( + 'the-voice.cc', + REG_NONE, + DnsProvider(DNS_CLOUDFLARE), + + ALIAS('@', 'the-voice.pages.dev.', CF_PROXY_ON), + CNAME('www', '@', CF_PROXY_ON), + + // Mail setup + MX('@', 1, 'fwd1.porkbun.com.'), + MX('@', 1, 'fwd2.porkbun.com.'), + TXT('@', 'v=spf1 include:_spf.porkbun.com ~all'), + + // Redirects + CF_REDIRECT('www.the-voice.cc/*', 'https://the-voice.cc/$1') +);