Compare commits

...

6 Commits

Author SHA1 Message Date
LinuxServer-CI
3b49643c78 Bot Updating Package Versions 2023-08-26 03:18:54 +00:00
LinuxServer-CI
0f9d247ba4 Bot Updating Package Versions 2023-08-19 03:17:05 +00:00
LinuxServer-CI
cab0b86b65 Bot Updating Package Versions 2023-08-12 19:50:39 +00:00
Eric Nemchik
4d3875d37e Merge pull request #403 from linuxserver/freedns
Freedns
2023-08-12 14:45:40 -05:00
Eric Nemchik
badea52047 Add FreeDNS plugin
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-08-12 13:55:53 -05:00
Eric Nemchik
97baf76a10 Get available DNS Authenticator plugins from CLI
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-08-12 13:47:44 -05:00
7 changed files with 27 additions and 21 deletions

View File

@@ -105,6 +105,7 @@ RUN \
certbot-dns-dreamhost \
certbot-dns-duckdns \
certbot-dns-dynu \
certbot-dns-freedns \
certbot-dns-gehirn \
certbot-dns-godaddy \
certbot-dns-google \

View File

@@ -105,6 +105,7 @@ RUN \
certbot-dns-dreamhost \
certbot-dns-duckdns \
certbot-dns-dynu \
certbot-dns-freedns \
certbot-dns-gehirn \
certbot-dns-godaddy \
certbot-dns-google \

View File

@@ -215,7 +215,7 @@ Container images are configured using parameters passed at runtime (such as thos
| `-e VALIDATION=http` | Certbot validation method to use, options are `http` or `dns` (`dns` method also requires `DNSPLUGIN` variable set). |
| `-e SUBDOMAINS=www,` | Subdomains you'd like the cert to cover (comma separated, no spaces) ie. `www,ftp,cloud`. For a wildcard cert, set this *exactly* to `wildcard` (wildcard cert is available via `dns` validation only) |
| `-e CERTPROVIDER=` | Optionally define the cert provider. Set to `zerossl` for ZeroSSL certs (requires existing [ZeroSSL account](https://app.zerossl.com/signup) and the e-mail address entered in `EMAIL` env var). Otherwise defaults to Let's Encrypt. |
| `-e DNSPLUGIN=cloudflare` | Required if `VALIDATION` is set to `dns`. Options are `acmedns`, `aliyun`, `azure`, `bunny`, `cloudflare`, `cpanel`, `desec`, `digitalocean`, `directadmin`, `dnsimple`, `dnsmadeeasy`, `dnspod`, `do`, `domeneshop`, `dreamhost`, `duckdns`, `dynu`, `gandi`, `gehirn`, `godaddy`, `google`, `google-domains`, `he`, `hetzner`, `infomaniak`, `inwx`, `ionos`, `linode`, `loopia`, `luadns`, `netcup`, `njalla`, `nsone`, `ovh`, `porkbun`, `rfc2136`, `route53`, `sakuracloud`, `standalone`, `transip`, and `vultr`. Also need to enter the credentials into the corresponding ini (or json for some plugins) file under `/config/dns-conf`. |
| `-e DNSPLUGIN=cloudflare` | Required if `VALIDATION` is set to `dns`. Options are `acmedns`, `aliyun`, `azure`, `bunny`, `cloudflare`, `cpanel`, `desec`, `digitalocean`, `directadmin`, `dnsimple`, `dnsmadeeasy`, `dnspod`, `do`, `domeneshop`, `dreamhost`, `duckdns`, `dynu`, `freedns`, `gandi`, `gehirn`, `godaddy`, `google`, `google-domains`, `he`, `hetzner`, `infomaniak`, `inwx`, `ionos`, `linode`, `loopia`, `luadns`, `netcup`, `njalla`, `nsone`, `ovh`, `porkbun`, `rfc2136`, `route53`, `sakuracloud`, `standalone`, `transip`, and `vultr`. Also need to enter the credentials into the corresponding ini (or json for some plugins) file under `/config/dns-conf`. |
| `-e PROPAGATION=` | Optionally override (in seconds) the default propagation time for the dns plugins. |
| `-e EMAIL=` | Optional e-mail address used for cert expiration notifications (Required for ZeroSSL). |
| `-e ONLY_SUBDOMAINS=false` | If you wish to get certs only for certain subdomains, but not the main domain (main domain may be hosted on another machine and cannot be validated), set this to `true` |
@@ -336,6 +336,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
## Versions
* **12.08.23:** - Add FreeDNS plugin. Detect certbot DNS authenticators using CLI.
* **07.08.23:** - Add Bunny DNS Configuration.
* **27.07.23:** - Added support for dreamhost validation.
* **25.05.23:** - Rebase to Alpine 3.18, deprecate armhf.

View File

@@ -7,7 +7,7 @@ acme 2.6.0 python
alpine-baselayout 3.4.3-r1 apk
alpine-baselayout-data 3.4.3-r1 apk
alpine-keys 2.4-r1 apk
alpine-release 3.18.2-r0 apk
alpine-release 3.18.3-r0 apk
aom-libs 3.6.1-r0 apk
apache2-utils 2.4.57-r3 apk
apk-tools 2.14.0-r2 apk
@@ -16,17 +16,16 @@ apr-util 1.6.3-r1 apk
argon2-libs 20190702-r4 apk
attrs 23.1.0 python
azure-common 1.1.28 python
azure-core 1.29.1 python
azure-core 1.29.3 python
azure-identity 1.14.0 python
azure-mgmt-core 1.4.0 python
azure-mgmt-dns 8.1.0 python
bash 5.2.15-r5 apk
beautifulsoup4 4.12.2 python
boto3 1.28.25 python
botocore 1.31.25 python
boto3 1.28.35 python
botocore 1.31.35 python
brotli-libs 1.0.9-r14 apk
bs4 0.0.1 python
busybox 1.36.1 binary
busybox 1.36.1-r2 apk
busybox-binsh 1.36.1-r2 apk
c-client 2007f-r15 apk
@@ -36,7 +35,7 @@ cachetools 5.3.1 python
certbot 2.6.0 python
certbot-dns-acmedns 0.1.0 python
certbot-dns-aliyun 2.0.0 python
certbot-dns-azure 2.3.0 python
certbot-dns-azure 2.4.0 python
certbot-dns-bunny 0.0.9 python
certbot-dns-cloudflare 2.6.0 python
certbot-dns-cpanel 0.4.0 python
@@ -51,6 +50,7 @@ certbot-dns-domeneshop 0.2.9 python
certbot-dns-dreamhost 1.0 python
certbot-dns-duckdns 1.3 python
certbot-dns-dynu 0.0.4 python
certbot-dns-freedns 0.1.0 python
certbot-dns-gehirn 2.6.0 python
certbot-dns-godaddy 2.6.0 python
certbot-dns-google 2.6.0 python
@@ -78,7 +78,7 @@ certbot-plugin-gandi 1.4.3 python
certifi 2023.7.22 python
cffi 1.15.1 python
charset-normalizer 3.2.0 python
cloudflare 2.11.6 python
cloudflare 2.11.7 python
configobj 5.0.8 python
coreutils 9.3-r1 apk
cryptography 41.0.3 python
@@ -108,7 +108,7 @@ gnupg-utils 2.4.3-r0 apk
gnupg-wks-client 2.4.3-r0 apk
gnutls 3.8.0-r2 apk
google-api-core 2.11.1 python
google-api-python-client 2.96.0 python
google-api-python-client 2.97.0 python
google-auth 2.22.0 python
google-auth-httplib2 0.1.0 python
googleapis-common-protos 1.60.0 python
@@ -129,7 +129,7 @@ jmespath 1.0.1 python
josepy 1.13.0 python
jq 1.6-r3 apk
jsonlines 3.1.0 python
jsonpickle 3.0.1 python
jsonpickle 3.0.2 python
libacl 2.3.1-r3 apk
libassuan 2.5.6-r0 apk
libattr 2.5.1-r4 apk
@@ -163,7 +163,7 @@ libncursesw 6.4_p20230506-r0 apk
libnftnl 1.2.5-r1 apk
libpanelw 6.4_p20230506-r0 apk
libpng 1.6.39-r3 apk
libpq 15.3-r0 apk
libpq 15.4-r0 apk
libproc2 4.0.3-r1 apk
libsasl 2.1.28-r4 apk
libseccomp 2.5.4-r2 apk
@@ -191,7 +191,6 @@ loopialib 0.2.0 python
lxml 4.9.3 python
lz4-libs 1.9.4-r4 apk
marshmallow 3.20.1 python
memcached 1.6.21 binary
memcached 1.6.21-r0 apk
mock 5.1.0 python
mpdecimal 2.5.1-r2 apk
@@ -235,8 +234,6 @@ pcre2 10.42-r1 apk
perl 5.36.1-r2 apk
perl-error 0.17029-r1 apk
perl-git 2.40.1-r0 apk
php-cli 8.2.8 binary
php-fpm 8.2.8 binary
php82 8.2.8-r0 apk
php82-bcmath 8.2.8-r0 apk
php82-bz2 8.2.8-r0 apk
@@ -292,7 +289,7 @@ pkb-client 1.2 python
popt 1.19-r2 apk
portalocker 2.7.0 python
procps-ng 4.0.3-r1 apk
protobuf 4.24.0 python
protobuf 4.24.2 python
publicsuffixlist 0.9.4 python
pyOpenSSL 23.2.0 python
pyRFC3339 1.1 python
@@ -302,7 +299,6 @@ pyasn1-modules 0.3.0 python
pyc 0.1-r0 apk
pycparser 2.21 python
pyparsing 3.1.1 python
python 3.11.4 binary
python-dateutil 2.8.2 python
python-digitalocean 1.17.0 python
python-transip 0.6.0 python
@@ -315,7 +311,7 @@ requests 2.31.0 python
requests-file 1.5.1 python
requests-mock 1.11.0 python
rsa 4.9 python
s3transfer 0.6.1 python
s3transfer 0.6.2 python
scanelf 1.3.7-r1 apk
setuptools 65.5.0 python
shadow 4.13-r4 apk
@@ -333,7 +329,7 @@ unixodbc 2.3.11-r2 apk
uritemplate 4.1.1 python
urllib3 1.26.16 python
utmps-libs 0.1.2.1-r1 apk
wheel 0.41.1 python
wheel 0.41.2 python
whois 5.5.17-r0 apk
xz-libs 5.4.3-r0 apk
zipp 3.16.2 python

View File

@@ -50,7 +50,7 @@ opt_param_usage_include_env: true
opt_param_env_vars:
- { env_var: "SUBDOMAINS", env_value: "www,", desc: "Subdomains you'd like the cert to cover (comma separated, no spaces) ie. `www,ftp,cloud`. For a wildcard cert, set this *exactly* to `wildcard` (wildcard cert is available via `dns` validation only)" }
- { env_var: "CERTPROVIDER", env_value: "", desc: "Optionally define the cert provider. Set to `zerossl` for ZeroSSL certs (requires existing [ZeroSSL account](https://app.zerossl.com/signup) and the e-mail address entered in `EMAIL` env var). Otherwise defaults to Let's Encrypt." }
- { env_var: "DNSPLUGIN", env_value: "cloudflare", desc: "Required if `VALIDATION` is set to `dns`. Options are `acmedns`, `aliyun`, `azure`, `bunny`, `cloudflare`, `cpanel`, `desec`, `digitalocean`, `directadmin`, `dnsimple`, `dnsmadeeasy`, `dnspod`, `do`, `domeneshop`, `dreamhost`, `duckdns`, `dynu`, `gandi`, `gehirn`, `godaddy`, `google`, `google-domains`, `he`, `hetzner`, `infomaniak`, `inwx`, `ionos`, `linode`, `loopia`, `luadns`, `netcup`, `njalla`, `nsone`, `ovh`, `porkbun`, `rfc2136`, `route53`, `sakuracloud`, `standalone`, `transip`, and `vultr`. Also need to enter the credentials into the corresponding ini (or json for some plugins) file under `/config/dns-conf`." }
- { env_var: "DNSPLUGIN", env_value: "cloudflare", desc: "Required if `VALIDATION` is set to `dns`. Options are `acmedns`, `aliyun`, `azure`, `bunny`, `cloudflare`, `cpanel`, `desec`, `digitalocean`, `directadmin`, `dnsimple`, `dnsmadeeasy`, `dnspod`, `do`, `domeneshop`, `dreamhost`, `duckdns`, `dynu`, `freedns`, `gandi`, `gehirn`, `godaddy`, `google`, `google-domains`, `he`, `hetzner`, `infomaniak`, `inwx`, `ionos`, `linode`, `loopia`, `luadns`, `netcup`, `njalla`, `nsone`, `ovh`, `porkbun`, `rfc2136`, `route53`, `sakuracloud`, `standalone`, `transip`, and `vultr`. Also need to enter the credentials into the corresponding ini (or json for some plugins) file under `/config/dns-conf`." }
- { env_var: "PROPAGATION", env_value: "", desc: "Optionally override (in seconds) the default propagation time for the dns plugins." }
- { env_var: "EMAIL", env_value: "", desc: "Optional e-mail address used for cert expiration notifications (Required for ZeroSSL)." }
- { env_var: "ONLY_SUBDOMAINS", env_value: "false", desc: "If you wish to get certs only for certain subdomains, but not the main domain (main domain may be hosted on another machine and cannot be validated), set this to `true`" }
@@ -153,6 +153,7 @@ app_setup_block: |
# changelog
changelogs:
- { date: "12.08.23:", desc: "Add FreeDNS plugin. Detect certbot DNS authenticators using CLI." }
- { date: "07.08.23:", desc: "Add Bunny DNS Configuration." }
- { date: "27.07.23:", desc: "Added support for dreamhost validation." }
- { date: "25.05.23:", desc: "Rebase to Alpine 3.18, deprecate armhf." }

View File

@@ -0,0 +1,4 @@
# Instructions: https://github.com/schleuss/certbot_dns_freedns#credentials
# Replace with your values
dns_freedns_username = myremoteuser
dns_freedns_password = verysecureremoteuserpassword

View File

@@ -24,8 +24,10 @@ for i in "${SANED_VARS[@]}"; do
done
# check to make sure DNSPLUGIN is selected if dns validation is used
if [[ "${VALIDATION}" = "dns" ]] && [[ ! "${DNSPLUGIN}" =~ ^(acmedns|aliyun|azure|bunny|cloudflare|cpanel|desec|digitalocean|directadmin|dnsimple|dnsmadeeasy|dnspod|do|domeneshop|dreamhost|duckdns|dynu|gandi|gehirn|godaddy|google|google-domains|he|hetzner|infomaniak|inwx|ionos|linode|loopia|luadns|netcup|njalla|nsone|ovh|porkbun|rfc2136|route53|sakuracloud|standalone|transip|vultr)$ ]]; then
echo "Please set the DNSPLUGIN variable to a valid plugin name. See docker info for more details."
CERTBOT_DNS_AUTHENTICATORS=$(certbot plugins --authenticators 2>/dev/null | sed -e 's/^Entry point: cpanel =/Entry point: dns-cpanel =/' -e '/^Entry point: dns-/!d' -e 's/^Entry point: dns-\([^ ]*\) =.*/\1/' | sort)
if [[ "${VALIDATION}" = "dns" ]] && ! echo "${CERTBOT_DNS_AUTHENTICATORS}" | grep -q "${DNSPLUGIN}"; then
echo "Please set the DNSPLUGIN variable to one of the following:"
echo "${CERTBOT_DNS_AUTHENTICATORS}"
sleep infinity
fi