Merge pull request #1517 from jc21/develop

v2.9.10
This commit is contained in:
jc21 2021-10-25 15:48:43 +10:00 committed by GitHub
commit 29d4bd4ccf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
17 changed files with 691 additions and 566 deletions

View File

@ -1 +1 @@
2.9.9 2.9.10

View File

@ -1,7 +1,7 @@
<p align="center"> <p align="center">
<img src="https://nginxproxymanager.com/github.png"> <img src="https://nginxproxymanager.com/github.png">
<br><br> <br><br>
<img src="https://img.shields.io/badge/version-2.9.9-green.svg?style=for-the-badge"> <img src="https://img.shields.io/badge/version-2.9.10-green.svg?style=for-the-badge">
<a href="https://hub.docker.com/repository/docker/jc21/nginx-proxy-manager"> <a href="https://hub.docker.com/repository/docker/jc21/nginx-proxy-manager">
<img src="https://img.shields.io/docker/stars/jc21/nginx-proxy-manager.svg?style=for-the-badge"> <img src="https://img.shields.io/docker/stars/jc21/nginx-proxy-manager.svg?style=for-the-badge">
</a> </a>
@ -501,6 +501,12 @@ Special thanks to the following contributors:
<br /><sub><b>Josh Byrnes</b></sub> <br /><sub><b>Josh Byrnes</b></sub>
</a> </a>
</td> </td>
<td align="center">
<a href="https://github.com/bergi9">
<img src="https://avatars.githubusercontent.com/u/5556750?v=4" width="80" alt=""/>
<br /><sub><b>bergi9</b></sub>
</a>
</td>
</tr> </tr>
</table> </table>
<!-- markdownlint-enable --> <!-- markdownlint-enable -->

View File

@ -114,7 +114,7 @@ const internalCertificate = {
data.owner_user_id = access.token.getUserId(1); data.owner_user_id = access.token.getUserId(1);
if (data.provider === 'letsencrypt') { if (data.provider === 'letsencrypt') {
data.nice_name = data.domain_names.sort().join(', '); data.nice_name = data.domain_names.join(', ');
} }
return certificateModel return certificateModel
@ -869,7 +869,7 @@ const internalCertificate = {
const credentialsLocation = '/etc/letsencrypt/credentials/credentials-' + certificate.id; const credentialsLocation = '/etc/letsencrypt/credentials/credentials-' + certificate.id;
const credentialsCmd = 'mkdir -p /etc/letsencrypt/credentials 2> /dev/null; echo \'' + certificate.meta.dns_provider_credentials.replace('\'', '\\\'') + '\' > \'' + credentialsLocation + '\' && chmod 600 \'' + credentialsLocation + '\''; const credentialsCmd = 'mkdir -p /etc/letsencrypt/credentials 2> /dev/null; echo \'' + certificate.meta.dns_provider_credentials.replace('\'', '\\\'') + '\' > \'' + credentialsLocation + '\' && chmod 600 \'' + credentialsLocation + '\'';
const prepareCmd = 'pip install ' + dns_plugin.package_name + '==' + dns_plugin.package_version + ' ' + dns_plugin.dependencies; const prepareCmd = 'pip install ' + dns_plugin.package_name + (dns_plugin.version_requirement || '') + ' ' + dns_plugin.dependencies;
// Whether the plugin has a --<name>-credentials argument // Whether the plugin has a --<name>-credentials argument
const hasConfigArg = certificate.meta.dns_provider !== 'route53'; const hasConfigArg = certificate.meta.dns_provider !== 'route53';

View File

@ -25,7 +25,7 @@
"mysql": "^2.18.1", "mysql": "^2.18.1",
"node-rsa": "^1.0.8", "node-rsa": "^1.0.8",
"nodemon": "^2.0.2", "nodemon": "^2.0.2",
"objection": "^2.1.3", "objection": "^2.2.16",
"path": "^0.12.7", "path": "^0.12.7",
"pg": "^7.12.1", "pg": "^7.12.1",
"restler": "^3.4.0", "restler": "^3.4.0",

View File

@ -153,7 +153,7 @@
"example": "john@example.com", "example": "john@example.com",
"format": "email", "format": "email",
"type": "string", "type": "string",
"minLength": 8, "minLength": 6,
"maxLength": 100 "maxLength": 100
}, },
"password": { "password": {

View File

@ -175,7 +175,7 @@ const setupCertbotPlugins = () => {
certificates.map(function (certificate) { certificates.map(function (certificate) {
if (certificate.meta && certificate.meta.dns_challenge === true) { if (certificate.meta && certificate.meta.dns_challenge === true) {
const dns_plugin = dns_plugins[certificate.meta.dns_provider]; const dns_plugin = dns_plugins[certificate.meta.dns_provider];
const packages_to_install = `${dns_plugin.package_name}==${dns_plugin.package_version} ${dns_plugin.dependencies}`; const packages_to_install = `${dns_plugin.package_name}${dns_plugin.version_requirement || ''} ${dns_plugin.dependencies}`;
if (plugins.indexOf(packages_to_install) === -1) plugins.push(packages_to_install); if (plugins.indexOf(packages_to_install) === -1) plugins.push(packages_to_install);

View File

@ -77,10 +77,10 @@ acorn@^7.1.1:
resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.0.tgz#e1ad486e6c54501634c6c397c5c121daa383607c" resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.0.tgz#e1ad486e6c54501634c6c397c5c121daa383607c"
integrity sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w== integrity sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w==
ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.0: ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.0, ajv@^6.12.6:
version "6.12.3" version "6.12.6"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.3.tgz#18c5af38a111ddeb4f2697bd78d68abc1cabd706" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
integrity sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA== integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
dependencies: dependencies:
fast-deep-equal "^3.1.1" fast-deep-equal "^3.1.1"
fast-json-stable-stringify "^2.0.0" fast-json-stable-stringify "^2.0.0"
@ -2572,12 +2572,12 @@ object.pick@^1.2.0, object.pick@^1.3.0:
dependencies: dependencies:
isobject "^3.0.1" isobject "^3.0.1"
objection@^2.1.3: objection@^2.2.16:
version "2.2.2" version "2.2.16"
resolved "https://registry.yarnpkg.com/objection/-/objection-2.2.2.tgz#1a3c9010270e3677940d2bc91aeaeb3c0f103800" resolved "https://registry.yarnpkg.com/objection/-/objection-2.2.16.tgz#552ec6d625a7f80d6e204fc63732cbd3fc56f31c"
integrity sha512-+1Ap7u9NQRochzDW5/BggUlKi94JfZGTJwQJuNXo8DwmAb8czEirvxcWBcX91/MmQq0BQUJjM4RPSiZhnkkWQw== integrity sha512-sq8erZdxW5ruPUK6tVvwDxyO16U49XAn/BmOm2zaNhNA2phOPCe2/7+R70nDEF1SFrgJOrwDu/PtoxybuJxnjQ==
dependencies: dependencies:
ajv "^6.12.0" ajv "^6.12.6"
db-errors "^0.2.3" db-errors "^0.2.3"
on-finished@~2.3.0: on-finished@~2.3.0:

View File

@ -3,3 +3,4 @@ non-interactive = True
webroot-path = /data/letsencrypt-acme-challenge webroot-path = /data/letsencrypt-acme-challenge
key-type = ecdsa key-type = ecdsa
elliptic-curve = secp384r1 elliptic-curve = secp384r1
preferred-chain = ISRG Root X1

View File

@ -443,7 +443,7 @@
"normalize-url": "^5.1.0", "normalize-url": "^5.1.0",
"npm-run-path": "^4.0.1", "npm-run-path": "^4.0.1",
"nprogress": "^0.2.0", "nprogress": "^0.2.0",
"nth-check": "^1.0.2", "nth-check": "^2.0.1",
"num2fraction": "^1.2.2", "num2fraction": "^1.2.2",
"number-is-nan": "^2.0.0", "number-is-nan": "^2.0.0",
"oauth-sign": "^0.9.0", "oauth-sign": "^0.9.0",
@ -612,7 +612,7 @@
"serve-index": "^1.9.1", "serve-index": "^1.9.1",
"serve-static": "^1.14.1", "serve-static": "^1.14.1",
"set-blocking": "^2.0.0", "set-blocking": "^2.0.0",
"set-value": "^3.0.2", "set-value": "^4.0.1",
"setimmediate": "^1.0.5", "setimmediate": "^1.0.5",
"setprototypeof": "^1.2.0", "setprototypeof": "^1.2.0",
"sha.js": "^2.4.11", "sha.js": "^2.4.11",

View File

@ -1624,9 +1624,9 @@ ansi-regex@^4.1.0:
integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==
ansi-regex@^5.0.0: ansi-regex@^5.0.0:
version "5.0.0" version "5.0.1"
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
ansi-styles@^2.2.1: ansi-styles@^2.2.1:
version "2.2.1" version "2.2.1"
@ -6726,6 +6726,13 @@ nth-check@^1.0.2, nth-check@~1.0.1:
dependencies: dependencies:
boolbase "~1.0.0" boolbase "~1.0.0"
nth-check@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.0.1.tgz#2efe162f5c3da06a28959fbd3db75dbeea9f0fc2"
integrity sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==
dependencies:
boolbase "^1.0.0"
num2fraction@^1.2.2: num2fraction@^1.2.2:
version "1.2.2" version "1.2.2"
resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede"
@ -7699,9 +7706,9 @@ pretty-time@^1.1.0:
integrity sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA== integrity sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==
prismjs@^1.13.0, prismjs@^1.20.0: prismjs@^1.13.0, prismjs@^1.20.0:
version "1.24.0" version "1.25.0"
resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.24.0.tgz#0409c30068a6c52c89ef7f1089b3ca4de56be2ac" resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.25.0.tgz#6f822df1bdad965734b310b315a23315cf999756"
integrity sha512-SqV5GRsNqnzCL8k5dfAjCNhUrF3pR0A9lTDSCUZeh/LIshheXJEaP0hwLz2t4XHivd2J/v2HR+gRnigzeKe3cQ== integrity sha512-WCjJHl1KEWbnkQom1+SzftbtXMKQoezOCYs5rECqMN+jP+apI7ftoflyqigqzopSO3hMhTEb0mFClA8lkolgEg==
private@^0.1.8: private@^0.1.8:
version "0.1.8" version "0.1.8"
@ -8436,13 +8443,20 @@ set-value@^2.0.0, set-value@^2.0.1:
is-plain-object "^2.0.3" is-plain-object "^2.0.3"
split-string "^3.0.1" split-string "^3.0.1"
set-value@^3.0.0, set-value@^3.0.2: set-value@^3.0.0:
version "3.0.2" version "3.0.2"
resolved "https://registry.yarnpkg.com/set-value/-/set-value-3.0.2.tgz#74e8ecd023c33d0f77199d415409a40f21e61b90" resolved "https://registry.yarnpkg.com/set-value/-/set-value-3.0.2.tgz#74e8ecd023c33d0f77199d415409a40f21e61b90"
integrity sha512-npjkVoz+ank0zjlV9F47Fdbjfj/PfXyVhZvGALWsyIYU/qrMzpi6avjKW3/7KeSU2Df3I46BrN1xOI1+6vW0hA== integrity sha512-npjkVoz+ank0zjlV9F47Fdbjfj/PfXyVhZvGALWsyIYU/qrMzpi6avjKW3/7KeSU2Df3I46BrN1xOI1+6vW0hA==
dependencies: dependencies:
is-plain-object "^2.0.4" is-plain-object "^2.0.4"
set-value@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/set-value/-/set-value-4.0.1.tgz#bc23522ade2d52314ec3b5d6fb140f5cd3a88acf"
integrity sha512-ayATicCYPVnlNpFmjq2/VmVwhoCQA9+13j8qWp044fmFE3IFphosPtRM+0CJ5xoIx5Uy52fCcwg3XeH2pHbbPQ==
dependencies:
is-plain-object "^2.0.4"
setimmediate@^1.0.4, setimmediate@^1.0.5: setimmediate@^1.0.4, setimmediate@^1.0.5:
version "1.0.5" version "1.0.5"
resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"

View File

@ -1,5 +1,8 @@
<div class="container"> <div class="container">
<div class="d-flex"> <div class="d-flex">
<button class="navbar-toggler d-lg-none mr-2" type="button" data-toggle="collapse" data-target="#menu">
<span class="navbar-toggler-icon"></span>
</button>
<a class="navbar-brand" href="/"> <a class="navbar-brand" href="/">
<img src="/images/favicons/favicon-32x32.png" border="0"> &nbsp; <%- i18n('main', 'app') %> <img src="/images/favicons/favicon-32x32.png" border="0"> &nbsp; <%- i18n('main', 'app') %>
</a> </a>

View File

@ -1,10 +1,12 @@
<div class="page-main"> <div class="page-main">
<div class="navbar-light">
<div class="header" id="header"> <div class="header" id="header">
<!-- Header View --> <!-- Header View -->
</div> </div>
<div id="menu"> <div id="menu">
<!-- Menu View --> <!-- Menu View -->
</div> </div>
</div>
<div class="my-3 my-md-5"> <div class="my-3 my-md-5">
<div id="app-content" class="container"> <div id="app-content" class="container">
<!-- App View --> <!-- App View -->

View File

@ -130,7 +130,7 @@
"access-list": "Access List", "access-list": "Access List",
"allow-websocket-upgrade": "Websockets Support", "allow-websocket-upgrade": "Websockets Support",
"ignore-invalid-upstream-ssl": "Ignore Invalid SSL", "ignore-invalid-upstream-ssl": "Ignore Invalid SSL",
"custom-forward-host-help": "Use 1.1.1.1/path for sub-folder forwarding" "custom-forward-host-help": "Add a path for sub-folder forwarding.\nExample: 203.0.113.25/path"
}, },
"redirection-hosts": { "redirection-hosts": {
"title": "Redirection Hosts", "title": "Redirection Hosts",

View File

@ -28,10 +28,10 @@
"messageformat-loader": "^0.8.1", "messageformat-loader": "^0.8.1",
"mini-css-extract-plugin": "^0.9.0", "mini-css-extract-plugin": "^0.9.0",
"moment": "^2.24.0", "moment": "^2.24.0",
"node-sass": "^4.13.1", "node-sass": "^6.0.1",
"nodemon": "^2.0.2", "nodemon": "^2.0.2",
"numeral": "^2.0.6", "numeral": "^2.0.6",
"sass-loader": "^8.0.2", "sass-loader": "10.2.0",
"style-loader": "^1.1.3", "style-loader": "^1.1.3",
"tabler-ui": "git+https://github.com/tabler/tabler.git#00f78ad823311bc3ad974ac3e5b0126198f0a813", "tabler-ui": "git+https://github.com/tabler/tabler.git#00f78ad823311bc3ad974ac3e5b0126198f0a813",
"underscore": "^1.12.1", "underscore": "^1.12.1",

View File

@ -13,8 +13,8 @@ module.exports = {
}, },
output: { output: {
path: path.resolve(__dirname, 'dist'), path: path.resolve(__dirname, 'dist'),
filename: 'js/[name].bundle.js', filename: `js/[name].bundle.js?v=${PACKAGE.version}`,
chunkFilename: 'js/[name].bundle.[id].js', chunkFilename: `js/[name].bundle.[id].js?v=${PACKAGE.version}`,
publicPath: '/' publicPath: '/'
}, },
resolve: { resolve: {

File diff suppressed because it is too large Load Diff

View File

@ -9,10 +9,10 @@
* cloudflare: { * cloudflare: {
* display_name: "Name displayed to the user", * display_name: "Name displayed to the user",
* package_name: "Package name in PyPi repo", * package_name: "Package name in PyPi repo",
* package_version: "Package version in PyPi repo", * version_requirement: "Optional package version requirements (e.g. ==1.3 or >=1.2,<2.0, see https://www.python.org/dev/peps/pep-0440/#version-specifiers)",
* dependencies: "Additional dependencies, space separated (as you would pass it to pip install)", * dependencies: "Additional dependencies, space separated (as you would pass it to pip install)",
* credentials: `Template of the credentials file`, * credentials: `Template of the credentials file`,
* full_plugin_name: "The full plugin name as used in the commandline with certbot, including prefixes, e.g. 'certbot-dns-njalla:dns-njalla'", * full_plugin_name: "The full plugin name as used in the commandline with certbot, e.g. 'dns-njalla'",
* }, * },
* ... * ...
* } * }
@ -24,26 +24,26 @@ module.exports = {
acmedns: { acmedns: {
display_name: 'ACME-DNS', display_name: 'ACME-DNS',
package_name: 'certbot-dns-acmedns', package_name: 'certbot-dns-acmedns',
package_version: '0.1.0', version_requirement: '~=0.1.0',
dependencies: '', dependencies: '',
credentials: `certbot_dns_acmedns:dns_acmedns_api_url = http://acmedns-server/ credentials: `dns_acmedns_api_url = http://acmedns-server/
certbot_dns_acmedns:dns_acmedns_registration_file = /data/acme-registration.json`, dns_acmedns_registration_file = /data/acme-registration.json`,
full_plugin_name: 'certbot-dns-acmedns:dns-acmedns', full_plugin_name: 'dns-acmedns',
}, },
aliyun: { aliyun: {
display_name: 'Aliyun', display_name: 'Aliyun',
package_name: 'certbot-dns-aliyun', package_name: 'certbot-dns-aliyun',
package_version: '0.38.1', version_requirement: '~=0.38.1',
dependencies: '', dependencies: '',
credentials: `certbot_dns_aliyun:dns_aliyun_access_key = 12345678 credentials: `dns_aliyun_access_key = 12345678
certbot_dns_aliyun:dns_aliyun_access_key_secret = 1234567890abcdef1234567890abcdef`, dns_aliyun_access_key_secret = 1234567890abcdef1234567890abcdef`,
full_plugin_name: 'certbot-dns-aliyun:dns-aliyun', full_plugin_name: 'dns-aliyun',
}, },
//####################################################// //####################################################//
azure: { azure: {
display_name: 'Azure', display_name: 'Azure',
package_name: 'certbot-dns-azure', package_name: 'certbot-dns-azure',
package_version: '1.2.0', version_requirement: '~=1.2.0',
dependencies: '', dependencies: '',
credentials: `# This plugin supported API authentication using either Service Principals or utilizing a Managed Identity assigned to the virtual machine. credentials: `# This plugin supported API authentication using either Service Principals or utilizing a Managed Identity assigned to the virtual machine.
# Regardless which authentication method used, the identity will need the DNS Zone Contributor role assigned to it. # Regardless which authentication method used, the identity will need the DNS Zone Contributor role assigned to it.
@ -69,7 +69,7 @@ dns_azure_zone2 = example.org:/subscriptions/99800903-fb14-4992-9aff-12eaf274462
cloudflare: { cloudflare: {
display_name: 'Cloudflare', display_name: 'Cloudflare',
package_name: 'certbot-dns-cloudflare', package_name: 'certbot-dns-cloudflare',
package_version: '1.8.0', // version_requirement: '', // Official plugin, no version requirement
dependencies: 'cloudflare', dependencies: 'cloudflare',
credentials: `# Cloudflare API token credentials: `# Cloudflare API token
dns_cloudflare_api_token = 0123456789abcdef0123456789abcdef01234567`, dns_cloudflare_api_token = 0123456789abcdef0123456789abcdef01234567`,
@ -79,7 +79,7 @@ dns_cloudflare_api_token = 0123456789abcdef0123456789abcdef01234567`,
cloudns: { cloudns: {
display_name: 'ClouDNS', display_name: 'ClouDNS',
package_name: 'certbot-dns-cloudns', package_name: 'certbot-dns-cloudns',
package_version: '0.4.0', version_requirement: '~=0.4.0',
dependencies: '', dependencies: '',
credentials: `# Target user ID (see https://www.cloudns.net/api-settings/) credentials: `# Target user ID (see https://www.cloudns.net/api-settings/)
dns_cloudns_auth_id=1234 dns_cloudns_auth_id=1234
@ -95,7 +95,7 @@ dns_cloudflare_api_token = 0123456789abcdef0123456789abcdef01234567`,
cloudxns: { cloudxns: {
display_name: 'CloudXNS', display_name: 'CloudXNS',
package_name: 'certbot-dns-cloudxns', package_name: 'certbot-dns-cloudxns',
package_version: '1.8.0', // version_requirement: '', // Official plugin, no version requirement
dependencies: '', dependencies: '',
credentials: `dns_cloudxns_api_key = 1234567890abcdef1234567890abcdef credentials: `dns_cloudxns_api_key = 1234567890abcdef1234567890abcdef
dns_cloudxns_secret_key = 1122334455667788`, dns_cloudxns_secret_key = 1122334455667788`,
@ -105,28 +105,38 @@ dns_cloudxns_secret_key = 1122334455667788`,
corenetworks: { corenetworks: {
display_name: 'Core Networks', display_name: 'Core Networks',
package_name: 'certbot-dns-corenetworks', package_name: 'certbot-dns-corenetworks',
package_version: '0.1.4', version_requirement: '~=0.1.4',
dependencies: '', dependencies: '',
credentials: `certbot_dns_corenetworks:dns_corenetworks_username = asaHB12r credentials: `dns_corenetworks_username = asaHB12r
certbot_dns_corenetworks:dns_corenetworks_password = secure_password`, dns_corenetworks_password = secure_password`,
full_plugin_name: 'certbot-dns-corenetworks:dns-corenetworks', full_plugin_name: 'dns-corenetworks',
}, },
//####################################################// //####################################################//
cpanel: { cpanel: {
display_name: 'cPanel', display_name: 'cPanel',
package_name: 'certbot-dns-cpanel', package_name: 'certbot-dns-cpanel',
package_version: '0.2.2', version_requirement: '~=0.2.2',
dependencies: '', dependencies: '',
credentials: `certbot_dns_cpanel:cpanel_url = https://cpanel.example.com:2083 credentials: `cpanel_url = https://cpanel.example.com:2083
certbot_dns_cpanel:cpanel_username = user cpanel_username = user
certbot_dns_cpanel:cpanel_password = hunter2`, cpanel_password = hunter2`,
full_plugin_name: 'certbot-dns-cpanel:cpanel', full_plugin_name: 'cpanel',
},
//####################################################//
desec: {
display_name: 'deSEC',
package_name: 'certbot-dns-desec',
version_requirement: '~=0.3.0',
dependencies: '',
credentials: `dns_desec_token = YOUR_DESEC_API_TOKEN
dns_desec_endpoint = https://desec.io/api/v1/`,
full_plugin_name: 'dns-desec',
}, },
//####################################################// //####################################################//
duckdns: { duckdns: {
display_name: 'DuckDNS', display_name: 'DuckDNS',
package_name: 'certbot-dns-duckdns', package_name: 'certbot-dns-duckdns',
package_version: '0.6', version_requirement: '~=0.6',
dependencies: '', dependencies: '',
credentials: 'dns_duckdns_token=your-duckdns-token', credentials: 'dns_duckdns_token=your-duckdns-token',
full_plugin_name: 'dns-duckdns', full_plugin_name: 'dns-duckdns',
@ -135,7 +145,7 @@ certbot_dns_cpanel:cpanel_password = hunter2`,
digitalocean: { digitalocean: {
display_name: 'DigitalOcean', display_name: 'DigitalOcean',
package_name: 'certbot-dns-digitalocean', package_name: 'certbot-dns-digitalocean',
package_version: '1.8.0', // version_requirement: '', // Official plugin, no version requirement
dependencies: '', dependencies: '',
credentials: 'dns_digitalocean_token = 0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff', credentials: 'dns_digitalocean_token = 0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff',
full_plugin_name: 'dns-digitalocean', full_plugin_name: 'dns-digitalocean',
@ -144,18 +154,18 @@ certbot_dns_cpanel:cpanel_password = hunter2`,
directadmin: { directadmin: {
display_name: 'DirectAdmin', display_name: 'DirectAdmin',
package_name: 'certbot-dns-directadmin', package_name: 'certbot-dns-directadmin',
package_version: '0.0.20', version_requirement: '~=0.0.23',
dependencies: '', dependencies: '',
credentials: `directadmin_url = https://my.directadminserver.com:2222 credentials: `directadmin_url = https://my.directadminserver.com:2222
directadmin_username = username directadmin_username = username
directadmin_password = aSuperStrongPassword`, directadmin_password = aSuperStrongPassword`,
full_plugin_name: 'certbot-dns-directadmin:directadmin', full_plugin_name: 'directadmin',
}, },
//####################################################// //####################################################//
dnsimple: { dnsimple: {
display_name: 'DNSimple', display_name: 'DNSimple',
package_name: 'certbot-dns-dnsimple', package_name: 'certbot-dns-dnsimple',
package_version: '1.8.0', // version_requirement: '', // Official plugin, no version requirement
dependencies: '', dependencies: '',
credentials: 'dns_dnsimple_token = MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw', credentials: 'dns_dnsimple_token = MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw',
full_plugin_name: 'dns-dnsimple', full_plugin_name: 'dns-dnsimple',
@ -164,7 +174,7 @@ directadmin_password = aSuperStrongPassword`,
dnsmadeeasy: { dnsmadeeasy: {
display_name: 'DNS Made Easy', display_name: 'DNS Made Easy',
package_name: 'certbot-dns-dnsmadeeasy', package_name: 'certbot-dns-dnsmadeeasy',
package_version: '1.8.0', // version_requirement: '', // Official plugin, no version requirement
dependencies: '', dependencies: '',
credentials: `dns_dnsmadeeasy_api_key = 1c1a3c91-4770-4ce7-96f4-54c0eb0e457a credentials: `dns_dnsmadeeasy_api_key = 1c1a3c91-4770-4ce7-96f4-54c0eb0e457a
dns_dnsmadeeasy_secret_key = c9b5625f-9834-4ff8-baba-4ed5f32cae55`, dns_dnsmadeeasy_secret_key = c9b5625f-9834-4ff8-baba-4ed5f32cae55`,
@ -174,46 +184,50 @@ dns_dnsmadeeasy_secret_key = c9b5625f-9834-4ff8-baba-4ed5f32cae55`,
dnspod: { dnspod: {
display_name: 'DNSPod', display_name: 'DNSPod',
package_name: 'certbot-dns-dnspod', package_name: 'certbot-dns-dnspod',
package_version: '0.1.0', version_requirement: '~=0.1.0',
dependencies: '', dependencies: '',
credentials: `certbot_dns_dnspod:dns_dnspod_email = "DNSPOD-API-REQUIRES-A-VALID-EMAIL" credentials: `dns_dnspod_email = "DNSPOD-API-REQUIRES-A-VALID-EMAIL"
certbot_dns_dnspod:dns_dnspod_api_token = "DNSPOD-API-TOKEN"`, dns_dnspod_api_token = "DNSPOD-API-TOKEN"`,
full_plugin_name: 'certbot-dns-dnspod:dns-dnspod', full_plugin_name: 'dns-dnspod',
}, },
//####################################################// //####################################################//
dynu: { dynu: {
display_name: 'Dynu', display_name: 'Dynu',
package_name: 'certbot-dns-dynu', package_name: 'certbot-dns-dynu',
package_version: '0.0.1', version_requirement: '~=0.0.1',
dependencies: '', dependencies: '',
credentials: 'certbot_dns_dynu:dns_dynu_auth_token = YOUR_DYNU_AUTH_TOKEN', credentials: 'dns_dynu_auth_token = YOUR_DYNU_AUTH_TOKEN',
full_plugin_name: 'certbot-dns-dynu:dns-dynu', full_plugin_name: 'dns-dynu',
}, },
//####################################################// //####################################################//
eurodns: { eurodns: {
display_name: 'EuroDNS', display_name: 'EuroDNS',
package_name: 'certbot-dns-eurodns', package_name: 'certbot-dns-eurodns',
package_version: '0.0.4', version_requirement: '~=0.0.4',
dependencies: '', dependencies: '',
credentials: `dns_eurodns_applicationId = myuser credentials: `dns_eurodns_applicationId = myuser
dns_eurodns_apiKey = mysecretpassword dns_eurodns_apiKey = mysecretpassword
dns_eurodns_endpoint = https://rest-api.eurodns.com/user-api-gateway/proxy`, dns_eurodns_endpoint = https://rest-api.eurodns.com/user-api-gateway/proxy`,
full_plugin_name: 'certbot-dns-eurodns:dns-eurodns', full_plugin_name: 'dns-eurodns',
}, },
//####################################################// //####################################################//
gandi: { gandi: {
display_name: 'Gandi Live DNS', display_name: 'Gandi Live DNS',
package_name: 'certbot_plugin_gandi', package_name: 'certbot_plugin_gandi',
package_version: '1.2.5', version_requirement: '~=1.3.2',
dependencies: '', dependencies: '',
credentials: 'certbot_plugin_gandi:dns_api_key = APIKEY', credentials: `# live dns v5 api key
full_plugin_name: 'certbot-plugin-gandi:dns', dns_gandi_api_key=APIKEY
# optional organization id, remove it if not used
dns_gandi_sharing_id=SHARINGID`,
full_plugin_name: 'dns-gandi',
}, },
//####################################################// //####################################################//
godaddy: { godaddy: {
display_name: 'GoDaddy', display_name: 'GoDaddy',
package_name: 'certbot-dns-godaddy', package_name: 'certbot-dns-godaddy',
package_version: '0.2.0', version_requirement: '~=0.2.0',
dependencies: '', dependencies: '',
credentials: `dns_godaddy_secret = 0123456789abcdef0123456789abcdef01234567 credentials: `dns_godaddy_secret = 0123456789abcdef0123456789abcdef01234567
dns_godaddy_key = abcdef0123456789abcdef01234567abcdef0123`, dns_godaddy_key = abcdef0123456789abcdef01234567abcdef0123`,
@ -223,7 +237,7 @@ dns_godaddy_key = abcdef0123456789abcdef01234567abcdef0123`,
google: { google: {
display_name: 'Google', display_name: 'Google',
package_name: 'certbot-dns-google', package_name: 'certbot-dns-google',
package_version: '1.8.0', // version_requirement: '', // Official plugin, no version requirement
dependencies: '', dependencies: '',
credentials: `{ credentials: `{
"type": "service_account", "type": "service_account",
@ -235,79 +249,79 @@ dns_godaddy_key = abcdef0123456789abcdef01234567abcdef0123`,
hetzner: { hetzner: {
display_name: 'Hetzner', display_name: 'Hetzner',
package_name: 'certbot-dns-hetzner', package_name: 'certbot-dns-hetzner',
package_version: '1.0.4', version_requirement: '~=1.0.4',
dependencies: '', dependencies: '',
credentials: 'certbot_dns_hetzner:dns_hetzner_api_token = 0123456789abcdef0123456789abcdef', credentials: 'dns_hetzner_api_token = 0123456789abcdef0123456789abcdef',
full_plugin_name: 'certbot-dns-hetzner:dns-hetzner', full_plugin_name: 'dns-hetzner',
}, },
//####################################################// //####################################################//
infomaniak: { infomaniak: {
display_name: 'Infomaniak', display_name: 'Infomaniak',
package_name: 'certbot-dns-infomaniak', package_name: 'certbot-dns-infomaniak',
package_version: '0.1.12', version_requirement: '~=0.1.12',
dependencies: '', dependencies: '',
credentials: 'certbot_dns_infomaniak:dns_infomaniak_token = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', credentials: 'dns_infomaniak_token = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
full_plugin_name: 'certbot-dns-infomaniak:dns-infomaniak', full_plugin_name: 'dns-infomaniak',
}, },
//####################################################// //####################################################//
inwx: { inwx: {
display_name: 'INWX', display_name: 'INWX',
package_name: 'certbot-dns-inwx', package_name: 'certbot-dns-inwx',
package_version: '2.1.2', version_requirement: '~=2.1.2',
dependencies: '', dependencies: '',
credentials: `certbot_dns_inwx:dns_inwx_url = https://api.domrobot.com/xmlrpc/ credentials: `dns_inwx_url = https://api.domrobot.com/xmlrpc/
certbot_dns_inwx:dns_inwx_username = your_username dns_inwx_username = your_username
certbot_dns_inwx:dns_inwx_password = your_password dns_inwx_password = your_password
certbot_dns_inwx:dns_inwx_shared_secret = your_shared_secret optional`, dns_inwx_shared_secret = your_shared_secret optional`,
full_plugin_name: 'certbot-dns-inwx:dns-inwx', full_plugin_name: 'dns-inwx',
}, },
//####################################################// //####################################################//
ionos: { ionos: {
display_name: 'IONOS', display_name: 'IONOS',
package_name: 'certbot-dns-ionos', package_name: 'certbot-dns-ionos',
package_version: '0.0.7', version_requirement: '==2021.9.20.post1',
dependencies: '', dependencies: '',
credentials: `certbot_dns_ionos:dns_ionos_prefix = myapikeyprefix credentials: `dns_ionos_prefix = myapikeyprefix
certbot_dns_ionos:dns_ionos_secret = verysecureapikeysecret dns_ionos_secret = verysecureapikeysecret
certbot_dns_ionos:dns_ionos_endpoint = https://api.hosting.ionos.com`, dns_ionos_endpoint = https://api.hosting.ionos.com`,
full_plugin_name: 'certbot-dns-ionos:dns-ionos', full_plugin_name: 'dns-ionos',
}, },
//####################################################// //####################################################//
ispconfig: { ispconfig: {
display_name: 'ISPConfig', display_name: 'ISPConfig',
package_name: 'certbot-dns-ispconfig', package_name: 'certbot-dns-ispconfig',
package_version: '0.2.0', version_requirement: '~=0.2.0',
dependencies: '', dependencies: '',
credentials: `certbot_dns_ispconfig:dns_ispconfig_username = myremoteuser credentials: `dns_ispconfig_username = myremoteuser
certbot_dns_ispconfig:dns_ispconfig_password = verysecureremoteuserpassword dns_ispconfig_password = verysecureremoteuserpassword
certbot_dns_ispconfig:dns_ispconfig_endpoint = https://localhost:8080`, dns_ispconfig_endpoint = https://localhost:8080`,
full_plugin_name: 'certbot-dns-ispconfig:dns-ispconfig', full_plugin_name: 'dns-ispconfig',
}, },
//####################################################// //####################################################//
isset: { isset: {
display_name: 'Isset', display_name: 'Isset',
package_name: 'certbot-dns-isset', package_name: 'certbot-dns-isset',
package_version: '0.0.3', version_requirement: '~=0.0.3',
dependencies: '', dependencies: '',
credentials: `certbot_dns_isset:dns_isset_endpoint="https://customer.isset.net/api" credentials: `dns_isset_endpoint="https://customer.isset.net/api"
certbot_dns_isset:dns_isset_token="<token>"`, dns_isset_token="<token>"`,
full_plugin_name: 'certbot-dns-isset:dns-isset', full_plugin_name: 'dns-isset',
}, },
joker: { joker: {
display_name: 'Joker', display_name: 'Joker',
package_name: 'certbot-dns-joker', package_name: 'certbot-dns-joker',
package_version: '1.1.0', version_requirement: '~=1.1.0',
dependencies: '', dependencies: '',
credentials: `certbot_dns_joker:dns_joker_username = <Dynamic DNS Authentication Username> credentials: `dns_joker_username = <Dynamic DNS Authentication Username>
certbot_dns_joker:dns_joker_password = <Dynamic DNS Authentication Password> dns_joker_password = <Dynamic DNS Authentication Password>
certbot_dns_joker:dns_joker_domain = <Dynamic DNS Domain>`, dns_joker_domain = <Dynamic DNS Domain>`,
full_plugin_name: 'certbot-dns-joker:dns-joker', full_plugin_name: 'dns-joker',
}, },
//####################################################// //####################################################//
linode: { linode: {
display_name: 'Linode', display_name: 'Linode',
package_name: 'certbot-dns-linode', package_name: 'certbot-dns-linode',
package_version: '1.8.0', // version_requirement: '', // Official plugin, no version requirement
dependencies: '', dependencies: '',
credentials: `dns_linode_key = 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ64 credentials: `dns_linode_key = 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ64
dns_linode_version = [<blank>|3|4]`, dns_linode_version = [<blank>|3|4]`,
@ -317,7 +331,7 @@ dns_linode_version = [<blank>|3|4]`,
loopia: { loopia: {
display_name: 'Loopia', display_name: 'Loopia',
package_name: 'certbot-dns-loopia', package_name: 'certbot-dns-loopia',
package_version: '1.0.0', version_requirement: '~=1.0.0',
dependencies: '', dependencies: '',
credentials: `dns_loopia_user = user@loopiaapi credentials: `dns_loopia_user = user@loopiaapi
dns_loopia_password = abcdef0123456789abcdef01234567abcdef0123`, dns_loopia_password = abcdef0123456789abcdef01234567abcdef0123`,
@ -327,7 +341,7 @@ dns_loopia_password = abcdef0123456789abcdef01234567abcdef0123`,
luadns: { luadns: {
display_name: 'LuaDNS', display_name: 'LuaDNS',
package_name: 'certbot-dns-luadns', package_name: 'certbot-dns-luadns',
package_version: '1.8.0', // version_requirement: '', // Official plugin, no version requirement
dependencies: '', dependencies: '',
credentials: `dns_luadns_email = user@example.com credentials: `dns_luadns_email = user@example.com
dns_luadns_token = 0123456789abcdef0123456789abcdef`, dns_luadns_token = 0123456789abcdef0123456789abcdef`,
@ -337,36 +351,50 @@ dns_luadns_token = 0123456789abcdef0123456789abcdef`,
netcup: { netcup: {
display_name: 'netcup', display_name: 'netcup',
package_name: 'certbot-dns-netcup', package_name: 'certbot-dns-netcup',
package_version: '1.0.0', version_requirement: '~=1.0.0',
dependencies: '', dependencies: '',
credentials: `certbot_dns_netcup:dns_netcup_customer_id = 123456 credentials: `dns_netcup_customer_id = 123456
certbot_dns_netcup:dns_netcup_api_key = 0123456789abcdef0123456789abcdef01234567 dns_netcup_api_key = 0123456789abcdef0123456789abcdef01234567
certbot_dns_netcup:dns_netcup_api_password = abcdef0123456789abcdef01234567abcdef0123`, dns_netcup_api_password = abcdef0123456789abcdef01234567abcdef0123`,
full_plugin_name: 'certbot-dns-netcup:dns-netcup', full_plugin_name: 'dns-netcup',
}, },
//####################################################// //####################################################//
njalla: { njalla: {
display_name: 'Njalla', display_name: 'Njalla',
package_name: 'certbot-dns-njalla', package_name: 'certbot-dns-njalla',
package_version: '1.0.0', version_requirement: '~=1.0.0',
dependencies: '', dependencies: '',
credentials: 'certbot_dns_njalla:dns_njalla_token = 0123456789abcdef0123456789abcdef01234567', credentials: 'dns_njalla_token = 0123456789abcdef0123456789abcdef01234567',
full_plugin_name: 'certbot-dns-njalla:dns-njalla', full_plugin_name: 'dns-njalla',
}, },
//####################################################// //####################################################//
nsone: { nsone: {
display_name: 'NS1', display_name: 'NS1',
package_name: 'certbot-dns-nsone', package_name: 'certbot-dns-nsone',
package_version: '1.8.0', // version_requirement: '', // Official plugin, no version requirement
dependencies: '', dependencies: '',
credentials: 'dns_nsone_api_key = MDAwMDAwMDAwMDAwMDAw', credentials: 'dns_nsone_api_key = MDAwMDAwMDAwMDAwMDAw',
full_plugin_name: 'dns-nsone', full_plugin_name: 'dns-nsone',
}, },
//####################################################// //####################################################//
oci: {
display_name: 'Oracle Cloud Infrastructure DNS',
package_name: 'certbot-dns-oci',
package_version: '0.3.6',
dependencies: 'oci',
credentials: `[DEFAULT]
user = ocid1.user.oc1...
fingerprint = xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx
tenancy = ocid1.tenancy.oc1...
region = us-ashburn-1
key_file = ~/.oci/oci_api_key.pem`,
full_plugin_name: 'dns-oci',
},
//####################################################//
ovh: { ovh: {
display_name: 'OVH', display_name: 'OVH',
package_name: 'certbot-dns-ovh', package_name: 'certbot-dns-ovh',
package_version: '1.8.0', // version_requirement: '', // Official plugin, no version requirement
dependencies: '', dependencies: '',
credentials: `dns_ovh_endpoint = ovh-eu credentials: `dns_ovh_endpoint = ovh-eu
dns_ovh_application_key = MDAwMDAwMDAwMDAw dns_ovh_application_key = MDAwMDAwMDAwMDAw
@ -378,7 +406,7 @@ dns_ovh_consumer_key = MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw`,
porkbun: { porkbun: {
display_name: 'Porkbun', display_name: 'Porkbun',
package_name: 'certbot-dns-porkbun', package_name: 'certbot-dns-porkbun',
package_version: '0.2', version_requirement: '~=0.2',
dependencies: '', dependencies: '',
credentials: `dns_porkbun_key=your-porkbun-api-key credentials: `dns_porkbun_key=your-porkbun-api-key
dns_porkbun_secret=your-porkbun-api-secret`, dns_porkbun_secret=your-porkbun-api-secret`,
@ -388,17 +416,17 @@ dns_porkbun_secret=your-porkbun-api-secret`,
powerdns: { powerdns: {
display_name: 'PowerDNS', display_name: 'PowerDNS',
package_name: 'certbot-dns-powerdns', package_name: 'certbot-dns-powerdns',
package_version: '0.2.0', version_requirement: '~=0.2.0',
dependencies: '', dependencies: '',
credentials: `certbot_dns_powerdns:dns_powerdns_api_url = https://api.mypowerdns.example.org credentials: `dns_powerdns_api_url = https://api.mypowerdns.example.org
certbot_dns_powerdns:dns_powerdns_api_key = AbCbASsd!@34`, dns_powerdns_api_key = AbCbASsd!@34`,
full_plugin_name: 'certbot-dns-powerdns:dns-powerdns', full_plugin_name: 'dns-powerdns',
}, },
//####################################################// //####################################################//
regru: { regru: {
display_name: 'reg.ru', display_name: 'reg.ru',
package_name: 'certbot-regru', package_name: 'certbot-regru',
package_version: '1.0.2', version_requirement: '~=1.0.2',
dependencies: '', dependencies: '',
credentials: `certbot_regru:dns_username=username credentials: `certbot_regru:dns_username=username
certbot_regru:dns_password=password`, certbot_regru:dns_password=password`,
@ -408,7 +436,7 @@ certbot_regru:dns_password=password`,
rfc2136: { rfc2136: {
display_name: 'RFC 2136', display_name: 'RFC 2136',
package_name: 'certbot-dns-rfc2136', package_name: 'certbot-dns-rfc2136',
package_version: '1.8.0', // version_requirement: '', // Official plugin, no version requirement
dependencies: '', dependencies: '',
credentials: `# Target DNS server credentials: `# Target DNS server
dns_rfc2136_server = 192.0.2.1 dns_rfc2136_server = 192.0.2.1
@ -426,7 +454,7 @@ dns_rfc2136_algorithm = HMAC-SHA512`,
route53: { route53: {
display_name: 'Route 53 (Amazon)', display_name: 'Route 53 (Amazon)',
package_name: 'certbot-dns-route53', package_name: 'certbot-dns-route53',
package_version: '1.8.0', // version_requirement: '', // Official plugin, no version requirement
dependencies: '', dependencies: '',
credentials: `[default] credentials: `[default]
aws_access_key_id=AKIAIOSFODNN7EXAMPLE aws_access_key_id=AKIAIOSFODNN7EXAMPLE
@ -437,29 +465,30 @@ aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY`,
transip: { transip: {
display_name: 'TransIP', display_name: 'TransIP',
package_name: 'certbot-dns-transip', package_name: 'certbot-dns-transip',
package_version: '0.3.3', version_requirement: '~=0.3.3',
dependencies: '', dependencies: '',
credentials: `certbot_dns_transip:dns_transip_username = my_username credentials: `dns_transip_username = my_username
certbot_dns_transip:dns_transip_key_file = /etc/letsencrypt/transip-rsa.key`, dns_transip_key_file = /etc/letsencrypt/transip-rsa.key`,
full_plugin_name: 'certbot-dns-transip:dns-transip', full_plugin_name: 'dns-transip',
}, },
//####################################################// //####################################################//
vultr: { vultr: {
display_name: 'Vultr', display_name: 'Vultr',
package_name: 'certbot-dns-vultr', package_name: 'certbot-dns-vultr',
package_version: '1.0.3', version_requirement: '~=1.0.3',
dependencies: '', dependencies: '',
credentials: 'certbot_dns_vultr:dns_vultr_key = YOUR_VULTR_API_KEY', credentials: 'dns_vultr_key = YOUR_VULTR_API_KEY',
full_plugin_name: 'certbot-dns-vultr:dns-vultr', full_plugin_name: 'dns-vultr',
}, },
//####################################################// //####################################################//
desec: { websupportsk: {
display_name: 'deSEC', display_name: 'Websupport.sk',
package_name: 'certbot-dns-desec', package_name: 'certbot-dns-websupportsk',
package_version: '0.3.0', version_requirement: '~=0.1.6',
dependencies: '', dependencies: '',
credentials: `certbot_dns_desec:dns_desec_token = YOUR_DESEC_API_TOKEN credentials: `dns_websupportsk_api_key = <api_key>
certbot_dns_desec:dns_desec_endpoint = https://desec.io/api/v1/`, dns_websupportsk_secret = <secret>
full_plugin_name: 'certbot-dns-desec:dns-desec', dns_websupportsk_domain = example.com`,
full_plugin_name: 'dns-websupportsk',
}, },
}; };