Compare commits

...

9 Commits

Author SHA1 Message Date
LinuxServer-CI
3e9dc80ed4 Bot Updating Package Versions 2023-09-16 03:17:06 +00:00
LinuxServer-CI
4486d528d1 Bot Updating Package Versions 2023-09-09 03:19:54 +00:00
LinuxServer-CI
e0032ecfd4 Bot Updating Package Versions 2023-09-02 03:16:49 +00:00
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 86 additions and 80 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.4 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.49 python
botocore 1.31.49 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
@@ -63,7 +63,7 @@ certbot-dns-ionos 2022.11.24 python
certbot-dns-linode 2.6.0 python
certbot-dns-loopia 1.0.1 python
certbot-dns-luadns 2.6.0 python
certbot-dns-netcup 1.3.0 python
certbot-dns-netcup 1.3.1 python
certbot-dns-njalla 1.0.0 python
certbot-dns-nsone 2.6.0 python
certbot-dns-ovh 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
@@ -92,7 +92,7 @@ domeneshop 0.4.3 python
fail2ban 1.0.2 python
fail2ban 1.0.2-r2 apk
fail2ban-pyc 1.0.2-r2 apk
filelock 3.12.2 python
filelock 3.12.4 python
fontconfig 2.14.2-r3 apk
freetype 2.13.0-r5 apk
future 0.18.3 python
@@ -108,9 +108,9 @@ 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-auth 2.22.0 python
google-auth-httplib2 0.1.0 python
google-api-python-client 2.99.0 python
google-auth 2.23.0 python
google-auth-httplib2 0.1.1 python
googleapis-common-protos 1.60.0 python
gpg 2.4.3-r0 apk
gpg-agent 2.4.3-r0 apk
@@ -128,8 +128,8 @@ isodate 0.6.1 python
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
jsonlines 4.0.0 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,8 +163,8 @@ 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
libproc2 4.0.3-r1 apk
libpq 15.4-r0 apk
libproc2 4.0.4-r0 apk
libsasl 2.1.28-r4 apk
libseccomp 2.5.4-r2 apk
libsm 1.2.4-r1 apk
@@ -174,7 +174,7 @@ libstdc++ 12.2.1_git20220924-r10 apk
libtasn1 4.19.0-r1 apk
libunistring 1.1-r1 apk
libuuid 2.38.1-r8 apk
libwebp 1.3.1-r0 apk
libwebp 1.3.2-r0 apk
libx11 1.8.4-r4 apk
libxau 1.0.11-r2 apk
libxcb 1.15-r1 apk
@@ -191,11 +191,10 @@ 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
msal 1.23.0 python
msal 1.24.0 python
msal-extensions 1.0.0 python
musl 1.2.4-r1 apk
musl-utils 1.2.4-r1 apk
@@ -235,64 +234,62 @@ 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
php82-common 8.2.8-r0 apk
php82-ctype 8.2.8-r0 apk
php82-curl 8.2.8-r0 apk
php82-dom 8.2.8-r0 apk
php82-exif 8.2.8-r0 apk
php82-fileinfo 8.2.8-r0 apk
php82-fpm 8.2.8-r0 apk
php82-ftp 8.2.8-r0 apk
php82-gd 8.2.8-r0 apk
php82-gmp 8.2.8-r0 apk
php82-iconv 8.2.8-r0 apk
php82-imap 8.2.8-r0 apk
php82-intl 8.2.8-r0 apk
php82-ldap 8.2.8-r0 apk
php82-mbstring 8.2.8-r0 apk
php82-mysqli 8.2.8-r0 apk
php82-mysqlnd 8.2.8-r0 apk
php82-opcache 8.2.8-r0 apk
php82-openssl 8.2.8-r0 apk
php82-pdo 8.2.8-r0 apk
php82-pdo_mysql 8.2.8-r0 apk
php82-pdo_odbc 8.2.8-r0 apk
php82-pdo_pgsql 8.2.8-r0 apk
php82-pdo_sqlite 8.2.8-r0 apk
php82-pear 8.2.8-r0 apk
php82 8.2.10-r0 apk
php82-bcmath 8.2.10-r0 apk
php82-bz2 8.2.10-r0 apk
php82-common 8.2.10-r0 apk
php82-ctype 8.2.10-r0 apk
php82-curl 8.2.10-r0 apk
php82-dom 8.2.10-r0 apk
php82-exif 8.2.10-r0 apk
php82-fileinfo 8.2.10-r0 apk
php82-fpm 8.2.10-r0 apk
php82-ftp 8.2.10-r0 apk
php82-gd 8.2.10-r0 apk
php82-gmp 8.2.10-r0 apk
php82-iconv 8.2.10-r0 apk
php82-imap 8.2.10-r0 apk
php82-intl 8.2.10-r0 apk
php82-ldap 8.2.10-r0 apk
php82-mbstring 8.2.10-r0 apk
php82-mysqli 8.2.10-r0 apk
php82-mysqlnd 8.2.10-r0 apk
php82-opcache 8.2.10-r0 apk
php82-openssl 8.2.10-r0 apk
php82-pdo 8.2.10-r0 apk
php82-pdo_mysql 8.2.10-r0 apk
php82-pdo_odbc 8.2.10-r0 apk
php82-pdo_pgsql 8.2.10-r0 apk
php82-pdo_sqlite 8.2.10-r0 apk
php82-pear 8.2.10-r0 apk
php82-pecl-apcu 5.1.22-r0 apk
php82-pecl-igbinary 3.2.14-r0 apk
php82-pecl-mcrypt 1.0.6-r0 apk
php82-pecl-memcached 3.2.0-r1 apk
php82-pecl-msgpack 2.2.0-r0 apk
php82-pecl-redis 5.3.7-r2 apk
php82-pgsql 8.2.8-r0 apk
php82-phar 8.2.8-r0 apk
php82-posix 8.2.8-r0 apk
php82-session 8.2.8-r0 apk
php82-simplexml 8.2.8-r0 apk
php82-soap 8.2.8-r0 apk
php82-sockets 8.2.8-r0 apk
php82-sodium 8.2.8-r0 apk
php82-sqlite3 8.2.8-r0 apk
php82-tokenizer 8.2.8-r0 apk
php82-xml 8.2.8-r0 apk
php82-xmlreader 8.2.8-r0 apk
php82-xmlwriter 8.2.8-r0 apk
php82-xsl 8.2.8-r0 apk
php82-zip 8.2.8-r0 apk
php82-pecl-redis 6.0.0-r0 apk
php82-pgsql 8.2.10-r0 apk
php82-phar 8.2.10-r0 apk
php82-posix 8.2.10-r0 apk
php82-session 8.2.10-r0 apk
php82-simplexml 8.2.10-r0 apk
php82-soap 8.2.10-r0 apk
php82-sockets 8.2.10-r0 apk
php82-sodium 8.2.10-r0 apk
php82-sqlite3 8.2.10-r0 apk
php82-tokenizer 8.2.10-r0 apk
php82-xml 8.2.10-r0 apk
php82-xmlreader 8.2.10-r0 apk
php82-xmlwriter 8.2.10-r0 apk
php82-xsl 8.2.10-r0 apk
php82-zip 8.2.10-r0 apk
pinentry 1.2.1-r1 apk
pip 23.2.1 python
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
procps-ng 4.0.4-r0 apk
protobuf 4.24.3 python
publicsuffixlist 0.9.4 python
pyOpenSSL 23.2.0 python
pyRFC3339 1.1 python
@@ -302,30 +299,29 @@ 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
python3 3.11.4-r0 apk
python3-pyc 3.11.4-r0 apk
python3-pycache-pyc0 3.11.4-r0 apk
pytz 2023.3 python
python3 3.11.5-r0 apk
python3-pyc 3.11.5-r0 apk
python3-pycache-pyc0 3.11.5-r0 apk
pytz 2023.3.post1 python
readline 8.2.1-r1 apk
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
six 1.16.0 python
skalibs 2.13.1.1-r1 apk
soupsieve 2.4.1 python
soupsieve 2.5 python
sqlite-libs 3.41.2-r2 apk
ssl_client 1.36.1-r2 apk
tiff 4.5.1-r0 apk
tldextract 3.4.4 python
tldextract 3.5.0 python
typing-inspect 0.9.0 python
typing_extensions 4.7.1 python
tzdata 2023c-r1 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