From 5c166a6ab6734210b3a050c4534a9f5b056469af Mon Sep 17 00:00:00 2001 From: Quentin McGaw Date: Sun, 28 Jan 2024 10:29:31 +0000 Subject: [PATCH] hotfix(markdown): fix links and add link check config --- .devcontainer/README.md | 2 +- .github/workflows/markdown.yml | 1 + .github/workflows/mlc-config.json | 32 +++++++++++++++++++ README.md | 13 +++----- docs/cloudflare.md | 2 +- docs/contributing.md | 2 +- docs/duckdns.md | 4 +-- docs/godaddy.md | 2 +- docs/linode.md | 2 +- docs/namecheap.md | 12 +++---- .../provider/providers/duckdns/provider.go | 2 +- .../provider/providers/godaddy/provider.go | 2 +- k8s/README.md | 4 +-- 13 files changed, 55 insertions(+), 25 deletions(-) create mode 100644 .github/workflows/mlc-config.json diff --git a/.devcontainer/README.md b/.devcontainer/README.md index f14390ac6..ddb307c6e 100644 --- a/.devcontainer/README.md +++ b/.devcontainer/README.md @@ -47,7 +47,7 @@ You can customize **settings** and **extensions** in the [devcontainer.json](dev ### Entrypoint script -You can bind mount a shell script to `/root/.welcome.sh` to replace the [current welcome script](shell/.welcome.sh). +You can bind mount a shell script to `/root/.welcome.sh` to replace the [current welcome script](https://github.com/qdm12/basedevcontainer/blob/master/shell/.welcome.sh). ### Publish a port diff --git a/.github/workflows/markdown.yml b/.github/workflows/markdown.yml index d5d180281..68260c860 100644 --- a/.github/workflows/markdown.yml +++ b/.github/workflows/markdown.yml @@ -35,6 +35,7 @@ jobs: - uses: gaurav-nelson/github-action-markdown-link-check@v1 with: use-quiet-mode: yes + config-file: .github/workflows/mlc-config.json - uses: peter-evans/dockerhub-description@v3 if: github.repository == 'qdm12/ddns-updater' && github.event_name == 'push' diff --git a/.github/workflows/mlc-config.json b/.github/workflows/mlc-config.json new file mode 100644 index 000000000..acc8eede3 --- /dev/null +++ b/.github/workflows/mlc-config.json @@ -0,0 +1,32 @@ +{ + "ignorePatterns": [ + { + "pattern": "^http://localhost" + }, + { + "pattern": "^https://api6.ipify.org$" + }, + { + "pattern": "^http://ip1.dynupdate6.no-ip.com$" + }, + { + "pattern": "^https://ap.www.namecheap.com/Domains/DomainControlPanel/example.com/advancedns$" + }, + { + "pattern": "^https://www.godaddy.com" + }, + { + "pattern": "^https://www.namecheap.com" + }, + { + "pattern": "https://www.linode.com/docs/products/tools/api/guides/manage-api-tokens/" + } + ], + "timeout": "5s", + "retryOn429": false, + "fallbackRetryDelay": "30s", + "aliveStatusCodes": [ + 200, + 206 + ] +} \ No newline at end of file diff --git a/README.md b/README.md index 765c9a180..31b64212d 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,7 @@ Light container updating DNS A and/or AAAA records periodically for multiple DNS ![GitHub repo size](https://img.shields.io/github/repo-size/qdm12/ddns-updater) ![Go version](https://img.shields.io/github/go-mod/go-version/qdm12/ddns-updater) -[![MIT](https://img.shields.io/github/license/qdm12/ddns-updater)](https://github.com/qdm12/ddns-updater/master/LICENSE) +[![MIT](https://img.shields.io/github/license/qdm12/ddns-updater)](https://github.com/qdm12/ddns-updater/blob/master/LICENSE) ![Visitors count](https://visitor-badge.laobi.icu/badge?page_id=ddns-updater.readme) ## Features @@ -176,7 +176,7 @@ Check the documentation for your DNS provider: - [DDNSS.de](https://github.com/qdm12/ddns-updater/blob/master/docs/ddnss.de.md) - [deSEC](https://github.com/qdm12/ddns-updater/blob/master/docs/desec.md) - [DigitalOcean](https://github.com/qdm12/ddns-updater/blob/master/docs/digitalocean.md) -- [DD24](https://github.com/qdm12/ddns-updater/blob/master/docs/domaindiscount24.md) +- [DD24](https://github.com/qdm12/ddns-updater/blob/master/docs/dd24.md) - [DonDominio](https://github.com/qdm12/ddns-updater/blob/master/docs/dondominio.md) - [DNSOMatic](https://github.com/qdm12/ddns-updater/blob/master/docs/dnsomatic.md) - [DNSPod](https://github.com/qdm12/ddns-updater/blob/master/docs/dnspod.md) @@ -243,7 +243,7 @@ Note that: | `RESOLVER_ADDRESS` | Your network DNS | A plaintext DNS address to use, such as `1.1.1.1:53`. This is useful for split dns, see [#389](https://github.com/qdm12/ddns-updater/issues/389) | | `LOG_LEVEL` | `info` | Level of logging, `debug`, `info`, `warning` or `error` | | `LOG_CALLER` | `hidden` | Show caller per log line, `hidden` or `short` | -| `SHOUTRRR_ADDRESSES` | | (optional) Comma separated list of [Shoutrrr addresses](https://containrrr.dev/shoutrrr/0.8/services/overview/) (notification services) | +| `SHOUTRRR_ADDRESSES` | | (optional) Comma separated list of [Shoutrrr addresses](https://containrrr.dev/shoutrrr/v0.8/services/overview/) (notification services) | | `SHOUTRRR_DEFAULT_TITLE` | `DDNS Updater` | Default title for Shoutrrr notifications | | `TZ` | | Timezone to have accurate times, i.e. `America/Montreal` | @@ -318,7 +318,7 @@ We could do an API call to get the record IP address every period, but that woul ## Testing -- The automated healthcheck verifies all your records are up to date [using DNS lookups](https://github.com/qdm12/ddns-updater/blob/master/internal/healthcheck/healthcheck.go#L15) +- The automated healthcheck verifies all your records are up to date [using DNS lookups](https://github.com/qdm12/ddns-updater/blob/master/internal/health/check.go#L42) - You can also manually check, by: 1. Going to your DNS management webpage 1. Setting your record to `127.0.0.1` @@ -352,7 +352,7 @@ You can use optional build arguments with `--build-arg KEY=VALUE` from the table ## License -This repository is under an [MIT license](https://github.com/qdm12/ddns-updater/master/license) +This repository is under an [MIT license](https://github.com/qdm12/ddns-updater/blob/master/LICENSE) ## Used in external projects @@ -362,7 +362,4 @@ This repository is under an [MIT license](https://github.com/qdm12/ddns-updater/ Sponsor me on [Github](https://github.com/sponsors/qdm12) or donate to [paypal.me/qmcgaw](https://www.paypal.me/qmcgaw) -[![https://github.com/sponsors/qdm12](https://raw.githubusercontent.com/qdm12/private-internet-access-docker/master/doc/sponsors.jpg)](https://github.com/sponsors/qdm12) -[![https://www.paypal.me/qmcgaw](https://raw.githubusercontent.com/qdm12/private-internet-access-docker/master/doc/paypal.jpg)](https://www.paypal.me/qmcgaw) - Many thanks to J. Famiglietti for supporting me financially 🥇👍 diff --git a/docs/cloudflare.md b/docs/cloudflare.md index c25f18113..e50262d16 100644 --- a/docs/cloudflare.md +++ b/docs/cloudflare.md @@ -27,7 +27,7 @@ - `"host"` is your host and can be `"@"`, a subdomain or the wildcard `"*"`. See [this issue comment for context](https://github.com/qdm12/ddns-updater/issues/243#issuecomment-928313949). This is left as is for compatibility. - `"ttl"` integer value for record TTL in seconds (specify 1 for automatic) -- One of the following ([how to find API keys](https://support.cloudflare.com/hc/en-us/articles/200167836-Where-do-I-find-my-Cloudflare-API-key-)): +- One of the following ([how to find API keys](https://developers.cloudflare.com/fundamentals/api/get-started/)): - Email `"email"` and Global API Key `"key"` - User service key `"user_service_key"` - API Token `"token"`, configured with DNS edit permissions for your DNS name's zone diff --git a/docs/contributing.md b/docs/contributing.md index 04224104a..2fabf612e 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -29,7 +29,7 @@ go mod download And finally install [golangci-lint](https://github.com/golangci/golangci-lint#install). -You might want to use an editor such as [Visual Studio Code](https://code.visualstudio.com/download) with the [Go extension](https://code.visualstudio.com/docs/languages/go). Working settings are already in [.vscode/settings.json](../.vscode/settings.json). +You might want to use an editor such as [Visual Studio Code](https://code.visualstudio.com/download) with the [Go extension](https://code.visualstudio.com/docs/languages/go). ## Build and Run diff --git a/docs/duckdns.md b/docs/duckdns.md index 2accbe115..46f5afe6b 100644 --- a/docs/duckdns.md +++ b/docs/duckdns.md @@ -30,6 +30,6 @@ ## Domain setup -[![DuckDNS Website](../readme/duckdns.png)](https://duckdns.org) +[![DuckDNS Website](../readme/duckdns.png)](https://www.duckdns.org/) -*See the [duckdns website](https://duckdns.org)* +*See the [duckdns website](https://www.duckdns.org/)* diff --git a/docs/godaddy.md b/docs/godaddy.md index 0bd52a50b..dd776fa35 100644 --- a/docs/godaddy.md +++ b/docs/godaddy.md @@ -32,7 +32,7 @@ ## Domain setup -[![GoDaddy Website](../readme/godaddy.png)](https://godaddy.com) +[![GoDaddy Website](../readme/godaddy.png)](https://www.godaddy.com/en-ie) 1. Login to [https://developer.godaddy.com/keys](https://developer.godaddy.com/keys/) with your account credentials. diff --git a/docs/linode.md b/docs/linode.md index 1dc115ae1..d58ef6a61 100644 --- a/docs/linode.md +++ b/docs/linode.md @@ -30,5 +30,5 @@ ## Domain setup -1. Create a personal access token with `domains` set, with read and write privileges, ideally that never expires. You can refer to [@AnujRNair's comment](https://github.com/qdm12/ddns-updater/pull/144#discussion_r559292678) and to [Linode's guide](https://www.linode.com/docs/products/tools/cloud-manager/guides/cloud-api-keys). +1. Create a personal access token with `domains` set, with read and write privileges, ideally that never expires. You can refer to [@AnujRNair's comment](https://github.com/qdm12/ddns-updater/pull/144#discussion_r559292678) and to [Linode's guide](https://www.linode.com/docs/products/tools/api/guides/manage-api-tokens/). 1. The program will create the A or AAAA record for you if it doesn't exist already. diff --git a/docs/namecheap.md b/docs/namecheap.md index 02bb3095a..47273d88b 100644 --- a/docs/namecheap.md +++ b/docs/namecheap.md @@ -32,26 +32,26 @@ Note that Namecheap only supports ipv4 addresses for now. ## Domain setup -[![Namecheap Website](../readme/namecheap.png)](https://www.namecheap.com) +[![Namecheap Website](../readme/namecheap.png)](https://www.namecheap.com/) 1. Create a Namecheap account and buy a domain name - *example.com* as an example -1. Login to Namecheap at [https://www.namecheap.com/myaccount/login.aspx](https://www.namecheap.com/myaccount/login.aspx) +1. Login to Namecheap at [https://www.namecheap.com/myaccount/login/](https://www.namecheap.com/myaccount/login/) For **each domain name** you want to add, replace *example.com* in the following link with your domain name and go to [https://ap.www.namecheap.com/Domains/DomainControlPanel/**example.com**/advancedns](https://ap.www.namecheap.com/Domains/DomainControlPanel/example.com/advancedns) 1. For each host you want to add (if you don't know, create one record with the host set to `*`): 1. In the *HOST RECORDS* section, click on *ADD NEW RECORD* - ![https://ap.www.namecheap.com/Domains/DomainControlPanel/mealracle.com/advancedns](../readme/namecheap1.png) + ![https://ap.www.namecheap.com/Domains/DomainControlPanel/example.com/advancedns](../readme/namecheap1.png) 1. Select the following settings and create the *A + Dynamic DNS Record*: - ![https://ap.www.namecheap.com/Domains/DomainControlPanel/mealracle.com/advancedns](../readme/namecheap2.png) + ![https://ap.www.namecheap.com/Domains/DomainControlPanel/example.com/advancedns](../readme/namecheap2.png) 1. Scroll down and turn on the switch for *DYNAMIC DNS* - ![https://ap.www.namecheap.com/Domains/DomainControlPanel/mealracle.com/advancedns](../readme/namecheap3.png) + ![https://ap.www.namecheap.com/Domains/DomainControlPanel/example.com/advancedns](../readme/namecheap3.png) 1. The Dynamic DNS Password will appear, which is `0e4512a9c45a4fe88313bcc2234bf547` in this example. - ![https://ap.www.namecheap.com/Domains/DomainControlPanel/mealracle.com/advancedns](../readme/namecheap4.png) + ![https://ap.www.namecheap.com/Domains/DomainControlPanel/example.com/advancedns](../readme/namecheap4.png) diff --git a/internal/provider/providers/duckdns/provider.go b/internal/provider/providers/duckdns/provider.go index 17d159107..7006268e1 100644 --- a/internal/provider/providers/duckdns/provider.go +++ b/internal/provider/providers/duckdns/provider.go @@ -92,7 +92,7 @@ func (p *Provider) HTML() models.HTMLRow { return models.HTMLRow{ Domain: fmt.Sprintf("%s", p.BuildDomainName(), p.BuildDomainName()), Host: p.Host(), - Provider: "DuckDNS", + Provider: "DuckDNS", IPVersion: p.ipVersion.String(), } } diff --git a/internal/provider/providers/godaddy/provider.go b/internal/provider/providers/godaddy/provider.go index aa1b5cec4..7a4574e43 100644 --- a/internal/provider/providers/godaddy/provider.go +++ b/internal/provider/providers/godaddy/provider.go @@ -92,7 +92,7 @@ func (p *Provider) HTML() models.HTMLRow { return models.HTMLRow{ Domain: fmt.Sprintf("%s", p.BuildDomainName(), p.BuildDomainName()), Host: p.Host(), - Provider: "GoDaddy", + Provider: "GoDaddy", IPVersion: p.ipVersion.String(), } } diff --git a/k8s/README.md b/k8s/README.md index ee196ee31..b8ffa6c75 100644 --- a/k8s/README.md +++ b/k8s/README.md @@ -13,7 +13,7 @@ The Manifests have additional [Kustomize](https://kustomize.io/) overlays, which curl -O https://raw.githubusercontent.com/qdm12/ddns-updater/master/k8s/base/kustomization.yaml ``` -1. Modify `secret-config.yaml` as described in the [project readme](../README#configuration) +1. Modify `secret-config.yaml` as described in the [project readme](../README.md#configuration) 1. Use [kubectl](https://kubernetes.io/docs/reference/kubectl/) to apply the manifest: ```sh @@ -33,6 +33,6 @@ The web UI should now be available at [http://localhost:8080](http://localhost:8 Kustomize overlays can extend the installation: * [overlay/with-ingress](overlay/with-ingress/) - Basic **HTTP** Ingress ressource -* [overlay/with-ingress-cert-manager](overlay/with-ingress-cert-manager/) - Basic **HTTPS** Ingress ressource which uses [cert-manager](https://github.com/cert-manager/cert-manager) to create certificates. +* [overlay/with-ingress-tls-cert-manager](overlay/with-ingress-tls-cert-manager/) - Basic **HTTPS** Ingress ressource which uses [cert-manager](https://github.com/cert-manager/cert-manager) to create certificates. To install with the overlay **just change dirctory in the overlay folder you want to install** and hit `kubectl apply -k .` .